[PATCH v3 1/2] imx8mm-evk: Generate a single bootable flash.bin again

Heiko Thiery heiko.thiery at gmail.com
Fri Aug 20 07:41:24 CEST 2021


Hi Fabio,

Am Do., 19. Aug. 2021 um 21:28 Uhr schrieb Fabio Estevam <festevam at denx.de>:
>
> After the conversion to binman in commit 8996e6b7c6a1 ("imx8mm_evk: switch
> to use binman to pack images"), it is necessary to flash both flash.bin and
> u-boot.itb to get a bootable system. Prior to this commit, only flash.bin
> was needed.
>
> Such new requirement breaks existing distro mechanisms to generate the
> final binary because the extra u-boot.itb is now required.
>
> Generate a final flash.bin that can be used again as a single
> bootable binary to keep the original behavior.
>
> After this change the SPL binary is called spl.bin, which is a more
> descriptive name for its purpose, and can still be used standalone
> (for example, for secure boot purposes).
>
> Also update imx8mm_evk.rst to remove the u-boot.itb copy step.
>
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> Reviewed-by: Frieder Schrempf <frieder.schrempf at kontron.de>
> Reviewed-by: Heiko Schocher <hs at denx.de>
>
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> ---
> Changes since v2:
> - Change the LOADER to mkimage.spl.mkimage (Frieder)
>
>  arch/arm/dts/imx8mm-evk-u-boot.dtsi             | 17 ++++++++++++++++-
>  .../imx8mm_evk/imximage-8mm-lpddr4.cfg          |  2 +-
>  doc/board/freescale/imx8mm_evk.rst              |  1 -
>  3 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/dts/imx8mm-evk-u-boot.dtsi b/arch/arm/dts/imx8mm-evk-u-boot.dtsi
> index f200afac9f..75cd59e545 100644
> --- a/arch/arm/dts/imx8mm-evk-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mm-evk-u-boot.dtsi
> @@ -150,7 +150,7 @@
>         };
>
>
> -       flash {
> +       spl {
>                 mkimage {
>                         args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000";
>
> @@ -217,4 +217,19 @@
>                         };
>                 };
>         };
> +
> +       imx-boot {
> +               filename = "flash.bin";
> +               pad-byte = <0x00>;
> +
> +               spl: blob-ext at 1 {
> +                       offset = <0x0>;
> +                       filename = "spl.bin";
> +               };
> +
> +               uboot: blob-ext at 2 {
> +                       offset = <0x57c00>;
> +                       filename = "u-boot.itb";
> +               };
> +       };
>  };
> diff --git a/board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg b/board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg
> index b89092a559..2c15dbc413 100644
> --- a/board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg
> +++ b/board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg
> @@ -6,4 +6,4 @@
>  #define __ASSEMBLY__
>
>  BOOT_FROM      sd
> -LOADER         mkimage.flash.mkimage   0x7E1000
> +LOADER         mkimage.spl.mkimage     0x7E1000
> diff --git a/doc/board/freescale/imx8mm_evk.rst b/doc/board/freescale/imx8mm_evk.rst
> index 7fd3d72564..b377c4de27 100644
> --- a/doc/board/freescale/imx8mm_evk.rst
> +++ b/doc/board/freescale/imx8mm_evk.rst
> @@ -50,7 +50,6 @@ Burn the flash.bin to MicroSD card offset 33KB:
>  .. code-block:: bash
>
>     $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc
> -   $sudo dd if=u-boot.itb of=/dev/sdc bs=1024 seek=384 conv=sync
>
>  Boot
>  ----
> --
> 2.25.1
>

When building from a clean checkout I see the following warnings. It
seems that there are some dependency checks that are looking for the
files in mkimage config file.

  AR      arch/arm/lib/lib.a
  AS      arch/arm/lib/crt0_aarch64_efi.o
  CC      arch/arm/lib/reloc_aarch64_efi.o
WARNING 'mkimage.spl.mkimage' not found, resulting binary is not-functional
  AS      arch/arm/mach-imx/imx8m/lowlevel_init.o
  CC      arch/arm/mach-imx/imx8m/clock_slice.o
  CC      arch/arm/mach-imx/imx8m/soc.o
    :
    :
  AS      spl/arch/arm/lib/crt0_aarch64_efi.o
  CC      spl/arch/arm/lib/reloc_aarch64_efi.o
WARNING 'mkimage.spl.mkimage' not found, resulting binary is not-functional
  AS      spl/arch/arm/mach-imx/imx8m/lowlevel_init.o
  CC      spl/arch/arm/mach-imx/imx8m/clock_slice.o
  CC      spl/arch/arm/mach-imx/imx8m/soc.o
    :
    :
  COPY    spl/u-boot-spl.bin
  SYM     spl/u-boot-spl.sym
WARNING 'mkimage.spl.mkimage' not found, resulting binary is not-functional
make[1]: Nothing to be done for 'SPL'.
  OBJCOPY u-boot.srec
  OBJCOPY u-boot-nodtb.bin


-- 
Heiko


More information about the U-Boot mailing list