1
只是爲了一些例子擴大,現在的問題是: 鑑於以下來源:如何在Linux Ubuntu中編譯驅動程序/內核模塊?
/* 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,而在相同的目錄源和製作文件,我得到的消息:'沒有什麼可以爲'全部' 編譯似乎停在這裏,沒有目標文件被創建。
現在只是用於測試,我嘗試了新的簡單的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當文件
我缺少什麼,什麼想法?
在此先感謝
您至少需要內核源代碼才能獲取所需的頭文件... – 2012-01-28 21:50:12
注意:完整的源代碼不需要;構建環境(包括Makefiles,Kconfigs,scripts /和某些目錄中的.h文件)就足夠了。 – 2012-01-28 23:35:37
嘗試:http://fsmsh.com/1238 – 2012-02-13 06:02:51