内核升级方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内核升级方法:

一、将Linux内核从2.6.9.55直接升级到2.6.18.8

步骤:

1、将linux-2.6.18.8.tar.bz2放置在/usr/src/下然后解压:

cd /usr/src

tar -jxvf linux-2.6.18.8.tar.bz2

2、进入/usr/src目录,依次执行下列命令:

make mrproper(第一次编译内核不需要)

make menuconfig(直接保存退出)

make

make modules_install install

3、修改grub.conf文件

在/boot/grub/grub.conf 里新加enforcing =0

变成:

title Red Hat Enterprise Linux ES (2.6.18.8)

root (hd0,0)

kernel /vmlinuz-2.6.18.8 ro root=LABEL=/ enforcing=0 rhgb quiet

initrd /initrd-2.6.18.8.img

如果不加enfocing=0可能在重起后不能登录新编内核,并出现错误:

Mkrootdev:label /enforcing=0 not found

mount :error 6 mounting ext3

mount:error 2 mounting none

switchroot:mount failed:22

umount /initrd/dev failed:2

kernel panic –not synicncing:Attemped to kill init

分析:root找不到挂载点,所以不能启动。另外需要注意的是enforcing=0和/与rhgb之间需要一个空格,否则错误信息同上。

4、重起,登录新编译的内核。

二、不在/usr/src目录下操作,在另外的目录下用shell脚本升级

我们在/dhcc目录下,建立个自己的目录,比如zhangbing,然后把linux-2.6.18.8.tar.bz2解压到这个目录下linux-2.6.18.8,同时建立一个目录build。

在linux-2.6.18.8目录中建立一个脚本shmake.sh

脚本内容如下:

# !/bin/sh

echo "make O=../build menuconfig"

make O=../build menuconfig

echo "make O=../build"

make O=../build

echo "make O=../build modules_install install"

make O=../build modules_install install

此脚本的目的在于每次编译不对原内核产生任何影响,每次编译的东东都放于build目录中了。

脚本执行完后,同第一种方法一样修改grub.conf文件。

三、自己定制一个系统

在10.10.151.135机器上,目录如下:/dhcc/zhangbing/work/linux-2.6.18.8,依次执行如下操作。

1、make mrproper (第一次编译内核不需要此步)

2、make menuconfig

3、make bzImage

4、make modules

5、make modules_install

然后开始自己定制一个*.img文件,不执行make install那一步

查看/lib/modules 目录下的文件,会发现一个2.6.18.8目录文件,这是刚刚编译过后生成的模块文件目录。

执行命令:mkinitrd /boot/initrd_2.6.18.8 2.6.18.8

cp /dhcc/zhangbing/work/linux-2.6.18.8/arch/i386/boot/bzImage /boot/bzImage.zhangbing cp /dhcc/zhangbing/work/linux-2.6.18.8/System.map /boot /System.map-2.6.18.8 rm -rf System.map

ln -s System.map-2.6.18.8 Systemp.map

注:最后这两步在第一次编译内核的时候不需要。

修改grub.conf文件,修改如下

title Red Hat Linux-zhangbing

root(hd0,0)

kernel /bzImage.zhangbing ro root=LABEL=/ enforcing=0 rhgb quiet

initrd /initrd_2.6.18.8

说明:我在执行mkinitrd /boot/initrd_2.6.18.8 2.6.18.8 这条命令的时候,分别遇到下列警告信息:

No module mptscsi found for kernel 2.6.18,aborting。

No module ata_piix found for kernel 2.6.18,aborting。

从网上查找到原因,是因为2.6.18.8模块目录下没有mptscsi,ata_piix这两个模块,和配置选项有关系。

修改/etc/modprobe.conf文件

把alias scsi_hostadapter1 mptscsi

alias scsi_hostadapter5 ata_piix 注释掉,改为

#alias scsi_hostadapter1 mptscsi

#alias scsi_hostadapter5 ata_piix

问题解决。

相关文档
最新文档