linux编译内核详细配置说明

上传人:ji****en 文档编号:107672684 上传时间:2019-10-20 格式:DOCX 页数:29 大小:70.11KB
返回 下载 相关 举报
linux编译内核详细配置说明_第1页
第1页 / 共29页
linux编译内核详细配置说明_第2页
第2页 / 共29页
linux编译内核详细配置说明_第3页
第3页 / 共29页
linux编译内核详细配置说明_第4页
第4页 / 共29页
linux编译内核详细配置说明_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《linux编译内核详细配置说明》由会员分享,可在线阅读,更多相关《linux编译内核详细配置说明(29页珍藏版)》请在金锄头文库上搜索。

1、现在流行的ODL(only disk linux)中做内核部分,那些文章不介绍此点内容。我正在做 ,完工后整理资料。 BY THE WAY ,想成为LINUX高手吗?你需要熟练掌握KERNEL COMPILE 、XCONFIGRATER 、LINUXCONFIG、 SAMBA四大利器,你随时可以找到后三者的大量相关资料,但内核编译 就只好啃为数不多的英文了。 笔者耗时3月,搜集并整理大量资料,在儿童节前连续工作18个小时后,给小企鹅送了这 份礼物。 笔者自信是目前为止KERNEL编译方面最完备的中文资料(将不断翻译补充),这可是毕 业论文哪! 为什么要放网上呢?首先找这方面资料太难了,文章对各

2、位LINUX爱好者会有所帮助。其 次,取之于网用之于网。 欢迎使用这篇文章,请随便引用,这才符合LINUX自由软件的精神嘛,不过别忘了提提我 的名字,就算为我的辛苦付了点稿酬。 介于内核方面资料较少,欢迎在这篇文章中添加和修改内容,但不要过多删除,笔者列 表要加入你的名字,让我们为把它变成数百页的资料而努力。OK,交个朋友吧, 我是玉 玉安,email : 目录 序言 第一章 内核编译的基础 第一节内核简介 第二节内核版本 第三节编译原因 第四节准备工作 第二章 内核编译的流程 第一节编译开始 第二节配置内核 核心内容 1.代码成熟等级 2.处理器类型和特色 3.对模块的支持 4.基本的选择

3、5.即插即用支持 6.块设备支持 7.网络选项 8.电话支持 9.SCSI设备的支持 10.I2O接口适配器 11.网络设备支持 12.配置业余无线广播 13.红外支持 14.ISDN的文件系统 15.旧型光驱类型(非IDE界面的光驱) 16.字符设备 17.USB支持 18.文件系统 19.控制台驱动 20.声卡驱动 21.Kernel hacking 第三节编译内核 第四节启用内核 附录:LILO分析 第三章 内核编译的应用 第一节嵌入式Linux技术 第二节你的Linux有多大(及实践结果) 结束语 参考文献 序言 近几年,linux大行其道,令不满windows蓝屏的使用者跃跃欲试,结

4、果发现linux安装不 及windows方便,界面不及windows友好,配置不及windows容易,软件不及windows丰富 ,以至浅尝辄止。 其实, Linux有windows无可比拟的两个优势:网络应用和嵌入式技术,这也正是未来最 有前途的方向。同时此课题是从理论上设计具有嵌入式Linux操作系统器件的重要组成部 分。 如要涉足这两个方面,就必须对内核有深刻理解。当然,您可以从源代码入手,但前提 是您拥有程序设计和操作系统等多方面专业知识,否则,就利用现成的Linux kernel从 编译内核开始吧。不幸的是,内核编译方面的资料匮乏。以上两个原因使我写这篇论文 成为必要。我可以自信得说

5、,这是目前最详尽的内核编译方面的中文资料。 值得一提的是,我在搜集翻译资料的过程中,获得了操作系统、程序设计、硬件设备、 网络通信等各方各面的知识,极大的拓宽了视野,真正学有所获。 感谢所有为Linux发展作出贡献的人,感谢所有Linux中文网站为促进Linux在中国的发展 作出的不懈努力,他们是我搜集资料的来源。 特别感谢我的指导老师官伯然教授和高斌博士,正是他们的辛勤指导让我顺利完成 毕业设计。 西电科大 :李玉元 2001/6/1 备注:#-后跟小的选项 #-后还有更细选项 注意-上机实践结果 第一章 内核编译的基础 第一节 内核简介 内核,是一个操作系统的核心,它负责管理系统的进程、内

