Linux内核具有可定制的有点,具有步骤如下:
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:使用已有的配置文件(.config),但是会询问新增的配置选项。
*make xconfig:图形化的配置(需安装图形化系统)。
选择为“*”,“M”,“”的区别:
“”不会被编译
“M”会编译.O,不会连接生成uImage
“*”编译.O,会连接生成uImage
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 ramdik
mkinitrd initrd-$version $version
例:
mkinitrd initrd-2.6.29 2.6.29
*$version可以通过查询/lib/modules下的目录得到