正在加载...

昨天偶去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。

: http://www.ha97.com/2700.html

本文相关评论 - 才 7 条评论
小马哥
2010-08-18 09:16:50
Firefox 3.6.3 Firefox 3.6.3 Linux Mint 9 Linux Mint 9

谢谢分享!我也找个时间试试~

2010-08-19 12:05:21
Google Chrome 5.0.375.126 Google Chrome 5.0.375.126 GNU/Linux GNU/Linux

关于内核自定义编译可以参考:http://www.ha97.com/2333.html

tencool
2010-11-16 15:09:07
Internet Explorer 6.0 Internet Explorer 6.0 Windows XP Windows XP

你好!
我按你说的方法在笔记本(acer 4741G)上编译了2.6.36的内核,升级成功了,但是出现了一个错误,”eth0的物理地址与分配的不一致,进入系统后,上不了网,能识别网卡,但插入网线也没有反应,还是显示一个叉,希望能指点.

2010-11-19 11:52:29
Firefox 3.6.9 Firefox 3.6.9 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 6

eth0的物理地址与分配的不一致?这个错误还真没遇到过,编译内核时有提示什么错误吗?你自己手动修改过mac地址?

来子
2011-05-12 14:07:47
Firefox 3.0.18 Firefox 3.0.18 Red Hat Enterprise Linux 5.4 x64 Red Hat Enterprise Linux 5.4 x64

我的电脑也是宏基的。。跟你的问题差不多。有人说是:
进入 /etc/sysconfig/network 或者/etc/sysconfig/network-scripts ,编辑eth0配置文件。比较在配置文件里面的Mac地址与输入ifconfig 输出的mac地址,如果两者不一致,统一为ifconfig输出的mac地址,然后重启

http://hi.baidu.com/yss1983/blog/item/403f4894e4583c7f55fb96aa.html

herofyf
2011-01-07 15:14:47
Internet Explorer 8.0 Internet Explorer 8.0 Windows 7 Windows 7

感谢!

zl
2011-05-15 10:20:45
Firefox 4.0.1 Firefox 4.0.1 Windows 7 x64 Edition Windows 7 x64 Edition

求教个问题
为什么使用你的config文件就会生成system.map
我自己配置的就没有呢?