我已经成功地使用buildroot(v.2019.05)构建了U-boot和内核,并且能够一起引导它。
问题是,即使我选择了内核压缩模式gzip,我得到的只是未压缩的Image文件。
在输出目录(以及Linux)中只有Image文件,而应该有Image.gz文件。
如何从/而不是从Image.gz生成Image

最佳答案

在arm64上,linuxdoes not support self-extracting compression。它依赖于引导加载程序来完成这项工作。
Linux构建系统确实有一个Image.gz(和Image.bz2等)目标,但它只不过是在gzip上调用Image(与添加自解压器的zImage相比)。
由于在内核构建系统之外进行压缩是很容易的,而且可能有很多不同的压缩器,所以buildroot没有为它们提供选项。但是,可以选择自定义图像名称(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),然后将BR2_LINUX_KERNEL_IMAGE_TARGET_NAME设置为Image.gz。或者,可以在生成后脚本中进行压缩。
记住要确保引导加载程序能够使用该算法进行解压缩。

关于linux - Buildroot不会生成压缩的内核镜像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56187180/

10-11 23:01
查看更多