[PATCH v2 0/5] edison: Convert the image build to binman
Simon Glass
sjg at chromium.org
Tue Jun 16 16:24:15 CEST 2026
The Intel Edison image is assembled by a board config.mk hack that
prepends a 4KB alignment gap to u-boot.bin, plus a static OSIP-header
blob checked into the tree. This series is a cleanup of that, not a boot
fix: the mainline boot regression from the Kbuild-6.1 bump is fixed
directly by the 'Repair boards broken by the 6.1 kbuild bump' series,
which this one applies on top of.
Assemble the whole image with binman instead. A new intel-osip entry
generates the OSIP header (with the GPT-protective MBR the mask ROM
needs) and a fill provides the 4KB gap that the mask ROM's load/entry
offset requires. The gap and U-Boot are emitted together as
u-boot-edison-dfu.bin, the ready-to-flash payload for the u-boot0
partition, so a DFU update no longer needs a hand-rolled prepend. The
OSIP load address and entry point come from CONFIG_TEXT_BASE rather than
hard-coded magic numbers.
It also widens the DFU auto-probe window so an automated flash has time
to start, adds the board to the sjg-lab CI and rewrites the
documentation to separate a normal DFU update from xFSTK recovery.
Tested on real hardware: a bricked board recovers via xFSTK, takes a
fresh U-Boot over DFU and boots the result.
Changes in v2:
- Drop Bay Trail from the SoC list and add Moorefield (it is not an
Intel MID part)
- Refer to the board as the Intel Edison in the MBR sector comment
- Write the 0x55aa boot signature as a single 16-bit value
- Derive the Edison OSIP load address and entry point from
CONFIG_TEXT_BASE instead of hard-coding them
- Require intel,load-address and intel,entry-point rather than
defaulting to Edison's addresses
- Reframe as a binman conversion (the boot fix is now a precursor) and
drop the duplicate 'Fixes' tag
- Wrap the gap and U-Boot in a section emitted as u-boot-edison-dfu.bin,
the ready-to-flash DFU payload
- Keep a reference to the stock U-Boot v2014.04 the board ships with
- Flash the binman-built u-boot-edison-dfu.bin over DFU instead of
prepending the 4KB gap to u-boot.bin by hand
- Restore the xFSTK progress output and the note that the reconnection
attempts are normal
- Refer to the board as the Intel Edison
Simon Glass (5):
binman: Add an entry type for the Intel OSIP header
edison: Widen the DFU auto-probe window for flashing U-Boot
x86: edison: Move U-Boot alignment into binman
CI: Add an sjg-lab job for the Intel Edison
doc: edison: Rewrite the update instructions
.gitlab-ci.yml | 6 +
arch/x86/dts/edison.dts | 28 +++-
board/intel/edison/config.mk | 10 --
board/intel/edison/edison-environment.txt | 2 +-
board/intel/edison/edison-osip.dat | 0
doc/board/intel/edison.rst | 178 +++++++++-------------
tools/binman/etype/intel_osip.py | 120 +++++++++++++++
tools/binman/ftest.py | 25 +++
tools/binman/test/entry/intel_osip.dts | 17 +++
9 files changed, 266 insertions(+), 120 deletions(-)
delete mode 100644 board/intel/edison/edison-osip.dat
create mode 100644 tools/binman/etype/intel_osip.py
create mode 100644 tools/binman/test/entry/intel_osip.dts
---
base-commit: 7492f24148a31a1d92b1f722996e4882bd7f955a
branch: edison-us2
--
2.43.0
More information about the U-Boot
mailing list