Version 2.5 of Snagboot was released last week! The updates in this version mostly target snagrecover, with two brand new SoC families supported! Let’s take a look at what’s new.
Raspberry Pi support
During his internship at Bootlin, François Foltête developped and upstreamed two major new SoC family supports in snagrecover.
The first support was for the BCM2711 and 2712, which are the SoCs used for the Raspberry Pi Compute Module 4 and Raspberry Pi Compute Module 5 respectively. The lack of open documentation for these components made this a challenging task, but François pulled through and delivered a well-polished support, thereby bringing Snagboot into the Raspberry Pi ecosystem!
AMLogic support
The second SoC family support implemented by François was for a whole flock of AMLogic platforms, mostly s905 and a113 variants. These platforms had some unusual USB recovery protocols and also lacked detailed hardware documentation, but once again François was able to deliver a fully working implementation, with the a113d, s905d3 and s905x models tested.
Changing targets mid-pipeline in Snagfactory
Moving on from snagrecover, we now arrive to the main v2.5 update for snagfactory, Snagboot’s factory flashing infrastructure.
As those of you familiar with snagfactory know, factory configuration files allow developers to specify a pipeline of flashing tasks executed in-order for all processed units. Some of these tasks require global variables, mostly to specify the target non-volatile storage device and the Fastboot buffer address.
In 2.4, these global variables could only be specified once, at the beginning of the task pipeline. Since 2.5, it is now possible to redefine them at any point in the task pipeline. The main use case for this is to allow flashing multiple different storage devices in a single session.
Plans for the future
Here is our current roadmap for Snagboot development:
- Localise logs and documentation
- Add automatic wic decompression to snagflash UMS
- Package Snagboot for Ubuntu
- Process new boards on the fly in snagfactory
- Support Fastboot over UDP in snagflash
If you feel like taking on any of these topics, please don’t hesitate to open an issue and tell us about it!
Many thanks to all of you who contributed to this release!
