Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126940
  • 博文数量: 100
  • 博客积分: 1850
  • 博客等级: 上尉
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-02 23:52
文章分类

全部博文(100)

文章存档

2016年(1)

2009年(1)

2008年(5)

2007年(11)

2006年(32)

2005年(50)

我的朋友

分类: LINUX

2006-03-14 16:52:25

半个月前的一天,记得是个周末,早晨来上班,到中午时已经没什么事了。准确地说是有事也没法解决了。突发奇想地想把vmware下的linux生一下级。大家都说给linux升级是个特长本事的活儿,咱也应该拿来练练。于是,开始翻帖子,下载内核,准备测试机-其实就是一大堆的文件,那些文件在vmware下就是一个linux。这个linux的版本是:fedora core 1,内核版本为:2.4.22。
新的内核是从上下的,据说是2.4版的最update的内核,版本号是:2.4.32。
综合了几个帖子的方法,按照步骤照猫画虎操作了一遍,这时问题出现了,错误提示说不能打开root设备,要求给"root"添加一个正确的boot选项。
我的烦恼就是从这个时候开始的。尝试自己解决所有的问题。过了两天,没有进展。于是上网发贴寻求帮助。隔了一天,有人回帖了。有些帮助,但是没能最终解决问题。于是我开始怀疑在vmware 下的linux是否能够升级。又发了个贴,宣布了我的疑问。有个叫ljjk的回帖了;-他说他家在内蒙古的东部的大草垫子上,如果是真的,那他还是咱老乡啊。他说他作成了!还给出了自己的blog,上面有详细的笔记。
我按照他的笔记作了一遍,竟然成功了。
最近又花了差不多三天的时间反反复复研究比较内核配置的过程中各个选项和模块的功能,稍有收获,值得花多一些时间作个详细的笔记。
 
【操作步骤】

先在/usr下建个目录src,把新的内核文件包linux-2.4.32.tar.bz2复制到这个路径下,然后解包:
#tar xvfj linux-2.4.32.tar.bz2
解包后会在这个路径下生成一个路径linux-2.4.32,解开的文件都放在这个路径下。
然后建立一个和linux的连接:
#ln -s linux-2.4.32 linux
 接着依次执行下面的命令:
#cd linux
#make mrproper
#make menuconfig
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
#depmod -a
在过去的十几天中,以上命令我平均每天敲20次左右。后来,我把后面的6个命令放在一行敲:
#make dep&&make clean&&make bzImage&&make modules&&make modules_install&&depmod -a
再后来我用history命令从敲过的命令里挑。
执行完毕上面的命令,系统已经生成了启动新的内核所必须的文件,接下来:
#cp System.map /boot
#cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.32
#mkinitrd -f /boot/initrd-2.4.32.img 2.4.32
上面最后一条命令mkinitrd生成一个预加载模块的初始ramdisk映象文件,就是那个initrd-2.4.32.img
接下来需要改一下/boot/grub/grub.conf文件
将以下几行加在文件末尾:
title Red Hat Linux (2.4.32)
        root (hd0,0)
        kernel /vmlinuz-2.4.32
        initrd /initrd-2.4.32.img
注意在原来的文件中,kernel那行后面有些参数: ro root=LABEL=/ rhgb
不知是什么意思,但是可以省略。(不求甚解,呵呵)
重新启动机器前,别忘了双手合十,求神佛保佑!
阅读(899) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~