1.下载系统对应内核版本
https://www.kernel.org/pub/linux/kernel/
2.将本机内核配置文件拷贝至新下载的内核包中
# tar -zxvf linux-2.6.32.tar.gz # cd linux-2.6.32 # cp /boot/config-2.6.32-279.el6.x86_64 .config |
3.使用make menuconfig进行内核裁剪(此处实例为去掉USB模组)
# make menuconfig |
选择Device Drivers “回车”
选择USB support 按"空格"取消支持
按两下"Esc"退出一层配置(退出两次)
选择“Yes”保存配置
4.编译安装裁剪后的内核文件
# make # make bzImage # make modules # make modules_install # make install |
若最后一步make install后出错ERROR: modinfo: could not find module ***
查看/boot下关键文件的日期
# ls -l /boot/ total 38775 -rw-r--r--. 1 root root 101820 Jun 22 2012 config-2.6.32-279.el6.x86_64 drwxr-xr-x. 3 root root 1024 Nov 8 10:06 efi drwxr-xr-x. 2 root root 1024 Nov 11 18:58 grub -rw-r--r--. 1 root root 16186595 Nov 8 10:09 initramfs-2.6.32-279.el6.x86_64.img -rw-r--r--. 1 root root 11369936 Nov 11 18:58 initramfs-2.6.32.img drwx------. 2 root root 12288 Nov 8 09:30 lost+found -rw-r--r--. 1 root root 179157 Jun 22 2012 symvers-2.6.32-279.el6.x86_64.gz lrwxrwxrwx. 1 root root 23 Nov 11 18:57 System.map -> /boot/System.map-2.6.32 -rw-r--r--. 1 root root 2056341 Nov 11 18:57 System.map-2.6.32 -rw-r--r--. 1 root root 2341856 Jun 22 2012 System.map-2.6.32-279.el6.x86_64 lrwxrwxrwx. 1 root root 20 Nov 11 18:57 vmlinuz -> /boot/vmlinuz-2.6.32 -rw-r--r--. 1 root root 3451632 Nov 11 18:57 vmlinuz-2.6.32 -rwxr-xr-x. 1 root root 3986608 Jun 22 2012 vmlinuz-2.6.32-279.el6.x86_64 |
均为编译安装前后不久的时间即可忽略
5.更改启动内核
# vi /boot/grub/menu.lst # grub.conf generated by anaconda |
6.验证
重启前查看内核版本
# uname -a Linux kernerl 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux |
重启后查看内核版本
# uname -a Linux kernerl 2.6.32 #1 SMP Mon Nov 11 18:40:28 CST 2013 x86_64 x86_64 x86_64 GNU/Linux |