Linux内核升级方法详解

系统 Linux
Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,本文分享了Linux内核升级的方法,希望对各位Linux系统管理员有所帮助。

  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

  找到这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
责任编辑:黄丹 来源: 126cm
相关推荐

2012-07-31 16:11:25

Linux内核系统运维

2020-04-20 14:30:54

UbuntuLinux内核

2020-04-24 16:09:57

UbuntuLinux内核

2010-03-02 16:13:56

Linux升级

2009-12-25 10:02:39

2011-01-13 12:46:13

2009-12-09 09:27:35

linux内核

2013-10-28 09:40:51

Android内核

2018-05-18 09:07:43

Linux内核内存

2023-06-12 14:46:17

DebianDebian 12

2010-01-06 16:47:53

Linux内核

2009-12-14 14:43:50

Linux内核

2016-01-12 14:54:58

UbuntuLinuxKernel 4.4

2010-02-02 11:00:03

Linux 2.6内核

2010-01-07 13:44:54

Linux内核代码

2021-01-08 05:59:39

Linux应用程序Linux系统

2013-11-08 13:33:18

Ubuntu 13.1Linux内核

2010-08-04 09:53:59

Linux内核

2011-03-24 09:15:14

Ubuntu 11.0Linux 内核2.6

2010-02-22 16:38:34

CentOS yum内
点赞
收藏

51CTO技术栈公众号