linux内核编译
1.编译内核:
·make zImage
·make bzImage
区别:在X86平台,zImage只能用于小于512k的内核。
·sudo make zbImage:
如果想获得详细的编译信息便于查找错误:
·make zImage V=1
·make zbImage V=1
·make zbImage V=1:
编译好的内核位于arch/<cpu>/boot/目录下的bzImage文件如下图:
2.编译内核模块:
·sudo make modules(这里就不再截图了)
3.安装内核模块
·make modules_install,将编译好的内核模块从内核的源代码目录copy到/lib/modules下;
4.制作init ramdisk
·mkinitrd initrd-$version version
在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkintramfs.
它们的用法稍微有些不一样,如下所示:
mkinitrd /boot/initrd.img 2.6.26
mkintramfs 2.6.26 -o /boot/initrd.img
其中2.6.26为/lib/modules下的目录名称.
参见:http://blog.csdn.net/mayouyang/article/details/3997849
注意看两个命令,其实没有boot和有boot是一样的。如图下:
但是在linux-2.6.35.13下:
定制ramdisk后:
5.内核安装:
5.1 cp arch/x86/boot/bzImage /boot/vmLinuz-2.6.35.13
5.2 cp initrd-2.6.35.13 /boot/
5.3 修改/etc/grub.conf(我的Ubuntu没有),到此还没完。