专职C++

不能停止的脚步

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  156 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用链接

留言簿(13)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

原网址:http://www.ha97.com/2700.html
昨天偶去Linux内核网站(www.kernel.org)上逛时,发现最新的Linux Kernel稳定版已经是2.6.35.1,近来内核版本更新好快哦。下图中的stable就是稳定版的意思:

于是决定找个时间编译升级下CentOS 5.5的内核,CentOS 5.5所带的内核还是2.6.18.x系列,有点老了。因为之前偶编译过LFS与Gentoo,编译内核有一些经验了,所有这次还比较顺利。本次编译的系统是32位的,64位的稍有不同。下面的笔记在虚拟机与物理机中都验证通过,所有操作全部以root权限在终端进行。

下面是本次编译升级了到今天为止最新的稳定版内核2.6.35.1版的笔记总结:

编译前的准备工作:

要成功地创建一个内核,需要安装下列组件:

yum groupinstall “Development Tools” #这样做会确定你拥有编译时所需的一切工具。
yum install ncurses-devel #这样才能让 make *config 这个指令正确地执行。
yum install qt-devel #如果你用 make xconfig 而不是 make gconfig 或 make menuconfig,才需要这样做。

1、下载新内核源码包:

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.1.tar.bz2
tar jxvf linux-2.6.35.1.tar.bz2
cd linux-2.6.35.1

2、下载内核标准配置文件:

wget http://www.ha97.com/code/config
mv config .config

3、编译内核:

make dep
注:选择编译进去内核的模块,默认回车即可。这一步如果系统时间不正确会提示“警告:检测到时钟错误。您的创建可能是不完整的。”的警告。解决方法:把时间改正确或者运行下面的命令再make

find . -type f -exec touch {} ;

make bzImage
make modules
make modules_install
make install

4、解压修改内核:

cp /boot/initrd-2.6.35.1.img /tmp/
cd /tmp/
mkdir newinitrd
cd newinitrd/
zcat ../initrd-2.6.35.1.img |cpio -i
rm -fr /tmp/initrd-2.6.35.1.img

vim init

找到这2段一样的,去掉其中1段重复的:

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

5、从新打包新内核:

find .|cpio -c -o > ../initrd
cd ../
gzip -9 < initrd > initrd-2.6.35.1.img
rm -fr /boot/initrd-2.6.35.1.img
cp initrd-2.6.35.1.img /boot
rm -fr /usr/src/linux-2.6.35.1.tar.bz2
rm -fr /usr/src/linux-2.6.35.1

6、设置从新内核启动系统:

vim /boot/grub/grub.conf

把default=1改为default=0

7、重新启动系统:

reboot

8、如图所示,启动成功,OK。

posted on 2010-12-23 15:39 冬瓜 阅读(735) 评论(0)  编辑 收藏 引用 所属分类: 转贴linux

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理