感谢支持
我们一直在努力

实战Linux内核升级到3.0.4

一、环境


Linux:RedHat 5.4


内核版本  2.6.18       (用命令uname –a 查看)


计划新内核版本  Linux-3.0.4.tar.bz2   (文件保存在 /usr/src中)


操作用户:root


二、内核裁剪计划:


拷贝/boot/config-2.6.18-164.el5 到源代码目录并改名为.config,由于内核选项多达上千条,所以用当前内核版本配置文件为蓝本,在它的基础上配置。内核的具体裁减可参考网络上的其他文章(一定要加入RAM disk support 和initial RAM disk (initrd) support 的支持,要不然等下你的新系统肯定启动不了)


三、编译准备


1、解决红帽的源更新问题,替代方案:使用CentOS的源


cd /usr/src


rpm -qa|grep yum                                               查看yum包


rpm -qa|grep yum|xargs rpm -e –nodeps           卸载rhel的默认安装的yum包


wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-33.el5.centos.noarch.rpm


wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm


wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm


rpm  -ivh  yum-*                                                  同时安装新的yum


cd  /etc/yum.repos.d/


wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo              下载yum的配置源


yum  makecache                                                生成缓存


2、准备相关软件包


yum install rpmdevtools yum-utils ncurses-devel make rpm-build rpm-devel


yum install ncurses ncurses-devel


3、安装gcc编译包


yum -y install gcc


四、源码编译安装


1、解压源码


cd /usr/src


tar xvf linux-3.0.4.tar.bz2


2、清除环境变量,即清除配置文件,如果是第一次编译,可省略该步骤


make mrproper


cd linux-3.0.4


3、定制内核配置:(以下几种方法任选一种)


make menuconfig  | make config | make menuconfig | make xconfig | make gconfig


进入后load旧配置文件,然后再根据自己的需要修改,完后则保存


4、编译内核


make


5、安装内核模块


make modules_install


6、安装内核(自动方式)


make install


五、收尾工作:


1、清除多余的文件(可略)


make  clean


2、重启系统


reboot     或          shutdown -r now


3、出现启动画面时,按  e  方出现启动菜单


其他一:手动安装内核方式


make  bzImage


cp  bzImage  /boot/vmlinuz-3.0.4


cp  System.map  /boot/System.map-3.0.4


mkinitrd   /boot/initrd_2.6.30.img   2.6.30


update-grub


其他二:重启报错 insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits 解决方法:


1、解压initrd文件


mkdir  /tmp/mylinux


cp  /boot/initrd-3.0.4.img  /tmp/mylinux/initrd-3.0.4.img.gz


cd  /tmp/mylinux


gunzip  initrd-3.0.4.img.gz


cpio  -id  <  initrd-3.0.4.img


2、下边就是编辑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


3、重新打包initrd


find  .  |  cpio  -H  newc  -o  –quiet  |  gzip  -9  >  /boot/initrd-3.0.4.img


ps:其实将init文件的第二行setquiet去掉,就知道initrd文件到底在做什么了

赞(0) 打赏
转载请注明出处:服务器评测 » 实战Linux内核升级到3.0.4
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