因為研究需求,剛踏 Linux Device Drivers 的領域,
http://lwn.net/Kernel/LDD3/ 可下載免費的 PDF 檔。
今天終於把第一個 hello world 的範例給試出來了,
把遇到的問題和大家分享一下。
剛開始照 LDD3 的書建了一個 Makefile,
======================================
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR)
M=$(PWD) modules
endif
=======================================
不過執行時出現了下面的訊息,
make: Nothing to be done for `default'.
後來上網查,在 $(MAKE) 前面加個 tab 就行 ( 我原本用 space )。
另外 insmod 或 rmmod 時應該會出現的字串,
如果是遠端操作的話,可能不會顯示出來,
可以打 dmesg 來顯示。
沒有留言:
張貼留言