centos 编译内核至2.6.39.4推荐

一、下载内核文件并解压至相应目录

#wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.bz2# tar jxvf linux-2.6.39.4.tar.bz2# mv linux-2.6.39.4 /usr/src

二、简要的配置内核

#cd/usr/src/linux-2.6.39.4#makemrproper//第一次编译无需运行此命令,如果之前有编译过,则需要#cp/boot/config-`uname-r`.config//copy一份当前系统的内核配置文件作参考#makemenuconfig

下面两个需要选中(两个都选中),确保.config文件中有该项

CONFIG_SYSFS_DEPRECATED_V2=y

否则编译完成重启系统时会有如下错误输出:

mount:couldnotfindfilesystem'/dev/root'Settingupotherfilesystems.Settingupnewrootfssetuproot:moving/devfailed:Nosuchfileordirectorynofstab.sys,mountinginternaldefaultssetuproot:errormounting/proc:Nosuchfileordirectorysetuproot:errormounting/sys:NosuchfileordirectorySwitchingtonewrootandrunninginit.unmountingold/devunmountingold/procunmountingold/sysswitchroot:mountfailed:NosuchfileordirectoryKernelpanic-notsyncing:Attemptedtokillinit! 

加上ext4的支持

然后保存即可

三、安装编译内核

#makeall#makemodules_install#makeinstall

完了,修改grub启动文件,以新内核启动系统便可。

PS:如果这样就以新内核启动,系统重启时会报一个错误

insmod:errorinserting /lib/dm-region-hash.ko : 1Fileexits

这ms是2.6内核的Bug,需要修改内核,并重新生成新内核文件

解压修改内核步骤

#cp/boot/initrd-2.6.39.4.img/tmp/#cd/tmp/#mkdirnewinitrd#cdnewinitrd/#zcat../initrd-2.6.39.4.img|cpio-i#rm-f/tmp/initrd-2.6.39.4.img#vi init找到这4行一样的,去掉相同的2行echo Loadingdm-region-hash.komodule insmod/lib/dm-region-hash.koecho Loadingdm-region-hash.komodule insmod/lib/dm-region-hash.ko

重新打包内核

#find.|cpio-c-o ../initrd#cd..;gzip-9 initrd initrd-2.6.39.4.img#cpinitrd-2.6.39.4.img/boot/

如果心胸不似海,又怎能有海一样的事业。

centos 编译内核至2.6.39.4推荐

相关文章:

你感兴趣的文章:

标签云: