[U-Boot] FIT Image Crashing

Jagan Teki jagan at openedev.com
Tue Dec 20 17:00:19 CET 2016


On Mon, Dec 19, 2016 at 10:23 PM, Kipper, Matthew
<Matthew.Kipper at gd-ms.ca> wrote:
> Hi all,
>
> I'm working on a Zynq-7000 system that currently performs a "legacy" boot - the kernel, device tree and initramfs are loaded independently into RAM, and then they're all loaded by passing their addresses into 'bootm'. I'd like to update this to a "moderm" boot, where the system loads a single FIT image instead. This is my first exposure to FIT images - I thought I figured out how to do this, but my system is crashing so I'm beginning to doubt myself ;)
>
> This is the "legacy" load sequence (output omitted):
>
> setenv bootargs "console=ttyPS0,115200 root=/dev/ram rw ramdisk_size=0x1600000 earlyprintk init=/sbin/init"
> tftpboot 0x2000000 devicetree.dtb
> tftpboot 0x2080000 uImage
> tftpboot 0x4000000 initramfs.img
>
> Here's the output when I actually boot:

Questions apart, I've tried latest u-boot and linux-next on Microzed
board and able to boot if you need please see below.

its:

/dts-v1/;

/ {
    description = "Verified RSA image with single Linux kernel and FDT blob";
    #address-cells = <1>;

    images {
        kernel at 1 {
            description = "Zynq Linux kernel";
            data = /incbin/("./vmlinux.bin.gz");
            type = "kernel";
            arch = "arm";
            os = "linux";
            compression = "gzip";
            load = <0x8000>;
            entry = <0x8000>;
            hash at 1 {
                algo = "md5";
            };
            hash at 2 {
                algo = "sha1";
            };
            signature at 1 {
                algo = "sha1,rsa2048";
                key-name-hint = "eng";
            };
        };
        fdt at 1 {
            description = "Microzed Devicetree blob";
            data = /incbin/("./zynq-microzed.dtb");
            type = "flat_dt";
            arch = "arm";
            compression = "none";
            hash at 1 {
                algo = "md5";
            };
            hash at 2 {
                algo = "sha1";
            };
            signature at 1 {
                algo = "sha1,rsa2048";
                key-name-hint = "eng";
            };
        };
        ramdisk at 1 {
            description = "Ramdisk Image";
            data = /incbin/("./arm_ramdisk.image.gz");
            type = "ramdisk";
            arch = "arm";
            os = "linux";
            compression = "gzip";
            hash at 1 {
                algo = "md5";
            };
            hash at 2 {
                algo = "sha1";
            };
            signature at 1 {
                algo = "sha1,rsa2048";
                key-name-hint = "eng";
            };
        };

    };

    configurations {
        default = "conf at 1";
        conf at 1 {
            description = "Boot Linux kernel with FDT blob and ramdisk";
            kernel = "kernel at 1";
            fdt = "fdt at 1";
            ramdisk = "ramdisk at 1";
        };
    };
};

Steps:
http://www.openedev.com/wiki/Microzed_Board#FIT

thanks!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list