阅 读 文 章

在RedHat linux 8.0下完整详尽的内核编译步骤和说明

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]


***********************************************************************
*以下步骤有很多都是很初级的命令或解释,因为偶是linux新手,
*在编译过程中走了很多弯路,花了大量时间找各种解决办法,所以
*把相应的命令都写了出来,希望对跟偶一样的才入门不久而又想
*编译内核的新手有所帮助!
*
* kilvon 05-Mar-2003
**********************************************************************

基本编译情况说明:偶目前的版本是: RedHat linux 8.0
(机器有双操作系统:linux和windows 2000)
内核版本是 2.4.18-14,硬件是笔记本compaq 的某一型号,
下载的内核版本是2.4.20(在www.kernel.org上可以找到),
推荐编译内核时使用高版本,而不是在以前的版本上编译,
原因见第7.1步的说明

在编译开始前,建议先在windows下用相关软件对硬件做一个
详细统计,包括硬件类型,厂家,芯片版本等等,特别是笔记本
和品牌机,因为二者很多部件都是OEM其它厂家的,并把它打印
出来以供配置内核时使用.(linux下也可以用:系统工具->
硬件浏览器来查看)

另外建议在身旁准备几张纸和笔,随时把你认为重要的信息记下来,
当然包括错误信息了,以帮助以后判断和解决问题.

1.将内核源码包linux-2.4.20.tar.bz2 copy至/usr/src目录下:
#cp linux-2.4.20.tar.bz2 /usr/src
#cd /usr/src

2.将指向以前内核版本的symbol link删除
#rm -f linux-2.4

3.用以下命令解开压缩包
#bzip2 -d linux-2.4.20.tar.bz2
#tar -xvf linux-2.4.20.tar

4.创建新的symbol link以链接到刚解开的源码所在目录
#ln -s linux-2.4.20 linux-2.4

5.进入到以后编译时用的工作目录虾:
#cd /usr/src/linux-2.4

6.该命令保证源代码目录下没有不正确的.o文件(即object文件,编译c语
言时生成的,目的是下一步编译成可执行码时link之用)以及文件的相互
倚赖关系.第一次编译刚下载的源码包不用此命令,但如果多次使用这
些源码编译内核,那么一定要先运行本命令.
#make mrproper

7.为了不影响已经可用的内核(比如安装linux时装入的内核),现在需要
保存以前的可用的内核(以使得编译失败仍然可以"方便的"启动linux),
并且我们要对本次编译的内核标识一个容易辨认的标记,以下几步与
编译暂时无关.

7.1偶使用grub作为boot manager,所以要修改grub.conf文件,
#cp /boot/grub/grub.conf /boot/grub/grub.conf.bck
(建议有条件打印一份原始的grub.conf文件,原因见第7.4步)
#emacs /boot/grub/grub.conf
(emacs小提示: ctrl+ x +s 为保存结果,ctrl + x +c为关闭emacs,
删除n行文字为:先把光标放在要删除文字的起始处 ctrl + u,然后敲入要
删除的行数,比如4,最后ctrl + k)

下面是偶的grub.conf内容:
default=1
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz
title Psyche (2.4.18-14 standard)
root (hd0,6)
kernel /vmlinuz-2.4.18-14.standard ro root=/dev/hda8
initrd /initrd-2.4.18-14.standard.img
title Windows 2000
rootnoverify (hd0,0)
chainloader +1

注意kernel...和initrd...两条语句,因为要与以下改动对应:
#rm -f /boot/System.map
#rm -f /boot/vmlinuz
#cp /boot/System.map-2.4.18-14 /boot/System.map-2.4.18.standard
#ln -s /boot/System.map-2.4.18.standard /boot/System.map
#cp /boot/vmlinuz-2.4.18-14 /boot/vmlinuz-2.4.18-14.standard
#ln -s /boot/vmlinuz-2.4.18-14.standard /boot/vmlinuz
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 编译 步骤 说明 详尽 完整 support 内核 支持 可以 使用

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.