设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> Linux >> 编译你自己的Linux内核
精品推荐
Linux点击TOP10
·Linux下安装LumaQQ
·口袋里的Linux:在您的U盘上运行SLAX
·Linux命令Man解释:PPPD(8) :点对点daemon协议
·虚拟网络计算工具VNC使用指南
·Linux系统中如何正确安装摄像头驱动
·Linux 核心--4.内存管理
·Linux 内核文件系统与设备操作流程分析
·Ethernet HOWTO Linux以太网-HOWTO (4)型号的信息
·Linux精彩桌面 GNOME桌面主题安装实例
·Linux下Flash/Shockwave播放器安装
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

编译你自己的Linux内核

作者: 来源:网络文章 时间:2005-12-13 0:44:34

编译你自己的Linux内核(1) 一、引言:
本文档的内容大部份内容都是从网上收集而来,然后配合一些新的截图(内核版本:V2.4.19)。在每一配置项后会有一个选择指南的部份,用来指导大家怎么样根据自己的情况来做相应的选择;还有在每一个大项和文档的最后会有一个经验谈,它是一些高手们在应对问题和处理特有硬件时的一些经验(这个还得靠各位)。文档最后会发到网上,到时会根据网友们的回复随时进行更新。
我们的目的是让我们有一个全面的、简单明了内核编译帮手。

[注:]
请大家能够发表自己的经验和想法,使本文能够不断充实!但是最好不要发一些从网cp过来的没有经过自己实践的文章!

二、配置内核:

1.Code maturity level options:代码成熟等级。
1.1.prompt for development and/or incomplete code/drivers.
如果要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些bugs。这个问题是说,有一些drive还在做测试中,问您是否要选择这些drive或支持的程序码。如果键入Y,往后将会出现一些还在测试中的东西给您做选择。(像Java的程序码和PCI bridge),台则就键入N。

经验谈:

2.Loadable module support:对模块的支持。
预备知识:
模块就像你特意插入核心中的某些东西,如果办公室有一个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。使用这个模块,机器必运行和存取/libs下的模块,意思是驱动程序(IDE,SCSI等但必须是NFS支持的网卡),文件系统(通常是ext2但也可以是nfs)和核心类型(最好是elf)必须编译在内核并且不能是模块,模块只有核心引导时才起作用,驱动程序(来网络)的存取,和文件系统安装。这些文件必须编译在核心内否则将能安装启动分区。如果安装启动分区和网络,你需要网络系统文件,和己经编译的网卡。为什么要使用模块? 模块化使核心变的更简捷,它减少核心释放大量的受保护的空间。模块的安装和卸载使用的空间是可重复分配利用的。如果你打开机器有90%以上的时间用到一个模块,编译它。运用这类模块是浪费内存的,原因是一旦你编译了模块它们同样将占用大量的内存,核心需要一些代码来挂上模块。记住,核心在保护空间运行,但模块并不是。这么说,并不经常使用我的设备,把它编译成只支持ext2,ide和elf。而一直使用的网卡,把其它的编译成模块:如a.out, java, floppy, iso9960, msdos, minix, vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它们许多只是在这或那用上那么几分钟。严格的说,这样做会使核心增大许多而降低它的执行速度。这时我们就可以把这些可能会用的驱动程序编译成一个—个的模块,在需要用的时候才用insmod这个指令加入核心,不用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。
2.1.Enable loadable module support.
除非准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。
2.2.Set version information on all module symbols.
通常,我们更新核心版本之后,模块耍重新的编译。这个选项使您不必更新编译模块而能使用以前的模块。可以不选它。但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令查看有无此程序)。
2.3.Kernel module loader.
让内核在启动时有自己装入必需模块的能力,建议选上。注意:在开机就会 mount 上来的 partition 的 FS 、device driver 记得要 compiler 进 kernel,不能把它弄成 modules。请不要夸张到为了完全模组化而忘了把ext2fs和IDE dirver compiler 进 kernel 里。

共11页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [118 :>

编译你自己的Linux内核 相关文章:
编译你自己的Linux内核 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com