按照书上写的把hello.c和Makefile写好,编译后没有报错但没有生成hello.ko文件。如下:
bash-3.1# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/root/ldd3/hello modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
和正确的编译信息比较:
发现少了下3两行:
CC [M] /MyDir/hello.o
CC /MyDir/hello.mod.o
LD [M] /MyDir/hello.ko
问题已经解决了。应该是Makefile的问题,重新把Makefile写了一遍就好了。
bash-3.1# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/root/ldd3/hello modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
和正确的编译信息比较:
[root@localhost MyDir]# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/MyDir modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
CC [M] /MyDir/hello.o
Building modules, stage 2.
MODPOST
CC /MyDir/hello.mod.o
LD [M] /MyDir/hello.ko
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
发现少了下3两行:
CC [M] /MyDir/hello.o
CC /MyDir/hello.mod.o
LD [M] /MyDir/hello.ko
问题已经解决了。应该是Makefile的问题,重新把Makefile写了一遍就好了。