2
我無法編譯Linux內核模塊,如何編譯Linux內核模塊
鑑於以下來源:
/* hello.c */
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk(KERN_INFO "Hello world\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world\n");
}
/* end of hello.c */
和下面的Makefile:
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
當我在與源文件和make文件在同一個目錄中輸入make,我得到以下消息:'沒有爲'all'完成 編譯似乎在此停止,並且沒有創建目標文件。
現在只是用於測試,我嘗試了新的簡單的Makefile: TARGET:=你好 $ {TARGET}的.o:$ {TARGET} .C
運行make給了我新的錯誤:hello.c中:1:致命錯誤:linux/module.h:沒有這樣的文件或目錄。
然而,這文件的文件夾中可以找到:
/usr/src/linux-headers-2.6.35-22/include/linux
以及在
/usr/src/linux-headers-2.6.35-22-generic/include/linux
因爲是kernel.h當文件
我缺少什麼,什麼想法?
在此先感謝
LOL!感謝gby!這解決了它。在那裏試圖找出那一天:) – eJm 2012-01-31 11:09:57