1、首先下载内核
从http://www.kernel.org下载内核源码包(linux-2.6.32.tar.gz)。
2、解压内核
#tar jxvf linux.2.6.32.tar.bz2
3、清理中间文件配置文件
#cd linux-2.6.32
#make distclean
4、选择参考配置文件
使用正在运行的RHEL6的内核配置作为参考
#cp /boot/config-2.6.32-431.el6.i686 .config
复制/boot/目录下config-2.6.32-431.el6.i686文件至当前目录,并重命名为隐藏文件.config
5、配置内核
使.config文件配置生效
#make menuconfig
弹出基于文本模式的菜单型配置
保存,退出
6、编译内核
#make bzImage
大概需要几分钟时间,产生的内核映象bzImage位于arch/x86/boot/目录下
7、编译内核模块
#make modules
8、安装内核模块
make modules_install
完成安装后,编译好的内核模块会从源码目录复制到/lib/modules/目录下
9、制作init ramdisk
#mkinitrd initrd-2.6.32 2.6.32
作用:提供一种让内核可以简单使用ramdisk的能力,包括:格式化一个ramdisk;加载文件系统内容到ramdisk;将ramdisk作为根文件系统。
指令:mkinitrd initrd-version version
例:mkinitrd initrd-2.6.29 2.6.29
**version 可以通过查询/lib/modules下的目录得到
10、安装内核
#cp linux-2.6.32/arch/x86/boot/bzImage /boot/vmlinuz-2.6.32
#cp /lib/modules/initrd-2.6.32 /boot/
linux系统启动时,会从/boot目录下寻找内核文件与init ramdisk,故将制作好的内核文件与init ramdisk文件复制到/boot目录下
(vmlinuz-2.6.32文件名可以任意取(不推荐))
11、修改启动文件grub.conf
#vi /etc/grub.conf
12、重启系统
会发现grub选择菜单中多了我们刚制作好的内核,进入内核测试能否使用。