CentOS 6.4升级内核小结

安装CentOS 6.4之后,内核默认是2.6.32。
由于Ceph客户端需要3.4.20或者3.6.6以上的内核,所以需要对内核进行升级。

1. 安装必要组件
# yum -y install ncurses-devel # 后续的make menuconfig依赖于该组件

2. 下载合适的源码包并解压
# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.6.6.tar.xz
# tar -Jxvf linux-3.6.6.tar.xz
# mv linux-3.6.6 /usr/src/linux-3.6.6
# cd /usr/src/linux-3.6.6

3. 编译配置
# make mrproper # 清除环境变量,即清除配置文件
# make menuconfig # 在菜单模式下选择需要编译的内核模块
进入Networking support —> Networking options —> Network packet filtering framework (Netfilter)
(1) Core Netfilter Configuration
A 勾选“Netfilter connection tracking support”。
B 将“NetBIOS name service protocal support”编译成模块。
C 勾选“Netfilter Xtables support (required for ip_tables)”。
(2) IP: Netfilter Configuration
A 勾选“IPv4 connection tracking support (require for NAT)”。
B 勾选“IP tables support (required for filtering/masq/NAT)”。
C 将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。
(3) 其它模块可以根据自己的需要进行选择(例如我需要勾选Ceph相关项),具体可以参考内核配置手册。

4. 编译和安装
# make clean # 确保所有东西均保持最新状态
# make bzImage # 生成内核文件
# make modules # 编译内核模块
# make modules_install # 编译安装模块
# make install # 安装,如果出现了ERROR: modinfo: could not find module xxx,数量少的话,可以忽略。

5. 修改Grub引导顺序
# vim /etc/grub.conf
default=0

6. 重启并验证
# reboot
# uname -r

你可能感兴趣的:(centos,内核)