免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1034 | 回复: 0
打印 上一主题 下一主题

贼度郁闷:升级linux的烦躁 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-25 15:53 |只看该作者 |倒序浏览
总共搞了3天的时间,才算把它搞完。其中的过程最主要错误是使用tab键,以致于粗心大意的把字母敲错了。这个东西很占用时间,装好2.4版本要1个小时,升级最起码2个小时,前后几次错误了还得重新装,贼度郁闷只能这样了。最后,总算装好了,但不能上网!这叫做非常不爽!哈哈。本两想因为不能mount才急切的盼望升级的,哪想到升级完了,竟然不能上网,连从ftp下载文件到linux的做饭也破灭了。不能上网的问题,迟早会解决的,应该是设置的问题而已。
        因此有必要把过程记录下来,以备后面升级。
一。下载工具和源代码
http://www.kernel.org/pub/linux/kernel/v2.6/
(1)下载module-init-tools-3.2.tar.bz2
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2

(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
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm
(4)下载device-mapper-1.00.19-2.i386.rpm
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm
二。配置工作
# cd /usr/src  (进入到/usr/src目录下,如果已经在/usr/src目录下,可不执行该命令)
# rm –rf linux  (删除linux文件夹。值得一提的是,如果内核先前从未编译过,则没有这个文件夹,此命令行可略过)
# tar jvxf linux-2.6.18.tar.bz2  (解压新内核)
# ln -s linux-2.6.18 linux  (重新生成linux文件夹)
在/usr/src目录下,依次执行下列命令:
# tar jvxf module-init-tools-3.2.tar.bz2  (解压module-init-tools)
# cd module-init-tools-3.2  (由/usr/src目录进入module-init-tools目录下)
#./configure --prefix=/
# make moveold
# make all install
#./generate-modprobe.conf /etc/modprobe.conf
回到/usr/src目录下,依次执行下列3个命令来安装另外三个升级工具:
# rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm  (注意,这里一定要加入--nodeps参数,下同)
# rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm
# rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm
如果不更新以上几个升级包,在后面编译内核时会提示以下错误:
      mkinitrd failed
      make[1]: *** [install] Error 1
      make: *** [install] Error 2
# cd linux-2.6.18  (进入到/usr/src/linux-2.6.18目录下)
# make mrproper  (该命令可确保源代码目录下没有不正确的.o文件)
# make menuconfig (配置内核各选项)
此时会出现一个图形界面,列出了所有的内核配置选项,有的选项下还有子选项,你可以用方向键来选择,用Y键来确定。经过我多次试验,不用改动,但是升级完以后可能有些功能不完善,比如上网问题。但我按照n多人提供的经验来配置,编译反而通不过。
在/usr/src/linux-2.6.18目录下,执行以下命令即可编译。编译需要一段时间,给自己倒杯茶耐心等候吧!
# make dep  (建立编译时所需的从属文件。)
# make clean  (清除内核编译的目标文件。)
# cp /usr/src/linux-2.4/configs/kernel-2.4.20-i686.config \
/usr/src/kernel/linux-2.6.10/.config
# make bzImage  (注意大小写。这一步才是真正编译内核)
# make modules  (编译可加载模块)
# make modules_install  (安装可加载模块)
安装成功后,系统会在/lib/modules目录下生成一个2.6.18子目录,里面存放着新内核的所有可加载模块。
# make install  (安装新内核)
注意:
        make install的时候可能会出现如下错误信息:
        No module BusLogic found for kernel 2.4.12
        mkinitrd failed
此问题一般只出现在SCSI硬盘+VMWARE+REDHAT架构中,因为BusLogic被编译进了内核而不是一个module的形式(2.4内核的Buslogic模块即使静态编译进内核也不行)。解决方式是直接将BusLogic.o文件复制过去:
# cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o  /lib/modules/2.6.18/kernel/drivers/scsi
不过别忘记,复制过后再执行一下make install。这一步若卡住了,下面的都无法进行。
三、启动新内核
# cp  /usr/src/linux-2.6.18/arch/i386/boot/bzImage   /boot/vmlinuz-2.6.18     
# cp  /usr/src/linux-2.6.18/System.map   /boot/System.map-2.6.18     
# cd  /boot  (进入boot目录)
# rm –rf  System.map  (删除原来的连接)     
# ln –s System.map-2.6.18  System.map   (重新建立连接)  
修改Grub启动管理器
只需要更改default=1,改为default=0,这样更改以后,默认启动就是2.6内核的,不该默认是2.4内核的。
reboot一下,体验一下2.6内核吧。
参考:Linux内核升级全过程


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55790/showart_449862.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP