想用KVM,而不太想用Xen,折腾来折腾去,最后决定升级内核。
先到 Linux Kernel ( http://www.kernel.org/ ) 找一个稳定的版本,我选了2.6.27.46 。
安装的过程很简单,
1, 准备
tar -jxvf linux-2.6.27.46.tar.bz2 -C /usr/src
cd /usr/src/linux-2.6.27.46
make mrproper
以上完成了准备工作,其中 make mrproper是做清理,保证整个代码清洁。
2, 配置选项
这一步最关键,配置好是升级内核成功的关键。有几种选择:
1) make config
这种是最简单的,一问一答的形式
2) make menuconfig
简单的菜单,我用这种形式,感觉不错,推荐。
3) make gconfig 或 make xconfig
这两个,一个是基于Qt,一个是gtk吧,具体的不知道。
具体的配置,我没有用现在已有内核的配置,直接在默认配置上来,我主要改动的用三处吧
1) 在processer family里选了自己机器的cpu类型
2) 在virtualization里选了kvm 等。
3) 在File system中把ext3选为build-in。
4) 就是iptables的一些,第一次没有注意到这里,新内核启动后iptables不能正常工作,害的我又重新配置,重新编译了一遍。
有个《 iptalbes中文HOWTO文档》,里面讲的很详细吧,大家百度(或google?)一下吧。
3,编译,安装
make bzImage
make modules
make modules_install
make install
这样就好了,新的内核已经加入到grub的menu.lst中了,不过没有设为默认。
重启,在grub中选新内核启动,有两个FAILED,一个是“Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]”,我在以下网址上找到了解决方案:
http://www.linode.com/wiki/index.php/CentOS#TIP:_Loading_additional_iptables_modules_.5BFAILED.5D
另一个是 eth0找不到,可能是原来的网卡驱动在新内核下不能很好的运行吧,我是intel的网卡,就去其官网下了驱动,重新安装后就好了。
好,现在把grub的默认启动改了,开始体验新内核!