[Buildroot] [PATCH 00/11] Add support for building Snagboot

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sat Oct 18 19:42:58 UTC 2025


Hello,

Snagboot <https://github.com/bootlin/snagboot/> is an open-source and
platform-agnostic tool to recover and reflash embedded platforms,
replacing vendor-specific tools by a single unified tool.

This patch series aims at allowing to build Snagboot for the host as
part of a Buildroot build, so that a Buildroot user can use Snagboot
after the build to recover/reflash an embedded platform.

Snagboot requires a number of dependencies, which is why we are adding
python-crccheck, python-fs and python-pyfatfs as new packages, and
also enabling host variants for the existing python-tftpy,
python-pyusb, python-xmodem and python-appdirs packages.

Since we're adding so many host Python packages, we thought it would
be a good idea to test them, but our runtime testing infrastructure
wasn't really convenient to test host packages. The first two patches
therefore propose some improvements to the testing infrastructure,
which are then use by the remaining patches to make sure we at least
minimally test that host Python packages work.

Let me know what you think!

Thomas

Thomas Petazzoni (11):
  support/testing/infra: improve run_cmd_on_host() to show stdout/stderr
  support/testing/infra/basetest.py: add BRHostPkgTest class
  package/python-crccheck: new package
  support/testing/tests/package/test_python_serial.py: new test case
  package/python-tftpy: add host variant
  package/python-pyusb: enable host variant
  package/python-xmodem: add host variant
  package/python-appdirs: add host variant
  package/python-fs: new package
  package/python-pyfatfs: new package
  package/snagboot: new package

 DEVELOPERS                                    | 11 ++++
 package/Config.in.host                        |  1 +
 package/python-appdirs/python-appdirs.mk      |  1 +
 package/python-crccheck/python-crccheck.hash  |  4 ++
 package/python-crccheck/python-crccheck.mk    | 15 ++++++
 package/python-fs/python-fs.hash              |  5 ++
 package/python-fs/python-fs.mk                | 15 ++++++
 ...oject.toml-relax-version-constraints.patch | 45 ++++++++++++++++
 package/python-pyfatfs/python-pyfatfs.hash    |  4 ++
 package/python-pyfatfs/python-pyfatfs.mk      | 17 ++++++
 package/python-pyusb/python-pyusb.mk          |  2 +
 package/python-tftpy/python-tftpy.mk          |  1 +
 package/python-xmodem/python-xmodem.mk        |  1 +
 package/snagboot/Config.in.host               |  8 +++
 package/snagboot/snagboot.hash                |  3 ++
 package/snagboot/snagboot.mk                  | 29 ++++++++++
 support/testing/infra/__init__.py             | 19 +++++--
 support/testing/infra/basetest.py             | 22 ++++++++
 .../tests/package/test_python_crccheck.py     | 10 ++++
 .../testing/tests/package/test_python_fs.py   |  9 ++++
 .../tests/package/test_python_pyfatfs.py      | 53 +++++++++++++++++++
 .../tests/package/test_python_pyusb.py        |  9 ++++
 .../tests/package/test_python_serial.py       | 12 +++++
 .../tests/package/test_python_tftpy.py        |  9 ++++
 .../tests/package/test_python_xmodem.py       |  9 ++++
 .../testing/tests/package/test_snagboot.py    | 16 ++++++
 26 files changed, 325 insertions(+), 5 deletions(-)
 create mode 100644 package/python-crccheck/python-crccheck.hash
 create mode 100644 package/python-crccheck/python-crccheck.mk
 create mode 100644 package/python-fs/python-fs.hash
 create mode 100644 package/python-fs/python-fs.mk
 create mode 100644 package/python-pyfatfs/0001-pyproject.toml-relax-version-constraints.patch
 create mode 100644 package/python-pyfatfs/python-pyfatfs.hash
 create mode 100644 package/python-pyfatfs/python-pyfatfs.mk
 create mode 100644 package/snagboot/Config.in.host
 create mode 100644 package/snagboot/snagboot.hash
 create mode 100644 package/snagboot/snagboot.mk
 create mode 100644 support/testing/tests/package/test_python_crccheck.py
 create mode 100644 support/testing/tests/package/test_python_fs.py
 create mode 100644 support/testing/tests/package/test_python_pyfatfs.py
 create mode 100644 support/testing/tests/package/test_python_pyusb.py
 create mode 100644 support/testing/tests/package/test_python_serial.py
 create mode 100644 support/testing/tests/package/test_python_xmodem.py
 create mode 100644 support/testing/tests/package/test_snagboot.py

-- 
2.51.0



More information about the buildroot mailing list