我已经成功地使用buildroot(v。2019.05)来构建u-boot和Kernel,并且能够一起引导它。
问题是,即使我将内核压缩模式选择为gzip
,我得到的只是未压缩的Image
文件。
在输出目录(以及Linux)中,只有Image
文件,而应该有Image.gz
。
如何Image.gz
从/代替生成Image
?
在arm64上,Linux不支持自解压压缩。它依赖于引导加载程序来执行此操作。
Linux构建系统确实有一个Image.gz
(Image.bz2
等等)目标,但是它除了调用外没有其他gzip
作用Image
(与进行比较zImage
,这会添加一个自解压器)。
由于在内核构建系统外部进行压缩很容易,并且由于存在许多不同的压缩器,因此Buildroot不为其提供选项。但是,可以选择一个自定义图像名称(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
),然后设置BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
为Image.gz
。或者,您可以在构建后脚本中进行压缩。
请记住要确保引导加载程序能够使用该算法解压缩。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句