只编译内核里面的一个模块的方法

作者: ming 2006-03-21 00:31:43
此文应该对不想为了一个模块而编译全部模块的兄弟姐妹有一定帮助
感谢 dooom 兄辛苦实践
---------------------------------------------------------------------
只编译内核里面的一个模块的方法。:D

我看到很多版上都有兄弟问这个问题,我在这里解释一下。我想对于天天和内核打交道的DIYers来说应该非常有用。

具体做法如下。
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

其他模块的编译照猫画虎就可以了。

GOOD LUCK :)

相关资讯