Snagboot intends to be an open-source and generic replacement to the vendor-specific, sometimes proprietary, tools used to recover and/or reflash embedded platforms. Examples of such tools include STM32CubeProgrammer, SAM-BA ISP, UUU, and sunxi-fel. Snagboot is made of three separate parts:
- snagrecover uses vendor-specific ROM code mechanisms to initialize external RAM and run U-Boot, without modifying any non-volatile memories.
- snagflash communicates with U-Boot to flash system images to non-volatile memories, using either DFU, UMS or Fastboot.
- snagfactory orchestrates and parallelizes factory flashing tasks efficiently on groups of devices.
Snagboot currently supports the following families of System-On-Chips (SoCs):
- Allwinner sunxi A10, A10S, A13, A20, A23, A31, A33, A63, A64, A80, A83T, AF1C100S, H2+, R8, R16, R40, R329, R528, T113-S3, V3S, V5S, V536, V831, V853
- STMicroelectronics STM32MP1 and STM32MP2
- Microchip SAMA5
- NXP i.MX6, i.MX7, i.MX8, i.MX91, i.MX93
- Texas Instruments AM335x, AM62x, AM62Lx, AM64x, AM654x
- Xilinx/AMD Zynq UltraScale+ MPSoC
- Intel Keembay
- Broadcom BCM2711 and BCM2712, used in Raspberry Pi 4 & 5
- AMLogic series: G12A (eg S905D2), G12B (eg A311D), SM1 (eg S905D3) and series: GXL (eg S905D), GXM (eg S912), GXBB (eg S905), AXG (eg A113D)
Please check supported_socs.yaml
or run snagrecover --list-socs for a more precise list of supported SoCs.
Documentation: https://snagboot.readthedocs.io
