5.9 FIT Template

FIT files are created by the mkimage tool using a DTS-syntax input file. The mkimage tool relies on the Device-Tree-Compiler as part of the process for creating the signed FIT file. The U-Boot version of DTC has the /incbin/ reserved word, which allows an entire binary image to be included as the value of a property in the final DTB. This is how the Linux® kernel and Linux DTB are placed into the FIT file.

In the buildroot-mchp directory, create a file named sam9x75_secure.its with the following content:
/dts-v1/; 

/ { 
    description = "My FIT Image"; 
    #address-cells = <1>; 

    images { 
	kernel-1 { 
	    	description = "Linux4SAM Linux kernel"; 
   	 	data = /incbin/("./output/images/zImage"); 
   	 	type = "kernel"; 
		arch = "arm"; 
	    	os = "linux"; 
	    	compression = "none"; 
	    	load = <0x22000000>; 
	    	entry = <0x22000000>;
	    	hash-1 {
                algo = "sha256";
            };
        }; 
    	
        fdt-1 { 
            description = " SAM9X75-Curiosity Flattened Device Tree blob"; 
            data = /incbin/("./output/images/at91-sam9x75_curiosity.dtb"); 
            type = "flat_dt"; 
            arch = "arm"; 
            compression = "none"; 
     
            hash-1 {
                algo = "sha256";
            };
        }; 
         
    };

    configurations { 
        default = "conf-1"; 

        conf-1 { 
            description = " Linux kernel and FDT blob for SAM9X75-Curiosity board"; 
            kernel = "kernel-1"; 
            fdt = "fdt-1"; 
      
             signature-1 {
                algo = "sha256,rsa4096";
                key-name-hint = "samkey";
                sign-images = "fdt", "kernel";
            };
        }; 
    }; 
};