使用 make 配置和构建内核后,为什么我没有vmlinuz-<version>-default.img
和initrd-<version>.img
,但只有一个巨大的vmlinux
二进制文件(~150MB)?
答案1
压缩后的图像位于 下方arch/xxx/boot/
,其中xxx
是拱门。例如,对于x86
和amd64
,我在 处获得了压缩图像/usr/src/linux/arch/x86/boot/bzImage
,以及/usr/src/linux/vmlinux
。
如果您仍然没有图像,请检查是否bzip2
已安装并正常工作(但我想如果这就是问题所在,您会收到一条描述性错误消息,例如“未找到 bzip2”)。
此外,内核配置允许您选择压缩方法,因此如果更改内核设置,实际文件名和压缩算法可能会有所不同。
正如其他人已经提到的,initrds 是不是由linux编译过程生成,但也可以由其他工具生成。请注意,除非出于某种原因,您需要外部文件(例如,您需要模块或 udev 来识别或挂载/
),否则您不需要 initrd 来引导。
答案2
根据文档:
http://tldp.org/LDP/lame/LAME/linux-admin-made-easy/kernel-custom.html
当你这样做时:
制作 bzImage
进而:
cp bzImage vmlinuz
创建 vmlinuz 文件。即,它们是相同的文件:-)。