本操作在Red hat5.4下进行的,本人在升级过程中出现了一些问题,都在网上找到了解决方案,现把它整理一下。
一、内核配置与编译
1、make mrproper 清除临时文件、中间文件和配置文件;
同类命令
make clean :remove most generated files but keep the config
make distclean :remove editor backup and patch files
2、make menuconfig:基于文本模式的菜单型配, 选中General setup---> enable deprecated sysfs features to support old userspace too---> enabled deprecated sysfs features by default 否则启动时会出现mount: could not find filesystem '/dev/root'错误
同类命令
make config :基于文本模式的菜单型配置
make oldconfig :使用已有的配置文件.config,但是会询问新增的配置选项
make xconfig :图形化的配置(需安装图形化系统)
3、make bzImage 编译内核
同类命令
make zImage 在x86平台,zImage只能用于小于512k的内核 V=1获取详细编译信息
4、make modules 编译内核模块
5、make modules_install 安装内核模块(copy 到内核模块/lib/modules)
6、mkinitrd initrd-2.6.37.2 2.6.37.2 制作init ramdisk
二、内核安装
1、cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.37.2
2、cp initrd-2.6.37.2 /boot/
3、修改/etc/grub.conf 或/etc/lilo.conf
查看grub.conf注释修改
4、reboot
如果出现insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists错误
[root@localhost linux-2.6.37.2]# cp /boot/initrd-2.6.37.2 /tmp
[root@localhost linux-2.6.37.2]# cd /tmp
[root@localhost tmp]# mkdir temp
[root@localhost tmp]# cd temp/
[root@localhost temp]# zcat ../initrd-2.6.37.2 |cpio -i
11358 blocks
[root@localhost temp]# vi init
删除这四行
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
[root@localhost temp]# find .|cpio -c -o >../initrd
11358 blocks
[root@localhost temp]# cd ..
[root@localhost tmp]# gzip -9 initrd-2.6.37.2
阅读(1334) | 评论(0) | 转发(0) |