[PATCH 3/5] x86: edison: Align U-Boot via binman to fix the boot

Simon Glass sjg at chromium.org
Mon Jun 8 01:05:12 CEST 2026


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.

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