Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29621
  • 博文数量: 6
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 116
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-28 14:21
文章分类
文章存档

2015年(1)

2014年(2)

2013年(3)

我的朋友

分类: 其他平台

2014-01-03 17:02:57

fedora8 上编译内核需要注意

         内核版本最好是同一版本,有差异的内核版本编译之后不一定能成功启动。我的fedora版本是2.6.23.1,但是我使用版本linux-2.6.35.7编译之后不能正常启动,使用linux-2.6.23能正常启动。

编译步骤:

1.         uname –r 查看内核版本(我的内核版本是2.6.23.1-42.fc8-i686),上相应的网站()下载内核版本源码(我下载的版本是linux-2.6.23.tar.bz2),并且解压到/usr/src/kernels,当然也可以是其他路径。

2.         boot 下面fedora kernel config (/boot/config-2.6.23.1-42.fc8)文件拷贝到你要编译的kernel路径里,重命名为.config。进入kernel目录,make menuconfigload,然后save,然后退出,make all

3.         Make all正确完成之后,使用make modules_install(安装模块到/lib/modules/2.6.23)make install (系统将会把vmlinuzSystem.map复制到/boot目录下同时修改grub/boot/grub/menu.lst

4.         然后重启,选择你自己编译的内核启动。

 

 编译内核之后启动失败(我遇到的问题是因为之前使用的文件系统比较旧,但是新kernel 不支持旧的文件系统类型,在新编译的kernel添加相关配置即可,以下是整理的从网上看到的相关资料)

编译内核 Volume group "VolGroup00" not found 解决方法

编译内核后重启显示

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 mrproper, make , 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 ---> 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

 原文地址 http://blog.csdn.net/douzi24/archive/2010/08/01/5781148.aspx

 

 P.S. 我的内核:2.6.16.xx(原始)---2.6.38.3(下载解压后编译)

阅读(1173) | 评论(0) | 转发(0) |
0

上一篇:Fedora8配置tftp-sever

下一篇:samba服务器配置

给主人留下些什么吧!~~