红联Linux门户
Linux帮助

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

发布时间:2006-03-21 00:31:43来源:红联作者:ming
此文应该对不想为了一个模块而编译全部模块的兄弟姐妹有一定帮助
感谢 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 :)
文章评论

共有 2 条评论

  1. strangk 于 2009-06-15 15:08:50发表:

    最好是原创~~~

  2. huohuliaisili 于 2007-09-09 21:21:34发表:

    感谢楼主的好帖。
    请问这篇文章是楼主原创并手敲的吗?
    最初看到这篇文章可是2002年耶 。请问楼主 02-12-05, 09:27 的时候在做什么?