可以使用 vmlinux 代替 uImage 吗?

Sha*_*nya 9 kernel u-boot linux-kernel

我想使用未压缩的内核映像并启动 BeagleBoard。通常我使用 uImage 来启动压缩格式的内核。如何使用未压缩的内核映像?

Gil*_*il' 8

据我所知,U-Boot 不能直接启动“原始”ELF 映像 ( vmlinux)。您需要将其转换为uImage格式,其中包含压缩包vmlinux和一些描述内核加载地址的额外字节元数据。U-Boot FAQ 2.19解释了如何生成uImage;它相当简单,使用mkimageU-Boot 源代码树中的实用程序:

 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
Run Code Online (Sandbox Code Playgroud)

(您可能需要额外的参数来指示加载地址。)

  • 您想要达到的效果可能与预期相反。解压时间通常小于从闪存复制数据的时间。 (3认同)