LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1636|回复: 6

分享FC2下编译内核2.6.11.8经验

[复制链接]
发表于 2005-5-18 22:35:24 | 显示全部楼层 |阅读模式
(双系统XPSP2+FC2  WIN下的grub引导 --kernel-2.6.5-1.358  to kernel-2.6.11.8 两个 kernel 均能用 )
                                                                      ---2005.5.16 because linux-drcomclient

----------------------------------------------------------------------
1,前奏

http://www.kernel.org 下载最新稳定 kernel

root用户登录系统
#cd /usr/src
#cp /path/linux-2.6.11.8.tar.bz2 .    ( path 指内核放置路径 )
#tar jxvf linux-2.6.11.8.tar.bz2         ( 解压 )
#cd linux-2.6.11.8                             ( 进入源码目录 )

#cat README Documentation/Changes   

( 非必需步骤但强烈建议 ,这确实大大有助于你第一次编译成功,我第一次没看它,
   只是在网上看了些方法--有旧的,有新的,各不相同,真是不知道该听哪个的,总之后来编译出错,引导系统时停了。
   **这两个文件,包含更确切的安装信息--方法-编译所需要的条件及下载地方** )

2,配置编译:

#make xconfig                                  ( 配置Kernel 完全在图形界面配置,注意保存 )
#make                                              ( 编译Kernel 用了76分钟,其他的一些网友很快20分钟,也许是我在配置里选的太多等缘故吧 )
#make modules_install                    ( 模块安装 3 分钟 )
#make install                                   ( 扫尾工作 很快,建立引导内核,好了到这结束--reboot重起,在grub里选新内核引导,去尽情体验吧:)


#cd /boot     
                                    
( 非必需步骤  ,用于检验 比如可看到 linux-2.6.11.8 initrd-2.6.11.8.img ,
原内核依旧在,即使同版本编译也会把原先的自动更名为 linux-2.6.11.8.old  )

#emacs /boot/grub/grub.conf           ( 非必需步骤  ,看看有没有添加上面看到的,没有自己加喽 )  

详细的原理说明:请看置顶--搜索很多的:)

==========================================

在这个新内核下,终于能在LINUX下上网啦,纪念一下 :)
drcom linux 下的客户端,感谢原作者 wpyh
客户端地址:

http://prdownloads.sourceforge.n ... -2.tar.bz2?download
http://prdownloads.sourceforge.n ... 12.tar.bz2?download
发表于 2005-5-19 20:24:55 | 显示全部楼层
Post by thepice

在这个新内核下,终于能在LINUX下上网啦,纪念一下 :)


恩,不错。接下来就应该考虑如何给kenerl瘦身啦,这样可以减少编译的时间。可以尝试把自己不认识的选项去掉,再编译,看看能不能成功,看看各个选项的含义,也可以用google来查各个选项的含义。这样可以对计算机和linux有更深入的了解。新编译的内核不要覆盖旧的内核。修改grub/lilo的选项,使其可以引导两个内核。一旦新内核编译失败,还能用旧的内核引导系统。在make和make modules_install后,不要用make install,而是应该用手工拷贝的办法
cp arch/i386/boot/bzImage /boot/kernel-new
cp System.map /boot/System.map-new

多多尝试啦。
回复 支持 反对

使用道具 举报

发表于 2005-5-19 21:32:39 | 显示全部楼层
恭喜楼主,继续努力!
回复 支持 反对

使用道具 举报

发表于 2005-5-20 09:55:19 | 显示全部楼层
呵呵!
一直以为很有难度!
今天看了才知道!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-20 20:04:34 | 显示全部楼层
Post by 7dehao
恩,不错。接下来就应该考虑如何给kenerl瘦身啦,这样可以减少编译的时间。可以尝试把自己不认识的选项去掉,再编译,看看能不能成功,看看各个选项的含义,也可以用google来查各个选项的含义。这样可以对计算机和linux有更深入的了解。新编译的内核不要覆盖旧的内核。修改grub/lilo的选项,使其可以引导两个内核。一旦新内核编译失败,还能用旧的内核引导系统。在make和make modules_install后,不要用make install,而是应该用手工拷贝的办法
cp arch/i386/boot/bzImage /boot/kernel-new
cp System.map /boot/System.map-new

多多尝试啦。


谢谢你的建议,下次编的时候再认真点

为什么不要用make install,而去手工呢,有特殊的好处吗?
可README 里有建议 make install
回复 支持 反对

使用道具 举报

发表于 2005-5-21 11:53:40 | 显示全部楼层
Post by thepice
谢谢你的建议,下次编的时候再认真点

为什么不要用make install,而去手工呢,有特殊的好处吗?
可README 里有建议 make install

这个是因为make install命令本身并不怎么可靠,而且,在通常的情况下需要调试新内核或给新的内核规范命名。README中的内容也不能完全相信,我想,你在多尝试几次后就会理解不用make install的好处了。尽信书,不如无书。外国人写的文档不一定就是最佳方案。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-21 13:07:10 | 显示全部楼层
的确,那个README读起来并不怎样,而且,谈到的也是LILO
经过自己试验的,才是最好的:)
关于给新的内核规范命名,觉得最好就是 linux-* (*为版本号,清晰明了)

THANK YOU !
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表