[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