<linux> vmlinux、uimage、zimage的关系

uimage、zimage分析

vmlinux、image、zimage的关系

其关系如下图所示:

ld链接
objcopy 去除多余符号信息
lmza/gzip压缩
mkimage 加上64字节uboot头部信息
*.o
vmlinux.elf
vimlinux
zimage
uimage

1、所有的.build-in.o链接成一个vmlinux.elf。该文件是最原始的可执行文件,大小可达几十M甚至更多。

2、使用objcopy工具将vmlinux.elf 中的符号信息与调试信息去除,减少镜像大小。

3、通过lzma或gzip等算法压缩镜像,进一步减少镜像大小。 到这里基本上可以得到一个比较小的镜像了,通常在几M,便于写进norflash 或者 nandflash等存储设备。此时得到的镜像可以用bootz命令启动
LZMA即我们常见的7z压缩算法。

4、为了便于uboot启动镜像,使用mkimage命令给zimage加上一个64字节,uboot可以识别的头部信息,进而得到了uimage

从这个过程可以看到,到zimage阶段就可以烧写到设备中运行,但为了uboot更好的自动加载镜像,添加了64字节的头部信息,最终得到了uimage

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值