cherry411
cherry411

Reputation: 23

how to select from multiple FIT image configurations using barebox bootloader

I am using barebox bootloader and Fitimage which contains 1 kernel and two device trees. i want to select device tree based on HW version. I already know the HW version, But how can i choose the configuration from Fitimage.

Below is the fitimage.its file. I want to choose configurations in Fitimage based on HW version , so that we load correct dtb file.

please let me know how we can do this?.

{
    description = "fitImage for kernel and two device tress";
    #address-cells = <1>;
    images {
        kernel-1 {
            description = "Linux kernel";
            data = /incbin/("/build/tmp/deploy/images/zImage");
            type = "kernel";
            arch = "arm";
            os = "linux";
            compression = "none";
            
            
            hash-1 {
                algo = "sha256";
            };
        };
        fdt-comm-a.dtb {
            description = "Flattened Device Tree blob";
            data = /incbin/("/build/tmp/deploy/images/comm-a.dtb");
            type = "flat_dt";
            arch = "arm";
            compression = "none";
            
            hash-1 {
                algo = "sha256";
            };
        };
        fdt-comm-b.dtb {
            description = "Flattened Device Tree blob";
            data = /incbin/("/build/tmp/deploy/images/comm-b.dtb");
            type = "flat_dt";
            arch = "arm";
            compression = "none";
            
            hash-1 {
                algo = "sha256";
            };
        };
    };
    configurations {
        default = "comm-a.dtb";
         comm-a.dtb {
            description = "1 Linux kernel, FDT blob";
            kernel = "kernel-1";
            fdt = "fdt-comm-a.dtb";
            
            
            
            signature-1 {
                algo = "sha256,rsa4096";
                key-name-hint = "FIT-4096";
                sign-images = "kernel", "fdt";
                signer-name = "customer";
                signer-version = "vPD20.0.0";
            };
        };
        
        comm-b.dtb {
            description = "2 Linux kernel, FDT blob";
            kernel = "kernel-1";
            fdt = "fdt-comm-b.dtb";
            
            
            
            signature-1 {
                algo = "sha256,rsa4096";
                key-name-hint = "FIT-4096";
                sign-images = "kernel", "fdt";
                signer-name = "customer";
                signer-version = "vPD20.0.0";
            };
        };
    };
};

Upvotes: 0

Views: 730

Answers (1)

cherry411
cherry411

Reputation: 23

Issue was solved. I just modified the bb append file with the command:

global.bootm.image=/dev/[email protected] 

This is based on the hardware version, then it worked as expected.

Upvotes: 0

Related Questions