只编译内核里面的一个模块的方法(转)
时间:2009-04-24 来源:qingruotianlan
具体做法如下。
1。解压缩内核。如:
tar -zxvf kenerl-source.tar.gz
2。进行CONFIGURE设定。
make menuconfig
(MAKE XCONFIG经常不正常工作,这个文本格式的没有问题。)
3。建立依赖关系。
make dep
4。编译一个内核模块。
例如我们要编译SCYLD这个驱动。进入SCLYD源码的目录。
cd /usr/src/linux/scyld
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ -O3 -c 3c59x.c
or
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ \
-Wall -Wstrict-prototypes -O3 -c 3c59x.c
or
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ \
-Wall -Wstrict-prototypes \
-include/usr/src/linux/include/linux/modversions.h -DMODVERSIONS -O3 -c 3c59x.c
如果你遇到VERSION。H的错误,时时这个:
cd /usr/src/linux, make include/linux/version.h
其他模块的编译照猫画虎就可以了。
1。解压缩内核。如:
tar -zxvf kenerl-source.tar.gz
2。进行CONFIGURE设定。
make menuconfig
(MAKE XCONFIG经常不正常工作,这个文本格式的没有问题。)
3。建立依赖关系。
make dep
4。编译一个内核模块。
例如我们要编译SCYLD这个驱动。进入SCLYD源码的目录。
cd /usr/src/linux/scyld
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ -O3 -c 3c59x.c
or
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ \
-Wall -Wstrict-prototypes -O3 -c 3c59x.c
or
gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include/ \
-Wall -Wstrict-prototypes \
-include/usr/src/linux/include/linux/modversions.h -DMODVERSIONS -O3 -c 3c59x.c
如果你遇到VERSION。H的错误,时时这个:
cd /usr/src/linux, make include/linux/version.h
其他模块的编译照猫画虎就可以了。
相关阅读 更多 +