内核编辑-Linux-2.4.20-8升级内核到Linux-2.6.13
时间:2005-10-20 来源:suzhouboy
Linux-2.4.20-8升级内核到Linux-2.6.13实战:
首先,在编译之前,要做以下几个准备工作:
1、 下载module-init-tools-3.1.tar.bz2,
下载地址:http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/
下载完后进行如下操作:
tar –zxvf module-init-tools-3.1.tar.bz2
./configure --prefix=/
make moveold
make all install
./generate-modprobe.conf /etc/modprobe.conf
2、 下载mkinitrd-4.1.18-2.i386.rpm,
下载地址:http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm
3、 下载lvm2-2.00.25-1.01.i386.rpm和device-mapper-1.00.19-2.i386.rpm
下载地址:http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm
4、 删除旧的软件,方法如下
rpm –e (旧的软件名,这里是软件名,不是软件包,如mkinitrd-4.1.18-2) --nodeps
接下来两步和上面一样,把旧的lvm和device-mapper删掉,记住,这里要加――nodeps参数,不然是删不掉的[*浏览了很多的资料,发现都是没有提及这一步的,都说使用――nodeps强制安装就可以,可我装的时候却出现了错误,所以大家可以先省略这一步,先做第五步,出了问题再做一下第4步]
5、 如果已执行了第四步,直接使用rpm –ivh package-name
如果未执行第四步,使用rpm –ivh package-name ――nodeps
6、OK,编译前的准备工作做好了,如果不更新以上几个包在make install时会提示以下错误:mkinitrd failed
make[1]: *** [install] Error 1
make: *** [install] Error 2
7、现在可以编译了吧!!NO,还得去下内核呢!http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.tar.gz
8、把下载的tar包CP到/usr/src目录下,并使用tar –zxvf linux-2.6.13.tar.gz
9、cd /usr/src/linux-2.6.13
10、好了,万事俱备!!哦,对了,忘了提醒一点了,请确保你有足够的磁盘空间,具体要求多少空间我不知道,记得大一点的好,有一次编译到最后就提示空间不足
11、OK,接下来就正式开始make了:
#make menuconfig
使用这个命令后会打开一个编译对话框,以后的事就你自己慢慢去发挥吧,我也是新手,对那里面的东西也不是很熟悉,大家可以到网上去找一下关于那方面的资料,但是针对于在vmware5.0中做的朋友来说,以下几点是要特别注意的
A:Device Drivers --->SCSI device support ---><*> SCSI disk support
Device Drivers --->SCSI device support --->SCSI low-level drivers --->
<*> BusLogic SCSI support,如果这几项不选,等编译完成后重启后会发现系统会提示:No module BusLogic found for kernel的错误,然后死掉
B:Device Drivers ---> Fusion MPT device support ---><M> Fusion MPT (base + ScsiHost) drivers和<M> Fusion MPT misc device (ioctl) driver(这个要不要,不确定)
注意:只能选模块方式,直接编译进内核,就出错,不知道为什么,这个浪费了我好多时间才找到,编译了几十次的成果。
出错信息如下:No module mptbase found for kernel vmware(*我使用默认方式并没有出现这个提示,这一段是一个网友所述,不知为何!)
C:Device Drivers ---> USB support ---><*> USB Mass Storage support
Device Drivers ---> Networking support --->Ethernet (10 or 100Mbit) ---> <*> AMD PCnet32 PCI support(*这两段也是从那位网友那CP来的,不知这个USB不设会不会启不来,第二段是设置网卡的,VMWARE是使用AMD PCnet32的)
D:还有一点切记,把所有的有关ext3(Ext3 journalling file system support, Ext3 Security Labels和JBD (ext3) debugging support等等)的选项都编译到内核里面去,记住,是内核<*>不是模块<M>,否则重启系统后会提示:Mount: error 19 mounting ext3
E:差不多了,还有其它的一些什么自己看看吧,或者上网搜一下,介绍一个不错的网站http://www.chinaunix.net/jh/4/484867.html。
12、make modules_install
13、make install
14、OK,这样就行了,init 6你的系统,会发现在重启后,在引导的时候会有两个不同内核的系统可选,我们当然要选刚编译的系统啦。
15、哈哈,好了,不管这个刚编译的系统有哪些不足或是缺陷的地方,但确实是成功了啊,当然,在编译对话框里面还有很多的东东要我们去学习,
16、没什么了,呵呵,如果按以上方法不成功,那就是你人品问题了-_-呵呵,开个玩笑,成功是要付出代价的,永不放弃的人才会成功。