U-Boot之vmlinux、zImage、uImage之间的关系

uboot经过编译直接生成的elf格式的可执行程序是u-boot,这个程序是可执行,类似于windows下的exe格式,在linux下可直接执行。但是这种格式不能用来烧录下载。用来烧录下载的是u-boot.bin。这个是由u-boot使用某种二进制转换工具来进行转化。这个u-boot.bin就叫镜像,镜像也就是我们最终要烧写到开发板中的文件。

Linux内核经过编译后也会生成一个elf格式的可执行程序,叫vmlinux或vmlinuz,这个是原始的未经任何处理加工的原版内核elf文件。嵌入式系统部署时烧录的一般不是这个vmlinux/vmlinuz,而是要用某种二进制转换工具去制作成烧录镜像格式,制作出来的镜像文件就叫Image

原则上Image就可以直接烧录到启动介质中,但是实际上linux的开发者认为Image的大小还是太大,所以对Image进行了压缩,并且在Image压缩后的文件的前端附加了一部分解压缩代码。构成了压缩格式的镜像就叫zImage

boot为了启动linux内核,还发明了一种内核格式叫uImage,uImage是由zImag加工得到的,uboot中有一个工具,可以将zImage转换成uImage。注意:uImage不关linux内核的事,linux内核只管生成zImage即可,然后uboot中的mkimage工具再去将zImage转换成uImage来给uboot启动。这个转换过程其实就是在zImage的前面加上64字节的uImage的头信息即可。

原则上uboot启动时应该给他uImage格式的内核镜像,但是实际上uboot中也可以支持zImage启动。

这也就是,有些uboot支持zImage启动,有些则不支持。但是所有的uboot肯定都支持uImage启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值