CentOS 内核裁剪

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
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_kernerl-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/xvda
default=0 #此处更改为0即为默认使用title01(2.6.32)内核启动程序,更改为1即为默认使用title02(2.6.32-279.el6.x86_64)内核启动程序.
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32)
        root (hd0,0)
        kernel /vmlinuz-2.6.32 ro root=/dev/mapper/vg_kernerl-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_kernerl/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_kernerl/lv_root rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32.img
title CentOS (2.6.32-279.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_kernerl-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_kernerl/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_kernerl/lv_root rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-279.el6.x86_64.img

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


 

猜你喜欢

转载自leadercoo.iteye.com/blog/1973959