6、存、设备驱动程序、文件和 网络系统,决定着系统的性能和稳定性。 就好比DOS下的IOSYS和MSDOSSYS一体,我 们可以把这两个文件叫做DOS的核心。Linux也有它的核心,通常在根目录下,一个叫vm linuz的文件。我们用这个文件来控制我们的整台PC,包括周边设备和软硬磁盘机、CD ROM、声卡等。简单地说,核心就是操作系统本身。没有了它,就像一个无人住的家,没 有人去维持这个家的动作。一个安定的家需要一个很用心已能当机立断的主人:一部电 脑也需要很有效率已稳定的核心,也就是操作系统。因此,核心是整个系统维持下去的 关键。 Linux的一个重要的特点就是其源代码的公开性,所有的内核源程

7、序都可以在/usr/src/ linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程序代 码。任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明 显的好处就是Linux修补漏洞的快速以及对最新软件技术的利用。而Linux的内核则是这 些特点的最直接的代表。 想象一下,拥有了内核的源程序对你来说意味着什么?首先,我们可以了解系统是如何 工作的。通过通读源代码,我们就可以了解系统的工作原理,这在Windows下简直是天方 夜谭。其次,我们可以针对自己的情况,量体裁衣,定制适合自己的系统,这样就需要 重新编译内核。在Windows下是什么情况呢?相信很

8、多人都被越来越庞大的Windows整得 莫名其妙过。再次,我们可以对内核进行修改,以符合自己的需要。这意味着什么?没 错,相当于自己开发了一个操作系统,但是大部分的工作已经做好了,你所要做的就是 要增加并实现自己需要的功能。在Windows下,除非你是微软的核心技术人员,否则就不 用痴心妄想了。 先介绍一下编译核心的选项,希望能对大家消除对内核的神秘感有所帮助。 1.代码成熟等级 2.处理器类型和特色 3.对模块的支持 4.基本的选择 5.即插即用支持 6.块设备支持 7.网络选项 8.电话支持 9.SCSI设备的支持 10.I2O接口适配器 11.网络设备支持 12.配置业余无线广播 13.

9、红外支持 14.ISDN的文件系统 15.旧型的光驱类型(非IDE界面的光驱) 16.字符设备 17.USB支持 18.文件系统 19.控制台驱动 20.声卡驱动 21.Kernel hacking 第二节 内核版本 由于Linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布 给他人使用。Linux的开发采用的是集市模型(bazaar,与cathedral-教堂模型-对应 ),为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。一个树是稳 定树(stable tree),另一个树是非稳定树(unstable tree)或者开发树(developm en

10、t tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所 做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同 的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在 源程序的版本号中;源程序版本号的形式为x.y.z:对于稳定树来说,y是偶数;对于开 发树来说,y比相应的稳定树大一(因此,是奇数)。确定是以 root 的身份签入, 然后cd 到 /usr/src 。uname -r 这个指令将会显示版本。内核版本的更新可以访问。 第三节 编译原因 Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修

11、订了 旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的 系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。 通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳 定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是 Linux使用者的必要操作内容。 为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主 要有下面四个考虑: -自己定制编译的内核运行更快(具有更少的代码) -系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中) -不需要的功能编译进入内核可能会增加被系统攻击者利用的漏

12、洞 -将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些 以上是针对成熟的Linux套件如Redhat Linux而言,我的目的是为建造嵌入式Linux操作系 统做准备,也是必由之路。 第四节 准备工作 第一部分 新版本内核的获取和更新 Linux内核版本发布的官方网站是,国内各大ftp上一般都可 以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另 外一种是patch文件,即补丁。完整的内核版本比较大,比如linux-2.4.0-test8.tar.b z2就有18M之多。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别 是使用gz

13、ip或者bzip2进行压缩的文件,使用时需要解压缩。patch文件则比较小,一般 只有几十K到几百K,极少的会超过1M。但是patch文件是针对于特定的版本的,需要找到 自己对应的版本才能使用。 编译内核需要root权限。把需要升级的内 拷贝到/usr/src/下(下文中以2.2.16的内核 的linux-2.2.16tar.gz为例),命令为 #cp linux-2.2.16tar.gz /usr/src 先查看当前/usr/src的内容,注意到有一个linux的符号链接,它指向一个类似于linux -2.2.14(对应于现在使用的内核版本号)的目录。首先删除这个链接: #cd /usr/src #rm -f linux 现在解压下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,使用命令: #tar -xzvf linux-2.2.16tar.gz 如果下载的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令 #bzip2 -d linux-2.2.16tar.bz2 #tar -xvf linux-2.2.16tar 现在再来看一下/usr/src下的内容,发现现在有了一个名为linux的目录,里面就是需要 升级到的版本的内核的源程序。还记得那个名为linux的链接么?之所

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号