Chinaunix

标题: 请教AS4内核升级 (2.6.9-->2.6.17)的问题 [打印本页]

作者: zaochun_liyi    时间: 2006-08-24 18:23
标题: 请教AS4内核升级 (2.6.9-->2.6.17)的问题
一  为何需要升级内核?
需要安装 IPVS (IP Virtual Server) (http://www.linuxvirtualserver.org/software/ipvs.html) , 并使用 LVS 实现 Apache/MySQL/JBoss 的负载均衡, 根据 LVS 的需要,需要把我的 OS 内核从 2.6.9-5.EL 升级到 2.6.17. 参考了下面的文章进行升级:
http://www.digitalhermit.com/lin ... .html#CONFIGURATION

二  OS 环境以及升级的步骤如下:
1. 下载新的内核源文件
from: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz

2. 系统信息 (RedHat AS 4.0)
[root@MySQLManager grub]# uname -a
Linux MySQLManager 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux
[root@MySQLManager ~]#
[root@MySQLManager ~]# fdisk -l

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/hda2            2551        7477    39568126+   f  W95 Ext'd (LBA)
Partition 2 does not end on cylinder boundary.
/dev/hda5            2551        3825    10241406    7  HPFS/NTFS
/dev/hda6            6202        7475    10233373+   b  W95 FAT32
/dev/hda7            3826        3837       96358+  83  Linux
/dev/hda8            3838        3938      811251   82  Linux swap
/dev/hda9            3939        6201    18177516   83  Linux

Partition table entries are not in disk order
[root@MySQLManager ~]#

3. 解压到目录 /usr/src
[root@MySQLManager ~]# cp linux-2.6.17.tar.gz /usr/src/
[root@MySQLManager ~]# cd /usr/src/
[root@MySQLManager src]# tar -zxvf linux-2.6.17.tar.gz

4. 建立链接文件
# cd /usr/src/
# ln -s linux-2.6.17 linux-2.6
# ln -s linux-2.6 linux

5. 检查原代码/配置核心选项/升级内核模块等
# cd /usr/src/linux
# make mrproper
[root@MySQLManager linux]# make menuconfig
[root@MySQLManager linux]# make clean            
[root@MySQLManager linux]#
[root@MySQLManager linux]# make bzImage
      ..........................................................................(中间过程省略,差不多 1 个小时)
      BUILD   arch/i386/boot/bzImage
Root device is (3, 9)
Boot sector 512 bytes.
Setup is 7288 bytes.
System is 1599 kB
Kernel: arch/i386/boot/bzImage is ready  (#1)
[root@MySQLManager linux]#
[root@MySQLManager linux]# make modules
(中间过程省略,差不多 1 个小时)
[root@MySQLManager linux]# make modules_install
[root@MySQLManager linux]# mkinitrd /boot/initrd-2.6.17.EL.img 2.6.17
[root@MySQLManager linux]# cp arch/i386/boot/bzImage /boot/bzImage-2.6.17
[root@MySQLManager linux]# cp System.map /boot/System.map-2.6.17
[root@MySQLManager linux]# ln -s /boot/System.map-2.6.17 /boot/System.map

------------------ls -al /boot 内容-------------------
[root@MySQLManager boot]# ls -al /boot
total 5507
drwxr-xr-x   4 root root    1024  8月 24 11:18 .
drwxr-xr-x  24 root root    4096  8月 24 08:57 ..
-rw-r--r--   1 root root 1646140  8月 24 11:16 bzImage-2.6.17.EL
-rw-r--r--   1 root root   48177 2005-01-06  config-2.6.9-5.EL
drwxr-xr-x   2 root root    1024  8月 24 11:28 grub
-rw-r--r--   1 root root  302635  8月 24 11:14 initrd-2.6.17.EL.img
-rw-r--r--   1 root root  394699  8月 23 01:38 initrd-2.6.9-5.EL.img
drwx------   2 root root   12288  8月 23 01:32 lost+found
-rw-r--r--   1 root root   81860 2004-09-30  memtest86+-1.26
-rw-r--r--   1 root root   23108 2004-12-03  message
-rw-r--r--   1 root root   21282 2004-12-03  message.ja
lrwxrwxrwx   1 root root      26  8月 24 11:18 System.map -> /boot/System.map-2.6.17.EL
-rw-r--r--   1 root root  899832  8月 24 11:18 System.map-2.6.17.EL
-rw-r--r--   1 root root  712698 2005-01-06  System.map-2.6.9-5.EL
-rw-r--r--   1 root root 1433988 2005-01-06  vmlinuz-2.6.9-5.EL
[root@MySQLManager boot]#
------------------------------------------------------------------
--------------修改过后的 /boot/grub/menu.lst-----------------
[root@MySQLManager ~]# more /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda9
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,6)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.17.EL)
        root (hd0,6)
        kernel /boot/bzImage-2.6.17 ro root=/dev/hda9
        initrd /boot/initrd-2.6.17.EL.img
