1.解压内核源代码到某个目录中
2.make distclean清理内核中间文件与配置文件
3.选择参考配置文件
cp /boot/config-2.6.18-53.e15 .config
4.配置内核使.config生效
make menuconfig
退出
5.编译内核make bzImage 编译完成后,生成的内核镜像文件位于:/arch/x86/boot目录下
6.编译内核模块make modules
7.安装内核模块make modules_install
安装完成后,编译好的内核模块从源代码目录赋值到了/lib/modules,可查看该目录下
8.制作并初始化RAM磁盘initrd
initramdisk作用:提供一种让内核可以简单实用ramdisk的能力。这些能力包括:格式化一个ramdisk、加载文件系统到ramdisk、将ramdisk作为根文件系统
在linux-2.6.29(内核源代码)目录的上层目录,执行:
mkinitrd initrd-2.6.29 2.6.29 (将内存中的一块拿出来做硬盘)
那么就会生成文件initrd-2.6.29
9.安装内核
由于Linux系统启动时候,会从/boot目录下来寻找文件与init ramdisk,所以需要将编译好的内核(就是bzImage)和init ramdisk复制到/boot目录下;
cp initr-2.6.29 /boot
cp linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29(vmlinuz-2.6.29为内核,名字可以随便去取 但是和grub里要一致,initrd-2.6.29为init ramdisk)
10.制作linux内核选择项
vim /etc/grub.conf
title my linux(2.6.29)
root (hd0,0)
kernel /vmlinuz-2.6.29 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.29
其中的 kernel /vmlinuz-2.6.29(要与上面的内核名相同)