第一步:要编译内核就必须有新的内核,可以从Kernel官方网站www.kernel.org上下载最新的内核源码,解压,进入目录;
第二步:清除垃圾(这一步:一般是在就内核重新编译时使用,在编译新的内核是不需要); make clean及make mrproper;
第三步:进行内核裁减配置; 内核裁减配置的原则: 从实际出发。 如:根据支持的硬件设备来决定需要选择的驱动模块,根据需要选择所支持的文件系统格式等; 具体配置命令为: make config :通过命令接口,依次要求你设定每个选项,如果.config文件存在,会根据该文件来设置默认值; make menuconfig :显示以curses为基础的、终端式的配置菜单。 make xconfig :图形界面,显示以Tk为基础X Window配置菜单。 最常用的为:make menuconfig(注:需要ncurses的rpm包)。 说明:这一步中选择为M模式的,编译到/lib/modules/下相关目录文件中;选择为*模式的,编译到内核中即/boot/vmlinuz中,启动时加载到内核中。 具体内核裁减配置参阅其它资料。
第四步:生成依赖关系(make dep) 内核源码树中大多数文件都会与一些头文件有依存关系,要想编译内核顺利,在正式编译前必须让内核源码树中的各个Makefile文件知道这些依存关系。 依存关系建立期间会在内核源码树中每个子目录里产生一个隐藏的.depend文件,此文件内含子目录里各个文件所依存的头文件清单。 第五步:建立内核映像和模块 2.4内核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage内核映像文件; make modules :在相应目录下生成内核模块(即驱动模块) 2.6内核:make :作用相当于make bzImage与make modules
第六步:安装模块(make modules_install) 让make modules或make 过程中产生的.o驱动模块拷入/lib/modules/下相应目录中;
第七步:安装内核 第一种情况:直接使用make install命令即可。 第二中情况:先采用cp arch/i386/boot/bzImage /boot/×××(×××表示自己随意的命名) mkinitrd /boot/×××.img 2.6.12.6(内核版本号) 修改/boot/grub/grub.conf即可。 ok,经过以上的繁琐而必要的过程后,如果过程顺利的话,重启系统即可使用刚编译完的内核了。