whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2151回复:16

裁减linux内核,是什么概念?

楼主#
更多 发布于:2002-11-15 11:36
怎么裁减呢?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-15 11:41
去掉你不需要的设备。比如scsi什么的。
因为嵌入式设备的容量有要求,比如 flash,sdram都小,所以要把linux内核编小。
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-15 11:44
对linux框架不是和明了,内核是不是以module形式存在,需要的时候加载(用什么函数),不用的时候卸载掉(用什么函数);
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-15 11:47
加载驱动有2种方法,1,进内核。
2,module.
如果用module就可以insmod *.o
否则在刚开始就把驱动加进内核了。

unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-15 11:48
忘了你问的了:
加载用insmod
卸载用rmmod
察看你是否加载lsmod


给分给分。 :D :D
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-15 11:59
我会给分数的:而且肯定超过20分。
加载驱动有2种方法,1,进内核。
2,module.
如果用module就可以insmod *.o
否则在刚开始就把驱动加进内核了。
能谈的具体点吗?怎么进去内核。

裁完内核怎么放到linux上。
裁减内核是编程实现还是用开发工具搞定???





 
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-15 12:09
采用哪种方式取决你的驱动程序。
你可以找个驱动程序看看。
一般驱动程序都有init函数。
如果函数前这样:
__init init_module()
说明编入内核。当然你的makefile里要加上,否则系统不会编的。
如果函数是 :
init_module()
没有 “__”,说明只编了一个.o文件,需要你insmod *.o
才可以。
不知道你说的是pc机还是嵌入式。
内核就是linux的一部分。用新内核启动系统就行了阿。

裁减内核是一个力气活,不需要编程序,也没有工具。
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-15 12:35
是嵌入式的。insmod 是shell命令吗?还有,我怎么知道这个内核是给声音驱动,和网络驱动的。内核的文件名是是什么???是*.o
吗?如果是,那么声音驱动对应着的内核心对应着什么名字呢?

强烈推荐你做这个版主 :D :D
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-15 12:35
这里的写Makefile和变成的Makefile一样吗?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-15 13:08
insmod 命令是shell命令。
其实采用编入内核或者写成模块都无所谓的。你是设计者,当然你说了算。不过一般嵌入式的东西都是直接写入内核。
你可以理解windows的驱动程序都是模块形式。我只的是后加入的卡,你不是要安装驱动程序吗,是吧。
而嵌入式则不会给用户安装驱动的机会。
核的文件名是是Image.gz或者xxx.gz
无所谓的。但不是.o.
如果采用模块,则.o
如果采用内核,则已经被编入Image.gz里了,启动时自动加载。
所说的makefile都一样。


 :(声望低,当不上版主。多谢支持。
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-15 13:51
兄台,能否发一个裁减内核的Makefile给我看看。
wx@i-net.com.cn谢谢。我马上结帐。
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-11-15 14:28
每个人的makefile是不同的。给你讲个简单的例子:
比如你的linux现在选择了net,sound,scsi,3个设备。
那么假设makefile是:
obj-y=net.o sound.o scsi.o
意思是把他们编进内核。这个内核可能500k.
现在你要裁减内核,比如你没有scsi设备,你肯定不要他了,
你可以在make menuconfig里把scsi选项去掉,
这时候你的makefile会把scsi.o去掉。
如:obj-y=net.o sound.o
新内核一定会变小。
这就是裁减的过程。当然,我没有和你讲涉及config配置的东西,因为怕你听乱了。


qzhqzh
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望23点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-11-15 14:32
用户被禁言,该主题自动屏蔽!
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-11-15 14:44
我的同事告诉我不需要自己写Make,正如qzhqzh兄台
所说的那样。
然后还告诉我先学怎么裁内核。
我都搞乱了。难道他的裁是指把有关的代码删除???困惑!

[编辑 -  11/15/02 by  whutxuan]
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-11-15 14:54
因为你最开始问的是makefile,不是裁减内河阿。
如果你有linux源代码的话,会看到很多makefile.
你还是先make menuconfig看看吧。这样能熟悉内核。先会配置,然后才能裁减。
实际上你不需要改动makefile.
只要在make menuconfig里配置就能达到目的。
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-11-15 15:02
有没有什么书可以参考的?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-11-15 15:09
很多啊。或者你到专业的linux网站去,讲内核的多的是。
比如www.linuxeden.com
www.linuxaid.com
.......
游客

返回顶部