我想編譯一個「Hello world」linux kernel module
編程Fedora 14
。 我的內核版本是「2.6.35.14-97.fc14.i686
」,我指的是make文件中的/lib/modules/$(shell uname -r)/build M=$(PWD)
模塊來編譯我的hello.o
程序。Linux內核模塊編程Makefile錯誤
此「生成」文件顯示它爲特殊文件並鏈接到/lib/module/2.6....i686/
文件夾中的源文件。
當我編譯我的代碼獲取低於錯誤。
make -C /lib/modules/2.6.35.14-97.fc14.i686/build M=/root/kernel modules
make: *** /lib/modules/2.6.35.14-97.fc14.i686/build: No such file or directory. Stop.
我Makefile
:
obj-m +=hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
請給我的解決方案來運行這個模塊程序。
消息是很清楚...有沒有'build'目錄,或父迪爾斯的至少一個(/ lib目錄,/ lib/modules目錄,/ lib中/ modules/2.6 ...)缺失。 –
檢查你的/ lib/modules/*目錄。可能不是'2.6.35.14-97.fc14.i686' ...對於Ubuntu,它是'3.5.0-22-generic',不知道Fedora。 – Veger
你的系統中是否安裝了kernel-devel或類似的軟件包? – Xeor