CentOS 5.5下编译安装新内核

来源:互联网 发布:ubuntu搭建hadoop 编辑:程序博客网 时间:2024/05/16 06:38

第一步:下载内核

传送门:地址.笔者下载的是3.2.84版本

第二步:解压编译内核

由于我下的是.tar.xz文件,用tar命令不能直接解压。
1.我的系统里不带xz解压软件,先下载xz-5.0.3.tar.bz2文件并解压安装

tar -jvxf xz-5.0.3.tar.bz2 cd  /opt/xz-5.0.3    #进入解压后的文件夹./configuremakemake install

2.解压内核

xz -d linux-3.2.84.tar.xztar -xvf linux-3.2.84.tar

3.如果是第一次编译内核,并没有上次残留的文件可以跳过该步骤(最好仔细看下指令对应的功能)

make mrproper             make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。

4.搭建编译内核所需要的环境

yum -y install gccyum install ncurses ncurses-develyum install openssl-devel

5.进入内核解压文件夹配置内核参数
由于我是个小白不会选,为了方便,直接用make localmodconfig命令,这个命令是以本来的.config文件为基础去选,可以参考论文:嵌入式linux系统的裁剪优化和测试技术.然后我就一直回车直到结束。然后再输入make menuconfig命令进入图形选择菜单,将kenel hacking中的Sample..选项去掉(具体那一项我忘了,尴尬),退出保存。然后编辑.config文件中的“CONFIG_SYSFS_DEPRECATED”(如果没有那就改CONFIG_SYSFS_DEPRECATED_V2),默认该选项为not set,被注释掉的,将其改为y,即修改为“CONFIG_SYSFS_DEPRECATED=y”,在编译完一遍内核之后可能会出现“CONFIG_SYSFS_DEPRECATED_V2”,所以在编译一遍之后最好再重新编辑一下这一项,改为y,在编译一遍。
6.编译新内核

make bzImage && make modules && make modules_install

7.安装内核

make install

8.编译安装可能出现的情况
应该是没什么问题, 不过也不排除会出现下面的情况:make:警告:检测到时钟错误。您的创建可能是不完整的。
解决办法:find . -type f -exec touch {} \;
重新编译下就好了。
9.处理下img中的东西(我说不清楚= =)
1)解压initrd文件

# cp /boot/initrd-3.2.84.img /tmp# cd /tmp/# lsinitrd-2.6.30.4.img# mkdir newinitrd# cd newinitrd/# zcat ../initrd-2.6.30.4.img | cpio -i

释放之后看到如下内容

# lsbin   dev   etc   init   lib   proc   sbin   sys   sysroot

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 -c -o > ../initrd11538 blocks# cd ..# gzip -9 < initrd > initrd.img# lsinitrd-2.6.30.4.img    initrd    initrd.img     

这里面的initrd.img就是重新打包后的文件。
4)把initrd.img复制到/boot下
命令:#cp initrd.img /boot
5)修改grub.config,在/etc文件夹下
把initrd-3.2.84.img改为initrd.img就可以了
6)reboot重启 记得选择自己的内核!别错过啦!

这是个人的经验,希望对大家有点帮助!如果有不对的地方,还请不吝赐教!

0 0
原创粉丝点击