[PATCH 3/5] x86: edison: Align U-Boot via binman to fix the boot
Ilias Apalodimas
ilias.apalodimas at linaro.org
Mon Jun 8 09:47:00 CEST 2026
Hi Simon,
On Mon, 8 Jun 2026 at 02:05, Simon Glass <sjg at chromium.org> wrote:
>
> The mask ROM loads the OS image to 0x01100000 but enters it at
> 0x01101000, so U-Boot must sit 0x1000 (4KB) into the loaded image. This
> was arranged by board/intel/edison/config.mk, which prepended 4096 zero
> bytes to u-boot.bin through an 'INPUTS-y += u-boot-align.bin' rule whose
> recipe moved its output back over u-boot.bin.
>
> Commit bd3f9ee679b4 ("kbuild: Bump the build system to 6.1") stopped
> that rule from running, so u-boot.bin no longer gains the 4KB prefix.
> The mask ROM then jumps 4KB into U-Boot's code and the board never
> starts, sitting in BootROM download mode (DnX) and cycling.
>
> Since the Edison image is assembled by binman, provide the gap there
> instead: pad with a 'fill' of 4096 zero bytes ahead of the u-boot entry.
> Drop the now-redundant alignment hack from the board config.mk.
If this was missed during the kbuild update, why don't we reapply the
fix there and make binman a requirement for it?
Thanks
/Ilias
>
> Fixes: bd3f9ee679b4 ("kbuild: Bump the build system to 6.1")
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> arch/x86/dts/edison.dts | 11 ++++++++++-
> board/intel/edison/config.mk | 10 ----------
> 2 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/arch/x86/dts/edison.dts b/arch/x86/dts/edison.dts
> index 9c7630161e9..05391d49d02 100644
> --- a/arch/x86/dts/edison.dts
> +++ b/arch/x86/dts/edison.dts
> @@ -175,8 +175,17 @@
> intel-osip {
> };
>
> + /*
> + * The OSII loads the image to 0x01100000 but enters it at
> + * 0x01101000, so U-Boot must sit 0x1000 (4KB) into the loaded
> + * data. Pad with zeroes ahead of U-Boot to provide that gap.
> + */
> + fill {
> + size = <0x1000>;
> + fill-byte = [00];
> + };
> +
> u-boot {
> - offset = <0x200>;
> };
>
> u-boot-env {
> diff --git a/board/intel/edison/config.mk b/board/intel/edison/config.mk
> index 3afebf0f0b1..da7c9acf1a2 100644
> --- a/board/intel/edison/config.mk
> +++ b/board/intel/edison/config.mk
> @@ -4,14 +4,4 @@
> # Copyright (c) 2017 Intel Corporation
> #
>
> -# Add 4096 bytes of zeroes to u-boot.bin
> -quiet_cmd_mkalign_eds = EDSALGN $@
> -cmd_mkalign_eds = \
> - dd if=$^ of=$@ bs=4k seek=1 2>/dev/null && \
> - mv $@ $^
> -
> -INPUTS-y += u-boot-align.bin
> -u-boot-align.bin: u-boot.bin FORCE
> - $(call if_changed,mkalign_eds)
> -
> HOSTCFLAGS_include/autoconf.mk.dep = -Wno-variadic-macros
> --
> 2.43.0
>
More information about the U-Boot
mailing list