- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译内核的一点点经验
编译内核的一点点经验 ???????????????????????????????????????? 原作者:RICK最开始听说编译核心时都吓了一跳, 心想LINUX那么可怕, 一上来就是要自已编译核心...后来自己试了一下, 其实也不复杂, 主要是找些文档来看就行了.1.核心的源程序:我现在在用TLC, REDHAT也用过, SLACKWARE也用过. 无论哪一种, 都是把核心源程序放到 /usr/src/linux 下, 因为有些别的应用程序在编译时好像也会从这个路径来引用一些头文件之类. 一般来说这个 linux 目录都只是个符号连接, 有一点点像WIN下的Shortcut, 而实际上它对应的目录可能是 /usr/src/linux-2.0.35 之类. RedHat的缺省安装好像并不装源程序, 只有些头文件.以现在的2.2.5 核心为例, 我装的时候就是这样(其实什么版本都一样 :)cd /usr/srcrm linux# 这个linux只是个符号连接, 删掉它没事的. 可以 ls -l 看看, 如果看到这个:# linux - linux-XXXXX, 就表示它是个连接而已. 原来的源程序在箭头后的目录.tar zxvf XXXXXXX/linux-2.2.5.tar.gz# 这个包解开后, 新核心的源程序就放在了新建立的linux目录下, 这可是个货真价# 实的目录.mv linux linux-2.2.5ln -s linux-2.2.5 linux# 按照惯例, 还是把目录另命个名, 再重新做个linux的符号连接好了, 现在源程序放好了.2.准备编译:现在要做一些准备工作. 对于新释放出来的核心源程序也没啥好做的, 就打一个:cd /usr/src/linuxmake menuconfig然后就会看到一个很友好的界面(在LINUX下...已经是很友好的了), 大致上有点像WIN 9X安装时的选择安装项目. 这就是在配置核心, 选择哪些内容要, 哪些不要.慢慢道来:Code maturity ......按回车进去后只有一项, 是问是否在后面的选项中列出开发中/或未完成的代码/驱动程序. 不管它, 不选它就行了Processor type ......选择CPU类型, 进去后有四项:Processor family: 按回车, 在里面选CPU类型(我不懂为什么把PPro和6x86MX列在一起);Math emulation: 协处理器仿真, 当然不选(你不会还在用没有FPU的386吧);MTRR: 搞不懂 :PP, 不管它, 缺省是不选的;Symmetric......: 如果你富到有两个或以上的CPU并且装在同一块主板上, 就选;Loadable module support:对模块的支持. 模块可是好东西, 网卡声卡的驱动问题很多朋友都在问, 有模块其实很好办. 这里面有三项:Enable loadable .....: 当然要选;Set version.....: 好像是为了使核心可以装入不同版本的模块, 可以不选它;Kernel module.....: 让核心在启动时有自己装入必需模块的能力, 选上吧;General setup:里面东西不少, 我的办法是一项也不改, 用缺省的;Plug and Play........:著名的Plug and Pray, 嘿嘿. 选上吧;Block devices:选择某些设备驱动, 按缺省的不变就可以了(如果你没有什么过于古旧的设备如IDE卡的话), 不过我是把CMD640及RZ1000两项去掉, 因为我不认得它们, 它们也不认得我. 还有就是不妨把 Loopback device 也加上, 做成核心内包含或模块都可以.现场解释:在每一个选项前都有个括号, 但有的是中括号有的是尖括号. 用空格键选择时可以发现, 中括号里要么是空, 要么是*, 而尖括号里可以是空, *和M. 这表示前者对应的项要么不要, 要么做在核心里; 后者则多一样选择, 可以做成模块.模块: 我的直观理解是, 模块就是像*.SYS那样的驱动程序, 可以在核心启动后加载,能有效减小核心尺寸, 并有更多的灵活性. 关于灵活性, 后面再说.Networking options:主要是有关TCP/IP的设置. 一般机器用缺省的就行了, 别的如果要作防火墙啊路由什么的可以自己选, 我没选过, 不敢乱说 :PP;SCSI support:我是没有SCSI设备的, 所以我一项也不选. 你有吗? 不妨把你要的都做成模块,这样内核会比较小. 像16.8就选
原创力文档


文档评论(0)