1、清除临时文件、中间文件与配置文件
- make clean
remove most generated files but keep the config - make mrproper
remove all generated files + config files - make distclean
mrproper + remove editor backup and patch files
2、确定目标系统的软硬件配置情况,比如CPU的类型、网卡的型号,所需支持的网络协议等。
3、使用如下命令之一配置内核:
- make config
- make menuconfig
- make oldconfig
- make xconfig
4、编译内核
- make zImage
- make bzImage
区别:在x86平台,zImage只能用于小于512K的内核
*如需获取详细编译信息,可使用:
- make zImage V=1
- make bzImage V=1
**编译好的内核位于arch/<cpu>/boot/目录下**
5、编译内核模块
- make modules
6、安装内核模块
- make modules_install
**将编译好的内核模块从内核源代码目录copy到 /lib/modules下**
7、制作init ramdisk
mkinitrd initrd-$version $version (Ubuntu下面没有mkinitrd, 相应的命令为 mkinitramfs -o initrd-$version $version)
例:
mkinitrd initrd-2.6.29 2.6.29
**这是将/lib/modules/$vesion 制作成ramdisk**
*$version 可以通过查询/lib/modules下的目录得到
内核安装(x86平台)
1、 cp arch/x86/boot/bzImage /boot/vmlinuz-$version
2、 cp $initrd /boot/
3、 修改/etc/grub.conf 或者 /etc/lilo.conf (Ubuntu下面只要执行update-grub就可以了)
**$version为所编译的内核版本号**