LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3441|回复: 6

只编译内河里面的一个模块的方法。:D

[复制链接]
发表于 2002-12-5 09:27:15 | 显示全部楼层 |阅读模式
我看到很多版上豆油兄弟问这个问题,我在这里解释一下。我想对于天天和内河打架的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 :)
发表于 2002-12-5 10:00:37 | 显示全部楼层
嗯,好文章啊!
发表于 2003-2-6 23:03:52 | 显示全部楼层
不错.
不过其实只要下对应的头文件就够了.方法类似.
 楼主| 发表于 2003-2-7 00:29:26 | 显示全部楼层
下对应的H文件?具体是。。?

我的意思是你怎么知道用哪个H,不用哪个呢?
发表于 2003-2-7 08:06:48 | 显示全部楼层
在IBM的网站上也有一篇只编译一个模块的文章。
发表于 2003-2-7 12:28:32 | 显示全部楼层
最初由 doooom 发布
下对应的H文件?具体是。。?

我的意思是你怎么知道用哪个H,不用哪个呢?

头文件相当于源码的简化,就只包含了一个 include 目录,而我们有是编译额外的模块,如果已经有模块源码,那么就只需头文件了.
Debian 下叫一下名字:
apt-cache search kernel-headers
apt-cache search kernel-build
用这些命令能搜索到.

当然有的时候是必须要内核源码的. xixi
发表于 2003-2-7 15:27:46 | 显示全部楼层
头文件大多是宏和数据结构的定义,最多有一些inline的函数,通常都是需要源代码才可以编译的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表