Linux Buildroot不';t生成压缩的内核图像

Linux Buildroot不';t生成压缩的内核图像,linux,kernel,embedded,buildroot,Linux,Kernel,Embedded,Buildroot,我已经成功地使用buildroot(v.2019.05)构建了u-boot和内核,并且能够一起引导它 问题是,即使我将内核压缩模式选择为gzip,我得到的只是未压缩的图像文件 在输出目录(以及Linux)中只有Image文件,而应该有Image.gz 如何从图像生成图像.gz而不是图像?根据: 此选择只会确保生成正确的主机工具。 内核的实际压缩应该在内核中选择 配置菜单 确保您也使用Make linux menuconfig选择了压缩选项。根据: 此选择只会确保生成正确的主机工具。 内核的实际压

我已经成功地使用buildroot(v.2019.05)构建了u-boot和内核,并且能够一起引导它

问题是,即使我将内核压缩模式选择为
gzip
,我得到的只是未压缩的
图像文件

在输出目录(以及Linux)中只有
Image
文件,而应该有
Image.gz

如何从
图像生成
图像.gz
而不是
图像

根据:

此选择只会确保生成正确的主机工具。 内核的实际压缩应该在内核中选择 配置菜单

确保您也使用
Make linux menuconfig
选择了压缩选项。

根据:

此选择只会确保生成正确的主机工具。 内核的实际压缩应该在内核中选择 配置菜单


确保您也使用
Make linux menuconfig
选择压缩选项。

在buildroot中,除了选择压缩机制外,您还可以选择内核映像的输出格式(uImage、zImage、vmlinux…)

您应该在
output/images/
或内核的build目录中找到

当使用U-boot时,您可能希望使用uImage或zImage。看见如果在内核配置(CONFIG_kernel_GZIP)中选择,这两个文件都将被压缩

在引导期间,内核的未压缩大小记录在开始处。您可以将其与文件系统上的大小进行比较

## Booting kernel from Legacy Image at 10000000 ...
   Image Name:   Linux-4.14.73-ltsi
   Created:      2019-05-14  11:55:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4684016 Bytes = 4.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
...

在buildroot中,除了选择压缩机制外,还可以选择内核映像的输出格式(uImage、zImage、vmlinux…)

您应该在
output/images/
或内核的build目录中找到

当使用U-boot时,您可能希望使用uImage或zImage。看见如果在内核配置(CONFIG_kernel_GZIP)中选择,这两个文件都将被压缩

在引导期间,内核的未压缩大小记录在开始处。您可以将其与文件系统上的大小进行比较

## Booting kernel from Legacy Image at 10000000 ...
   Image Name:   Linux-4.14.73-ltsi
   Created:      2019-05-14  11:55:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4684016 Bytes = 4.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
...
在arm64上,Linux。它依赖于引导加载程序来实现这一点

Linux构建系统确实有一个
Image.gz
(和
Image.bz2
等)目标,但它只不过是在
Image
上调用
gzip
(与添加自提取器的
zImage
相比)

由于在内核构建系统之外进行压缩很容易,而且可能有很多不同的压缩器,Buildroot没有为它们提供选项。但是,可以选择自定义映像名(
BR2\u LINUX\u KERNEL\u image\u TARGET\u custom
),然后将
BR2\u LINUX\u KERNEL\u image\u TARGET\u name
设置为
image.gz
。或者,您可以在生成后脚本中进行压缩

请记住,确保引导加载程序能够使用该算法解压缩。

在arm64、Linux上。它依赖于引导加载程序来实现这一点

Linux构建系统确实有一个
Image.gz
(和
Image.bz2
等)目标,但它只不过是在
Image
上调用
gzip
(与添加自提取器的
zImage
相比)

由于在内核构建系统之外进行压缩很容易,而且可能有很多不同的压缩器,Buildroot没有为它们提供选项。但是,可以选择自定义映像名(
BR2\u LINUX\u KERNEL\u image\u TARGET\u custom
),然后将
BR2\u LINUX\u KERNEL\u image\u TARGET\u name
设置为
image.gz
。或者,您可以在生成后脚本中进行压缩


请记住确保引导加载程序能够使用该算法进行解压缩。

谢谢,但由于某些原因,“内核压缩模式”在我的内核配置的“常规设置”中不可见。谢谢,但由于某些原因,“内核压缩模式”在我的内核配置的“常规设置”中不可见。谢谢,我搜索
CONFIG\u KERNEL\u GZIP
,它是“内核压缩模式”的一个选项,但这个选项在我的内核配置中不可见。我在buildroot
menuconfig
中启用了
gzip
,然后在buildroot目录中启用了
makelinux menuconfig
,在“常规设置”下没有看到“内核压缩模式”。此选项取决于
HAVE_KERNEL\u GZIP
,但我不知道如何/为什么不设置它。你知道为什么我看不到“内核压缩模式”吗?谢谢,我搜索了
CONFIG\u Kernel\u GZIP
,它是“内核压缩模式”的一个选项,但是这个选项在我的内核配置中不可见。我在buildroot
menuconfig
中启用了
gzip
,然后在buildroot目录中启用了
makelinux menuconfig
,在“常规设置”下没有看到“内核压缩模式”。此选项取决于
HAVE_KERNEL\u GZIP
,但我不知道如何/为什么不设置它。你知道为什么我看不到“内核压缩模式”吗?谢谢,就是这样。我使用buildroot生成的
Image
文件(准确地说是内核),并使用命令
gzip Image
获取
Image.gz
,然后在我的*.its文件中简单地设置
compression=“gzip”
。比我想象的简单多了,谢谢,谢谢,就是这样。我使用buildroot生成的
Image
文件(准确地说是内核),并使用命令
gzip Image
获取
Image.gz
,然后在我的*.its文件中简单地设置
compression=“gzip”
。比我想象的简单多了,谢谢。