Introduction
Punchboot is a booloader for embedded systems. It has a strong emphasis on security and compactness.
The following architectures are supported:
Armv7a
Armv8a
The following SoC’s/platform’s are supported:
nxp imx6ul
nxp imx8x
nxp imx8m
qemu virt
License
Punchboot is premissivily licensed under the BSD 3 licens.
Distinguishing Features
- Only supports signed payloads
Punchboot only supports signed payloads which reduces the risk for configuration errors and reduces the logic in the boot code.
- Highly configurable
Most features can be enabled or disabled through the Kconfig interface
- Host tooling
Punchboot-tools provides a set of tools and libraries for interacting with the bootloader
Punchboot CLI and a C library
Python wrapper
These can easly be extended to support board/production specific commands.
- Optimized for speed
Most drivers, in particular block device drivers and hashing accelerators use DMA to maximize transfer speed.