用zImage生成image.ub的方法

文章介绍了如何准备一个fitimage.its文件,该文件包含了Linux内核、FlattenedDeviceTreeblob和ramdisk的信息,使用mkimage工具将这个配置文件转换成image.ub镜像。文件内容详细定义了各个部分如kernel、fdt和ramdisk的数据源、类型、压缩方式等,并且包含了SHA1哈希校验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 准备一个fitimage.its文件,文件内容可参考如下:
/dts-v1/;
 
/ {
        description = "U-Boot fitImage for plnx_arm kernel";
        #address-cells = <1>;
 
        images {
                kernel@0 {
                        description = "Linux Kernel";
                        data = /incbin/("/home/zs/work/hsi-proj/navigator/linux-xlnx-xilinx-v2018.3/arch/arm/boot/zImage");
                        type = "kernel";
                        arch = "arm";
                        os = "linux";
                        compression = "none";
                        load = <0x8000>;
                        entry = <0x8000>;
                        hash@1 {
                                algo = "sha1";
                        };
                };
                fdt@0 {
                        description = "Flattened Device Tree blob";
                        data = /incbin/("/home/zs/work/hsi-proj/navigator/linux-xlnx-xilinx-v2018.3/arch/arm/boot/dts/system-top.dtb");
                        type = "flat_dt";
                        arch = "arm";
                        compression = "none";
                        hash@1 {
                                algo = "sha1";
                        };
                };
                ramdisk@0 {
                        description = "ramdisk";
                        data = /incbin/("/home/zs/work/petalinux-proj/ALIENTEK-ZYNQ/images/linux/rootfs.cpio.gz");
                        type = "ramdisk";
                        arch = "arm";
                        os = "linux";
                        compression = "gzip";
                        hash@1 {
                                algo = "sha1";
                        };
                };
        };
        configurations {
                default = "conf@1";
                conf@1 {
                        description = "Boot Linux kernel with FDT blob + ramdisk";
                        kernel = "kernel@0";
                        fdt = "fdt@0";
                        ramdisk = "ramdisk@0";
                        hash@1 {
                                algo = "sha1";
                        };
                };
                conf@2 {
                        description = "Boot Linux kernel with FDT blob";
                        kernel = "kernel@0";
                        fdt = "fdt@0";
                        hash@1 {
                                algo = "sha1";
                        };
                };
        };
};

fitimage.its文件中各属性的具体含义可参考:u-boot FIT image介绍

  1. 执行指令 mkimage -f fitimage.its image.ub生成image.ub(没安装u-boot-tools工具的话需要先安装)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值