linux内核第四记
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没有),到此还没完。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)