[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