更换Linux的内核指南


    转载:http://os.51cto.com/art/201101/242682.htm

    Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。

    现在网上许多硬件如声卡,网卡,内置modem等驱动都是针对rh7.3的。而大家的linux系统却都更新为rh8.0了。一般来讲,这些驱动是无法在rh8.0下正常使用的。解决的办法是:把rh8.0的内核换成rh7.3的。其方法如下:

    1、取得rh7.3的内核rpm包(kernel-2.4.18-3.i686.rpm)。有两种徒径:从rh7.3安装盘中取得或从网上获得:

    http://rpmfind.net/linux/redhat/7.3...4.18-3.i686.rpm

    2、进入rh8.0并以root登陆,安装kernel包:

    rpm -ivh --nodeps --force kernel-2.4.18-3.i686.rpm

    #注意:后面的参数一定是-ivh,如果是-Uvh则会覆盖现有的内核!

    3、修改grub或lilo配置文件。这里以grub为例

    (如果用lilo方式启动,修改/etc/lilo.conf后再执行lilo,其内容和menu.lst基本相似):

    打开/boot/grub/menu.lst,原来内容如下:

    default=2

    timeout=10

    splashimage=(hd0,1)/boot/grub/splash.xpm.gz

    title Red Hat Linux (2.4.18-14)

    root (hd0,1)

    kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/

    initrd /boot/initrd-2.4.18-14.img

    title Windows XP

    rootnoverify (hd0,0)

    chainloader +1

    title Mandrake Linux 9.0

    root (hd0,7)

    kernel (hd0,7)/boot/vmlinuz ro root=/dev/hda8

    initrd (hd0,7)/boot/initrd.img

    title Mandrake Linux 9.0 with ESS

    root (hd0,7)

    kernel (hd0,7)/boot/vmlinuz-2.4.18-3 ro root=/dev/hda8

    initrd (hd0,7)/boot/initrd-2.4.18-3.img

    title FreeBSD 4.7

    rootnoverify (hd0,2)

    chainloader +1

    然后再在第三行后插入:

    title Red Hat Linux (2.4.18-3)

    root (hd0,1)

    kernel /boot/vmlinuz-2.4.18-3 ro root=LABEL=/

    initrd /boot/initrd-2.4.18-3.img

    当然你的分区与我的也许不一样,你可根据需要修改。这样可重启选取Red Hat Linux (2.4.18-3)来启动。这时你可安装for rh7.3的驱动了。

    读懂上面文章,你就可以亲手换内核,强大吧,快跟朋友分享吧。

     

    2==============================================

    我在虚拟机中换过高版本的内核,你试试看好使不。
    1、下载所需内核,解压后的目录在这以LINUX_DIR代替。
    2、使用现有配置文件来配置内核,cp /boot/config-xxxxxx LINUX_DIR/.config
    3、make menuconfig 根据需要来定制内核。低版本使用高版本的配置可能会有的配置项错误,你自己根据具体情况来配置。
    4.make bzImage.编译内核,编译完在LINUX_DIR/arch/你的体系/boot下生成bzImage文件
    5.make modules 编译内核模块
    6.make modules_install 安装内核模块,安装完成后会在/lib目录下生产一个文件夹,以你内核版本号命名的,如2.6.32
    7.mkinitrd initrd-$version $version ,version 必须是上一步在/lib目录下生成的文件夹名,如2.6.32
    在LINUX_DIR 下会生产initrd文件initrd-$version
    8、cp LINUX_DIR/initrd-$version /boot
    9、cp LINUX_DIR/arch/x86/boot/bzImage /boot/你对bzImage的重命名。如vmlinux-2.6.23
    10、vi /etc/grub.conf
    把从title XX开始这三行复制在这三行下粘贴。修改如下内容:

    title 自己命名,会在开机画面提示你选择哪个内核,如 mylinux

    kernel 你拷贝到/boot下的bzImage 重命名后的文件名 ,如vmlinux-2.6.23 . ro 后的不用更改。
    initrd 你拷贝到/boot下的initrd文件名。如/initrd-2.6.23

    reboot后启动时会在操作系统选择中看到title后你自己的命名(mylinux).

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

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值