linux - Buildroot 不生成压缩内核映像
问题描述
我已经成功地使用 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
。或者,您可以在构建后脚本中进行压缩。
请记住确保引导加载程序能够使用该算法解压缩。
推荐阅读
- python-3.x - selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互(会话信息:chrome=81.0.4044.138)
- c - 在 C 中将节点添加到链表的末尾会导致堆栈转储
- xamarin - 当链接器设置为“全部链接”时,会发生 Xamarin 错误。无法使用依赖服务
- java - 如何在 Java 12 中迁移 nashorn 代码?
- python - 如何在 NLTK 中使用 word_tokenize 忽略单词之间的标点符号?
- python - pySpark从列表中添加列
- c++ - 计算地址差异是未定义的行为吗?
- git - git push -u 有什么区别?
- c - 如何提高 C 语言的运行时间
- powerbi - Power BI / DAX 从表中返回由切片器过滤掉的行的值