我裝了kernel-source之后,編譯自己的helloworld模塊,發現有如下的錯誤:
chesnee6:/home/bye/modules # make -C /usr/src/linux/ SUBDIRS=$PWD modules
make: Entering directory `/usr/src/linux-2.6.5-7.139'
Makefile:438: .config: No such file or directory
WARNING: Symbol version dump /usr/src/linux-2.6.5-7.139/Module.symvers is missing, modules will have CONFIG_MODVERSIONS disabled.
CC [M] /home/bye/modules/hello-1.o
/bin/sh: line 1: scripts/basic/fixdep: No such file or directory
make[1]: *** [/home/bye/modules/hello-1.o] Error 1
make: *** [_module_/home/bye/modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.5-7.139'
這時候需要到/usr/src/linux/下運行一下make menuconfig,不改任何配置出來并保存配置,它就會根據當前平臺把對應平臺的默認配置copy為.config文件,并生成一下文件。
這時候編譯helloworld模塊發現剛才的錯誤已經消失,不過還是有如下的錯誤:
/bin/sh: line 1: scripts/modpost: No such file or directory
make[1]: *** [__modpost] Error 127
make: *** [modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.5-7.139'
我上網查了一下,發現還需要運行make modules_prepare。然后再編譯helloworld模塊就可以通過了。