什么是FIT uImage?

全称是flattened image tree uImage,为了更好的支持单个固件的通用性,类似于kernel device tree机制,uboot也需要对这种uImage固件进行支持。FIT uImage中加入多个dtb文件,和ramdisak文件,当然如果需要的话,同样可以支持多个kernel文件。

这样的目的就是能够使同一个uImage就能够在uboot中选择特定的kernel/dtb和ramdisk进行启动了,达成一个uImage可以通用多个板型的目的。它的特点如下:

  • 可以打包一个或者多个kernel
  • 可以打包一个或者多个dtb
  • 可以打包一个或者多个ramdisk

使用its文件来描述这个uImage的组成结构,并且编译时也需要此文件。举个例子:

{

    description = "U-Boot uImage FDT blobs";

    #address-cells = <1>;



    images {

        kernel@sdm660 {

            description = "Linux kernel";

            data = /incbin/("out/linux/arch/arm/boot/zImage");

            type = "kernel";

            arch = "arm";

            os = "linux";

            compression = "none";

            load = <0x20008000>;

            entry = <0x20008000>;

        };

        fdt@sdm660 {

            description = "Flattened Device Tree blob";

            data = /incbin/("out/linux/arch/arm/boot/dts/sdm660 .dtb");

            type = "flat_dt";

            arch = "arm";

            compression = "none";

        };

        ramdisk@sdm660  {

            description = "Ramdisk";

            data = /incbin/("out/rootfs/initramfs.gz");

            type = "ramdisk";

            arch = "arm";

            os = "linux";

            compression = "gzip";

        };

    };



    configurations {

        default = "conf@sdm660";

        conf@sdm660 {

            description = "Boot Linux kernel with FDT blob";

            kernel = "kernel@sdm660";

            fdt = "fdt@sdm660";

            ramdisk = "ramdisk@sdm660";

        };

    };

};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值