微信公众号:杰夫弹弹看
分类: LINUX
2010-01-03 19:19:09
首先进行修改内核的步骤:
1.修改相应的c源文件
2.修改相应的Kconfig
3.修改相应的makefile (如果添加了其他的源文件)
然后开始内核的编译步骤:
------------------------------------------------------------------------
注:如果不是初次编译,那么要在第5,6步之间运行下面的命令
make dep (检查编译过程中的依赖的文件和头文件的一致性)
make clean (清除旧的目标文件)
------------------------------------------------------------------------
5. 首先make menuconfig,进行相关的配置,会生成内核配置文件
6. 然后运行make命令 (编译内核)
7. 运行make modules (编译模块) //这一步在2.6以后的内核不需要了,make命令已经集成了对模块的编译,本人在2.6.30.10的编译中也确定了这一说法
8. 运行make modules_install (安装编译好的模块)
9. 运行 mkinitramfs -o /boot/initrd-2.6.30.img /lib/modules/2.6.30(生成内核镜像文件)
10. 运行make install (安装内核)
11. 接下来就是修改启动选项,将你所编译成功的内核加载到启动选项中:
运行gedit /boot/grub/menu.lst
按照上面原来的内核的启动选项格式书写即可。
注意:
1.如果在第5步没有进行相关的其他配置(除了对自己编写模块的编译配置),那么最终生成的initrd文件会很大,比如我编译2.6.30.10的内核后就有57M多,而ubuntu系统自带的仅有8M多。
2. 不要把7,8,9,10的顺序颠倒,具体结果没试验。
3. 第10步将复制内核到boot目录,生成system.map。
4. 第11步中menu.lst的vmlinuz及initrd的具体名字要和运行9,10后在/boot生成相关的文件一致。
本文参考了http://blog.chinaunix.net/u2/73525/showart_2015506.html,在此感谢!