• Guilherme Maciel Ferreira's avatar
    dumpimage: fit: extract FIT images · 39931f96
    Guilherme Maciel Ferreira authored
    The dumpimage is able to extract components contained in a FIT image:
    
      $ ./dumpimage -T flat_dt -i CONTAINER.ITB -p INDEX FILE
    
    The CONTAINER.ITB is a regular FIT container file. The INDEX is the poisition
    of the sub-image to be retrieved, and FILE is the file (path+name) to save the
    extracted sub-image.
    
    For example, given the following kernel.its to build a kernel.itb:
    
      /dts-v1/;
      / {
          ...
          images {
            kernel@1 {
              description = "Kernel 2.6.32-34";
              data = /incbin/("/boot/vmlinuz-2.6.32-34-generic");
              type = "kernel";
              arch = "ppc";
              os = "linux";
              compression = "gzip";
              load = <00000000>;
              entry = <00000000>;
              hash@1 {
                algo = "md5";
              };
            };
            ...
          };
          ...
        };
    
    The dumpimage can extract the 'kernel@1' node through the following command:
    
      $ ./dumpimage -T flat_dt -i kernel.itb -p 0 kernel
      Extracted:
       Image 0 (kernel@1)
        Description:  Kernel 2.6.32-34
        Created:      Wed Oct 22 15:50:26 2014
        Type:         Kernel Image
        Compression:  gzip compressed
        Data Size:    4040128 Bytes = 3945.44 kB = 3.85 MB
        Architecture: PowerPC
        OS:           Linux
        Load Address: 0x00000000
        Entry Point:  0x00000000
        Hash algo:    md5
        Hash value:   22352ad39bdc03e2e50f9cc28c1c3652
    
    Which results in the file 'kernel' being exactly the same as '/boot/vmlinuz-2.6.32-34-generic'.
    Signed-off-by: default avatarGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
    39931f96
fit_image.c 6.82 KB