编译内核后重启显示
Reading all physical volumes. This may take a while…
No volume groups found
Volume group "VolGroup00" not found
解决方法:
设置.config文件,添加:
CONFIG_SYSFS_DEPRECATED_V2=Y
即:general setup
[*]enable deprecated sysfs features.....................
重新再编译一次.
命令为make clean, make mvproper, make all, make modules_install, make install
-------------------------------
下面为转载.
Linux 2.6.25内核编译过程(编译之前的内核是2.6)
1.1 首先从kernel.org上下载最新的内核,比如 linux-2.6.25.tar.gz
1.2 cd /usr/src
1.3 tar -zxvf linux-2.6.25.tar.gz
1.4 cd /usr/src/linux-2.6.25
1.5 make menuconfig,因为vmware使用SCSI,所以下面的内容一定要选择。(如果是M的要改为*)
Device Drivers --->SCSI device support --->SCSI low-level drivers ---> <*> BusLogic SCSI support
Device Drivers ---> Fusion MPT device support --->
<*> Fusion MPT ScsiHost drivers for SPI
<*> Fusion MPT ScsiHost drivers for FC
<*> Fusion MPT ScsiHost drivers for SAS
<*> Fusion MPT misc device (ioctl) driver
<*> Fusion MPT LAN driver
Device Drivers ---> USB support ---><M> USB Mass Storage support
Device Drivers ---> Networking support --->Ethernet (10 or 100Mbit) ---> <*> AMD LANCE and PCnet (AT1500 and NE2100) support
最好把ext2,ext3文件系统支持也编译进内核
File system --->
<*> Ext3 journalling file system support
[*] Ext3 extended attributes
[*] Ext3 POSIX Access Control Lists
[*] Ext3 Security Labels
1.6 make(编译内核),好像2.6内核已经不需要make dep和make bzImage了
1.7 make modules(编译模块)
1.8 make modules_install(安装模块)
1.9 make install(安装内核,该过程自动将编译好的内核放到启动目录,同时为/etc/grub.config下加载新的菜单项)
title Red Hat Enterprise Linux AS (2.6.25)
root (hd0,0)
kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.25.img
1.10 reboot,重启,选择新内核启动。
2.Linux 2.6新内核启动问题解决方法:
编译过程应该没有太大的问题,可能需要花点时间等待。
启动过程中,笔者遇到了下面2个问题,后来经过google,成功解决。
2.1 问题1:启动过程中出现Volume group “VolGroup00” not found的问题。该问题是我make menuconfig的时候,有些选项没有选择,如果按照上面笔者提到的内容选择,应该没有该问题了。
以下方法是网上搜索到的,但是没有尝试过,不知道是否能解决。修改/usr/src/linux-2.6.25/drivers/message/fusion/mptbase.c文件,增加解决Vmware BUG的语句
pfacts->IOCStatus = le16_to_cpu(pfacts->IOCStatus);
pfacts->IOCLogInfo = le32_to_cpu(pfacts->IOCLogInfo);
pfacts->MaxDevices = le16_to_cpu(pfacts->MaxDevices);
/*-------Fix VMware bug Start---------*/
if(pfacts->MaxDevices == 0) pfacts->MaxDevices = 16;
/*-------Fix VMware bug END---------*/
pfacts->PortSCSIID = le16_to_cpu(pfacts->PortSCSIID);
pfacts->ProtocolFlags = le16_to_cpu(pfacts->ProtocolFlags);
pfacts->MaxPostedCmdBuffers = le16_to_cpu(pfacts->MaxPostedCmdBuffers);
2.2 问题2:启动过程中出现Enforcing mode requested but no policy loaded. Halting now.的问题。有两种方法可以解决:
方法1:在grub.conf里把 kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 rhgb quiet变为
kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 enforcing=0 rhgb quiet
方法2:修改/etc/selinux/config配置文件,只要把SELINUX=enforcing改成SELINUX=disabled
1.1 首先从kernel.org上下载最新的内核,比如 linux-2.6.25.tar.gz
1.2 cd /usr/src
1.3 tar -zxvf linux-2.6.25.tar.gz
1.4 cd /usr/src/linux-2.6.25
1.5 make menuconfig,因为vmware使用SCSI,所以下面的内容一定要选择。(如果是M的要改为*)
Device Drivers --->SCSI device support --->SCSI low-level drivers ---> <*> BusLogic SCSI support
Device Drivers ---> Fusion MPT device support --->
<*> Fusion MPT ScsiHost drivers for SPI
<*> Fusion MPT ScsiHost drivers for FC
<*> Fusion MPT ScsiHost drivers for SAS
<*> Fusion MPT misc device (ioctl) driver
<*> Fusion MPT LAN driver
Device Drivers ---> USB support ---><M> USB Mass Storage support
Device Drivers ---> Networking support --->Ethernet (10 or 100Mbit) ---> <*> AMD LANCE and PCnet (AT1500 and NE2100) support
最好把ext2,ext3文件系统支持也编译进内核
File system --->
<*> Ext3 journalling file system support
[*] Ext3 extended attributes
[*] Ext3 POSIX Access Control Lists
[*] Ext3 Security Labels
1.6 make(编译内核),好像2.6内核已经不需要make dep和make bzImage了
1.7 make modules(编译模块)
1.8 make modules_install(安装模块)
1.9 make install(安装内核,该过程自动将编译好的内核放到启动目录,同时为/etc/grub.config下加载新的菜单项)
title Red Hat Enterprise Linux AS (2.6.25)
root (hd0,0)
kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.25.img
1.10 reboot,重启,选择新内核启动。
2.Linux 2.6新内核启动问题解决方法:
编译过程应该没有太大的问题,可能需要花点时间等待。
启动过程中,笔者遇到了下面2个问题,后来经过google,成功解决。
2.1 问题1:启动过程中出现Volume group “VolGroup00” not found的问题。该问题是我make menuconfig的时候,有些选项没有选择,如果按照上面笔者提到的内容选择,应该没有该问题了。
以下方法是网上搜索到的,但是没有尝试过,不知道是否能解决。修改/usr/src/linux-2.6.25/drivers/message/fusion/mptbase.c文件,增加解决Vmware BUG的语句
pfacts->IOCStatus = le16_to_cpu(pfacts->IOCStatus);
pfacts->IOCLogInfo = le32_to_cpu(pfacts->IOCLogInfo);
pfacts->MaxDevices = le16_to_cpu(pfacts->MaxDevices);
/*-------Fix VMware bug Start---------*/
if(pfacts->MaxDevices == 0) pfacts->MaxDevices = 16;
/*-------Fix VMware bug END---------*/
pfacts->PortSCSIID = le16_to_cpu(pfacts->PortSCSIID);
pfacts->ProtocolFlags = le16_to_cpu(pfacts->ProtocolFlags);
pfacts->MaxPostedCmdBuffers = le16_to_cpu(pfacts->MaxPostedCmdBuffers);
2.2 问题2:启动过程中出现Enforcing mode requested but no policy loaded. Halting now.的问题。有两种方法可以解决:
方法1:在grub.conf里把 kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 rhgb quiet变为
kernel /vmlinuz-2.6.25 ro root=/dev/VolGroup00/LogVol00 enforcing=0 rhgb quiet
方法2:修改/etc/selinux/config配置文件,只要把SELINUX=enforcing改成SELINUX=disabled