天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

Linux系统内核升级方法详解

2012-11-17中国IT实验室佚名

  Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,所以我就分享了系统运维实务上的一篇文章,当然我对源文件稍做了一些内容的增加,就是把遇到的问题及解决方案也加上了,希望对各位Linux系统管理员有所帮助!

  1.下载内核

  cd /usr/src

  wget linux/kernel/v2.6/linux-2.6.38.tar.gz">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.下载热点内核标准配置文件

  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

  找到这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

本文来源:中国IT实验室 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行