[U-Boot] Arria 10 binary too large

Joe Hermaszewski joe at myrtlesoftware.com
Fri Jul 7 19:46:12 UTC 2017


The uboot binary generated with `make socfpga_arria10_config` is too large
for Intel's `mkpimage` tool to consume.

u-boot.bin weighs in at 242508 bytes.

The maximum binary size supported by the `mkpimage` tool (distributed with
Intel's SoC EDS suite) is 204796 bytes.

Note that this image also has to include the device tree blob, which for my
design is about 4k.

I'm sure that someone must have tested this binary, it would be handy to
know either what configuration options were necessary to slim u-boot down
enough, or how mkpimage might be being used differently.

For reference, my build steps are as follows:

To generate u-boot.bin:

```
    export CROSS_COMPILE=${soc-toolchain}/bin/arm-linux-gnueabihf-
    make mrproper
    make socfpga_arria10_config
    make
```

To generate uboot combined with the device tree blob:

```
      cat u-boot.bin devicetree.dtb > u-boot_w_dtb.bin
      mkpimage \
        --header-version 1 \
        -o uboot_w_dtb-mkpimage.bin \
        u-boot_w_dtb.bin \
        u-boot_w_dtb.bin \
        u-boot_w_dtb.bin \
        u-boot_w_dtb.bin
```

mkpimage fails with the output 'Image size must not be more than 204796
bytes'

I get this behaviour with `mkpimage version 17.0 (build 290)` and revision
`7e09145` of u-boot.

Best,
Joe.


More information about the U-Boot mailing list