Moke|墨客

 找回密码
 立即注册
搜索
查看: 8589|回复: 0

详解对Linux内核进行升级的步骤

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-9 15:49:34 | 显示全部楼层 |阅读模式



                   Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,所以我就分享了系统运维实务上的一篇文章,当然我对源文件稍做了一些内容的增加,就是把遇到的问题及解决方案也加上了,希望对各位Linux系统管理员有所帮助!
  1.下载内核
  代码如下:
  cd /usr/src
wget  linux/kernel/v2.6/linux-2.6.38.tar.gz">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz
tar zxvf linux-2.6.38.tar.gz
cd linux-2.6.38
  2.下载热点内核标准配置文件
  代码如下:
  wget http://vbets.googlecode.com/files/config
mv config .config
  3.编译内核
  代码如下:
  make menuconfig
  选中Load an Alternate Configuration File ,然后选择刚下载的。config
  另外,要特别选中:
  1)、通过make menuconfig选中以下对应的选项
  代码如下:
  General setup –>
  • enable deprecated sysfs features to support old userspace tools
      2)、修改。config文件
      修改。config文件中CONFIG_SYSFS_DEPRECATED_V2,将原本被注释掉的
      代码如下:
      CONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y
      注:  修改这项是因为旧版的mkinitrd及其nash在内核没有CONFIG_SYSFS_DEPRECATED_V2参数时默认使用旧版sysfs路径格式,从而在新内核下无法正确访问/sys内的硬盘信息节点。
      主要是解决"mount:could not find filesystem '/dev/root'"这样的错误
      代码如下:
      make bzImage
    make modules
    make modules_install
    make install
      4.解压修改内核
      代码如下:
      cp /boot/initrd-2.6.38.img /tmp
    cd /tmp/
    mkdir newinitrd
    cd newinitrd/
      zcat /initrd-2.6.38.img |cpio -i
      rm -rf /tmp/initrd-2.6.38.img
      vi init[/code]
      找到这2行一样的,去掉1行
      代码如下:
      echo "Loading dm-region-hash.ko module"
    insmod /lib/dm-region-hash.ko
    echo "Loading dm-region-hash.ko module"
    insmod /lib/dm-region-hash.ko
      这主要是解决:"insmod: error inserting '/lib/dm-region-hash.ko': -1 File  exists"这样的错误
      5.从新打包内核
      代码如下:
      find .|cpio -c -o > /initrd
    cd /
    gzip -9 < initrd > initrd-2.6.38img
    rm -rf /boot/initrd-2.6.38.img
    cp initrd-2.6.38.img /boot
    rm -rf /cd /usr/src/linux-2.6.38.tar.gz
    rm -rf /cd /usr/src/linux-2.6.38
      6.设置从新内核启动
      代码如下:
      vi /boot/grub/grub.conf
      把default=1改为default=0
      7.重新启动系统
      代码如下:
      reboot
  • 您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

     

     

    快速回复 返回顶部 返回列表