| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > Linux频道 > Linux开发区 > 内核研究

终于成功编译了redhat as4的内核

时间:2007-08-17 10:36:48  来源:Linux联盟收集整理  作者:
真是颇费周章,不过经过这次内核升级,我对于linux的认识又深入了一层,高兴。pqWLinux联盟
数次升级失败后(大于5次),本来我都没有勇气再升级了,但是每当看到高手们介绍iptables扩展模块的强大pqWLinux联盟
功能,还是令我怦然心动,而且linux的使用者如果不会内核升级,就无法进入新的阶段,于是决定:屡败屡pqWLinux联盟
战,再来一次!pqWLinux联盟
注:凡是输入命令的地方我前面都会加上##,和脚本注释的#加以区别pqWLinux联盟
首先从http://www.kernel.org/pub/linux/kernel/v2.6/上下载最新的内核,pqWLinux联盟
这次我下载的是linux-2.6.18.tar.gz  pqWLinux联盟
把这个文件放在/root/目录下pqWLinux联盟
##tar zxvf linux-2.6.18.tar.gz  pqWLinux联盟
生成一个目录linux-2.6.18pqWLinux联盟
##cd linux-2.6.18pqWLinux联盟
##make mrproperpqWLinux联盟
这个命令的作用是清理以前编译内核的痕迹,其实如果是新解压的,不用这个命令应该也可以。你可以对比pqWLinux联盟
看一下make menuconfig的前后,编译完成的前后目录中文件的变化。pqWLinux联盟
我当前运行的是redhat as4 update1,内核版本是2.6.9-11.EL,我对自己的硬件配置并不是特别清楚,所以还是pqWLinux联盟
保留原有配置的好,我想要的只是让我的内核能支持新的netfilter模块功能而已。(查看当前内核版本可以用pqWLinux联盟
这个命令uname -a )所以pqWLinux联盟
##ls -al /bootpqWLinux联盟
能够看到下面有个文件,类似config-2.6.9-11.EL,这就是现在的内核对应的.config文件了,把它考到新内核pqWLinux联盟
所在的目录下pqWLinux联盟
##cp /boot/config-2.6.9-11.EL /root/linux-2.6.18/.configpqWLinux联盟
如果这个目录下已经有.config这个文件了……当然覆盖掉了。然后开始编译pqWLinux联盟
##make menuconfigpqWLinux联盟
make menuconfig 需要安装libcurses5-dev支持,如果是redhat比较新的版本比如as4或者fc4,可能是需要ncurses-5.4-13.i386.rpm和ncurses-devel-5.4-13.i386.rpm这两个文件,请先确认你已经装上了这两个软件包……pqWLinux联盟
(本来以为不需要说明的,但是看来问的不少,为什么新手们不选择完全安装呢,起码能省我很多事情)pqWLinux联盟
……pqWLinux联盟
进去以后,选择菜单很靠下的选项"Load an Alternate Configuration File"pqWLinux联盟
然后select,会问你是否要提取.config,当然了。pqWLinux联盟
然后你的基本配置信息就已经被保存了,如果没有什么不满意的地方,不用改动了,除非你很清楚你到底改pqWLinux联盟
了什么(比如我修改了Networking  ---> 的部分,增加了很多模块;改了电源管理中的一部分,因为从前的内pqWLinux联盟
核会导致reboot命令不能重启,所有程序关掉后会卡住;改了文件系统中的对ntfs系统的写支持;processor里pqWLinux联盟
面也改了,把原来的Pentium-III/Celeron(Coppermine)/Pentium-III Xeon改成Pentium-4/Celeron(P4-pqWLinux联盟
based)/Pentium-4 M/Xeon,本来我的celeron就是2.1g的么,为什么要工作在奔三的状态下呢,浪费),配置完pqWLinux联盟
成后,选择exit退出,会问你是否保存,当然保存了。这时候就生成了新的.config文件了,可以开始编译内核pqWLinux联盟
了!!!pqWLinux联盟
##makepqWLinux联盟
这个时候如果没有问题,就会开始进行编译了。我感觉,linux下所有的软件(所谓的源文件啦,那种安装包pqWLinux联盟
的比如rpm等等不算)其实都是需要你自己重新配置一遍(编译,或者叫make)以适应你自己的系统,从某pqWLinux联盟
种程度上来说,是你自己为自己的硬件打造了一套系统(虽然大部分的程序都不是你写的而是linus和其他的pqWLinux联盟
linux软件开发者),是不是很神往啊?说这么多费话,当然,实际上这个编译的过程相当的长,你可以在午pqWLinux联盟
饭前输入make命令,等到吃完午饭回来看他好没好,如果你想要检验自己的水平,也可以通过仔细阅读目录pqWLinux联盟
中的README文件来让自己对linux有个更深刻的认识。pqWLinux联盟
make完成后,就要把模块都安装进系统去了!pqWLinux联盟
##make modules_install pqWLinux联盟
这个时间也挺长,但不如上面那个。新的模块都会放在/lib/modules目录下对应的内核版本目录中,以后如果pqWLinux联盟
你使用这个新编译的内核引导系统,则这个系统所使用的内核模块都在对应这个内核版本的目录中,包括你pqWLinux联盟
的驱动程序啊什么的。pqWLinux联盟
哦?模块安装完了?ok,你想不想开始使用这个内核呢?不想的话,先放这儿好了,以后慢慢来。pqWLinux联盟
如果想要立刻就用,就输入pqWLinux联盟
##make install pqWLinux联盟
这个时候会把你新编译的内核复制到/boot目录下(这个目录可是专门存放内核镜像和相关文件的地方,所以pqWLinux联盟
安装系统的时候最好把这个目录单独划分为一个分区,不要让其他程序占用这个分区的空间……至少redhat pqWLinux联盟
as4是这样的),同时还会修改你的grub.conf文件,使得引导菜单会多出一个选项,grub.conf我就不多讲了。pqWLinux联盟
所有的命令都顺利完成了?pqWLinux联盟
##rebootpqWLinux联盟
重启后你会发现启动菜单中(或者说grub引导界面中)多了一个选项,我的就是linux-2.6.18这个选项了,选pqWLinux联盟
择这个选项,你就开始进入新的内核系统了。pqWLinux联盟
shit,为什么启动信息报告我的网卡没有启动?错误的irq?不同的mac地址?什么嘛?pqWLinux联盟
这时候,你的驱动程序其实都在,但是系统会从/etc/modprob.conf里面读取系统的配置pqWLinux联盟
我发现在里面有这样两行pqWLinux联盟
options via-rhine  irq=5pqWLinux联盟
alias eth1 via-rhinepqWLinux联盟
原来是它们在作怪,注释掉,重新启动,哈哈,一切都好了(在此多谢bbs.chinaunix.net上的高手指导)!pqWLinux联盟
现在看看pqWLinux联盟
##uname -apqWLinux联盟
Linux linuxtest.xxx.xxx.cn 2.6.18 #1 Thu Nov 23 15:34:29 CST 2006 i686 i686 i386 GNU/LinuxpqWLinux联盟
hiahiahiahia,成功了!pqWLinux联盟
祝大家好运!pqWLinux联盟
pqWLinux联盟
感觉咱们网盟新手多,这种需求可能也多些,就不发在CU那样的高手论坛上现眼了,还是发在网盟吧,希望大家用得到!pqWLinux联盟
作者iamshiyu(七夕银河)2006-11-28于网盟bbs.bitscn.compqWLinux联盟
pqWLinux联盟
忘了说,以后这个版本的很多东西就都保存在/root/linux-2.6.18里面了,所以不要删除这个目录,除非你确信你要删除掉这个内核……pqWLinux联盟
pqWLinux联盟
pqWLinux联盟
  你可能还对以下内容感兴趣:redhat as4,redhat linux as4,redhat as4 下载,redhat as4 升级,redhat as4 mysql,redhat as4 显卡,redhat as4 u2下载,redhat as4 激活码,redhat 内核升级,redhat 内核下载,编译内核,linux 内核编译,如何编译linux内核,ubuntu 编译内核,如何编译内核,debian内核编译,重新编译内核,怎样编译内核,编译内核详细步骤,编译内核 grub。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目更新
栏目热门