linux2.6.39编译安装,centos 编译内核至2.6.39.4

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

# wget http://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 # make mrproper //第一次编译无需运行此命令,如果之前有编译过,则需要 # cp /boot/config-`uname -r` .config //copy一份当前系统的内核配置文件作参考 # make menuconfig

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

CONFIG_SYSFS_DEPRECATED_V2 = y

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

mount: could not find filesystem '/dev/root'  Setting up other filesystems.  Setting up new root fs  setuproot: moving /dev failed: No such file or directory  no fstab.sys, mounting internal defaults  setuproot: error mounting /proc: No such file or directory  setuproot: error mounting /sys: No such file or directory  Switching to new root and running init.  unmounting old /dev  unmounting old /proc  unmounting old /sys  switchroot: mount failed: No such file or directory  Kernel panic - not syncing: Attempted to kill init!

18636_0.png

加上ext4的支持

18636_1.png

然后保存即可

三、安装编译内核

# make all # make modules_install # make install

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

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

insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits

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

解压修改内核步骤

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

重新打包内核

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

# cp initrd-2.6.39.4.img /boot/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值