title Red Hat Enterprise Linux AS (2.6.9-5.EL)
        root (hd0,6)
        kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.9-5.EL.img
title Win_XP
        rootnoverify (hd0,0)
        chainloader +1
[root@MySQLManager grub]#
-------------------------------------------------------------------

6.  重起系统
[root@MySQLManager grub]# cd /
[root@MySQLManager /]# sync
[root@MySQLManager /]#
[root@MySQLManager /]# sync
[root@MySQLManager /]#
[root@MySQLManager /]# sync
[root@MySQLManager /]#
[root@MySQLManager /]# reboot


三 问题描述
下面是我遇到的两个问题,已经卡住很多天了,问题描述如下:
(1) 使用如上提及的 /boot/grub/menu.lst (也即是相同目录下 grub.conf), 重起以后有三个选项:
Red Hat Enterprise Linux AS (2.6.17.EL)
Red Hat Enterprise Linux AS (2.6.9-5.EL)
Win_XP
选择  Red Hat Enterprise Linux AS (2.6.17.EL)
提示信息如下:
Booting 'Red Hat Enterprise Linux AS (2.6.17.EL)'
root(hd0,6)
Filesystem type is ext2fs,partition type 0x83
Kernel /boot/bzImage-2.6.17 ro root=/dev/hda9
Error 15: File not found
Press any key to continue..........

(2) 选择原来的内核启动 Red Hat Enterprise Linux AS (2.6.9-5.EL)并修改 /boot/grub/menu.lst 如下所示 (注意红色部分)
-------------------------------------------------------------------
[root@MySQLManager grub]# more /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda9
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,6)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.17.EL)
        root (hd0,6)
        kernel /bzImage-2.6.17 ro root=/dev/hda9
        initrd /initrd-2.6.17.EL.img
title Red Hat Enterprise Linux AS (2.6.9-5.EL)
        root (hd0,6)
        kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.9-5.EL.img
title Win_XP
        rootnoverify (hd0,0)
        chainloader +1
[root@MySQLManager grub]#
-------------------------------------------------------------------
[root@MySQLManager grub]# reboot

重起以后, 再选择 Red Hat Enterprise Linux AS (2.6.17.EL)

接着加载一些内核模块,并提示:
....................................
EXT3-fs: mounted filesystem with ordered data mode.
Switching to new root.
audit (1156409184.044:2) : enforcing=1 old_enforcing=0 auid=4294967295
Enforcing mode requested but no policy loaded. Halting now!
Kernel panic - not syncing: Attempting to kill init!


请各位大虾帮忙分析一下原因, 我现在提到内核就满脑子的浆糊 :P
拜谢了先!

我的联系方式:
E-Mail: liyi_1980@163.com
MSN: zaochun_1980@hotmail.com

[ 本帖最后由 zaochun_liyi 于 2006-8-24 18:26 编辑 ]
作者: zaochun_liyi    时间: 2006-09-07 00:50
问题所在:升级内核之后
开启了 SELinux
通过关闭(Disable) SELinux
vi /etc/selinux/config
#change SELINUX=disabled

#reboot your system


大概说一下从 2.6.9——〉2.6.17 升级内核的主要步骤:
make mrproper
make menuconfig(最繁琐的一步)
make(蜗牛一般慢,建议中午吃饭之前开始,睡个午觉回来就差不多了 ^o^)
make modules_install
make install (查看一下 /boot 下面,会自动生成相应的启动时所需要的配置文件 以及会自动添加启动时候的东东到 /boot/grub/menu.lst )

[[i] 本帖最后由 zaochun_liyi 于 2006-9-7 00:57 编辑 [/i]]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2