Linux kernel LEDE:不支持uImage压缩类型

Linux kernel LEDE:不支持uImage压缩类型,linux-kernel,kernel,openwrt,Linux Kernel,Kernel,Openwrt,我正在尝试用LEDE为Atmel at91 SAMA5D3平台构建内核映像,压缩类型为XZ。一旦uImage成功,我就将此映像传输到我的SD卡,并尝试用它启动。但是,启动始终失败,并显示以下消息: 正在启动uImage… 不支持uImage压缩类型 SD/MMC:无法加载映像 我尝试过使用其他人的映像,这将很好地工作,所以我不确定是否有任何内核配置我也需要启用或禁用 有人能帮忙吗?谢谢 该消息似乎表明,用于加载Linux内核的任何引导程序都没有任何解压缩功能。 因此,与期望引导程序执行解压缩不同

我正在尝试用LEDE为Atmel at91 SAMA5D3平台构建内核映像,压缩类型为XZ。一旦uImage成功,我就将此映像传输到我的SD卡,并尝试用它启动。但是,启动始终失败,并显示以下消息:

正在启动uImage… 不支持uImage压缩类型 SD/MMC:无法加载映像

我尝试过使用其他人的映像,这将很好地工作,所以我不确定是否有任何内核配置我也需要启用或禁用


有人能帮忙吗?谢谢

该消息似乎表明,用于加载Linux内核的任何引导程序都没有任何解压缩功能。 因此,与期望引导程序执行解压缩不同,您需要构建一个自解压缩的内核映像,即zImage。 如果您坚持,您可以将zImage包装在uImage头中,但由于zImage是自解压的,因此需要将图像标记为未压缩

注意,文件类型uImage是由U-Boot实用程序mkimage生成的,这种类型的映像是为了U-Boot的好处。 其他引导程序可能识别也可能不识别uImage。 ARM的引导程序预计将支持zImage

就细节而言,你的帖子很少。 如果您所做的只是在内核的menuconfig中为内核压缩模式选择XZ而不是默认的gzip,并且确实构建了一个zImage,那么mkimage使用了不正确的参数。
uImage中的zImage必须标记为未压缩。

谢谢@sawdust!我知道了,但是是否有任何内核配置将uImage标记为“未压缩”类型?是否有任何内核配置将uImage标记为“未压缩”类型否,因为kernel config指定如何构建内核,而mkimage命令是在构建内核映像和zImage之后执行的。研究mkimage命令的手册页。使用的压缩类型是mkimage命令的参数。但也许你问错了后续问题。你知道你有什么样的内核映像吗?谢谢。我有一个内核映像的uImage,在验证了魔法后显示错误消息。因此,也许我必须找到“mkimage”的执行位置并检查参数,对吗?我的内核映像有一个uImage-我们已经知道您加载了一个uImage;这已在错误消息中报告。所谓内核映像,我指的是uImage中的内容。重读我的答案,然后。mkimage命令中提交的文件可能是通过make脚本执行的?请在您的构建目录中尝试使用grep for mkimage。谢谢@sawdust!看起来我可以使用内核映像,并将其显式标记为未压缩映像。我确实在内核menuconfig中选择了未压缩类型,但不知何故,它被其他一些配置覆盖了。