wolfBoot/docs
Sameeh Jubran 142de77ed3 sbom: generate SBOMs from every wolfBoot build system
wolfBoot ships as source. Users build it in many ways. Before this
change, only the plain Make build could make an SBOM. So a user could not
make an SBOM for the build that the user runs.

This change adds one shared engine (tools/scripts/wolfboot-sbom.sh, which
calls wolfSSL gen-sbom) and a front end for each build system. Every
build makes a CycloneDX 1.6 and SPDX 2.3 document. The engine captures
the configuration with the host compiler, so the SBOM is the same for
GCC, Clang, LLVM, IAR, armcl, CCRX, and XC32.

Routes:
  - Make, arch.mk, and vendor SDKs: make sbom TARGET=<t> SIGN=<a>
  - CMake and the Pico SDK: cmake --build <dir> --target sbom
  - IAR Embedded Workbench: ide-sbom/iar_sbom.py
  - Any IDE with a compilation database: ide-sbom/compdb_sbom.py
  - TI CCS, MPLAB X, Renesas, Xilinx: ide-sbom/route_through_sbom.sh
  - Per-HAL component: make sbom-hal TARGET=<t>
  - Zephyr module: ide-sbom/zephyr_sbom.py

Make the SBOM reproducible. The captured macros can hold an absolute host
path. For example, arch.mk passes -DPICO_SDK_PATH=$(PICO_SDK_PATH). The
driver now redacts each absolute path but keeps the macro name, so the
configuration record stays complete. Add --no-scrub for debug.

Add a validator (ide-sbom/validate_sbom.py) and a CI canary
(.github/workflows/test-sbom.yml) that runs and validates every route.
The canary also checks that no host path leaks into the SBOM.

Add docs/SBOM.md. The tools are product-neutral by design, so they can be
shared across wolfSSL products later without logic changes.

Signed-off-by: Sameeh Jubran <sameeh@wolfssl.com>
2026-08-20 15:22:16 +02:00
..
png
API.md Fix additional findings 2026-07-02 17:53:12 +02:00
CMake.md Minor docs update, code review changes, script modifications. 2025-11-24 13:04:06 -08:00
DICE.md Add wolfCOSE DICE attestation 2026-08-06 09:44:52 +02:00
HAL.md Peer review fixes. Added new WOLFBOOT_RESTORE_CLOCK option 2025-11-19 11:11:28 +01:00
Loader.md
MCXN947-DICE.md Add hardware-based DICE on mcxn 2026-05-21 20:49:20 +02:00
PQ.md Continue the ML-DSA renaming 2026-05-19 11:21:20 -07:00
README.md Add generic hook framework with provision for pre-init, post-init, and 2026-03-05 10:14:04 +01:00
Renesas.md watchdog: add generic feed hook and RX driver 2026-07-30 15:32:31 +02:00
SBOM.md sbom: generate SBOMs from every wolfBoot build system 2026-08-20 15:22:16 +02:00
STM32-TZ.md Add WOLFCRYPT_TZ_WOLFHSM TrustZone engine for STM32H5 2026-06-24 15:49:43 -07:00
Signing.md Authenticate raw device tree via signed HDR_DEVICE_TREE_DIGEST TLV (Fenrir #7998) 2026-08-13 08:39:22 +02:00
TPM.md Add support for auxillary algorithms and cert chain/TPM usage 2026-07-22 11:47:16 +02:00
Targets.md Merge pull request #862 from danielinux/fenrir-fixes-2026-08-18 2026-08-18 12:12:50 -07:00
Windows.md CMake Improvements 2025-11-18 17:44:43 -08:00
ata_security.md fixup! docs: add ATA security documentation 2024-05-08 09:32:03 +02:00
azure_keyvault.md Minor doc fixes. 2024-07-03 11:48:17 -07:00
compile.md add asymmetric partition sizing for monolithic updates 2026-08-19 17:47:48 +02:00
encrypted_partitions.md Support for CUSTOM_ENCRYPT_KEY that allows customer to supply their own implementation 2026-01-01 12:52:09 +01:00
firmware_image.md Add self-header feature with support for sim and AURIX TC3xx 2026-02-27 11:39:51 +01:00
firmware_update.md Add additional test coverage for monolithic self updates with asymmetric partition sizing 2026-08-19 17:47:48 +02:00
flash-OTP.md Fixes for STM32H5 TrustZone and PKCS11 store 2025-10-10 19:42:20 +02:00
flash_partitions.md add asymmetric partition sizing for monolithic updates 2026-08-19 17:47:48 +02:00
fwTPM.md Proper interface renaming + documentation 2026-04-22 14:14:28 +02:00
hooks.md address review feedback 2026-03-05 10:14:04 +01:00
keystore.md Improve docs for USER_XXX variables to clarify intent 2025-12-10 07:43:32 +01:00
lib.md add asymmetric partition sizing for monolithic updates 2026-08-19 17:47:48 +02:00
measured_boot.md Improve measured boot support 2026-03-17 22:19:32 +01:00
remote_flash.md
wolfHAL.md remove wolfhal TARGET. Add WOLFHAL option 2026-06-10 17:12:25 +02:00
wolfHSM.md add documentation for exposed wolfHSM config values, plus some small doc fixes 2026-08-07 11:20:03 -06:00

README.md

wolfBoot Docs and Platform-Specific Details

See also: wolfBoot Product Overview and wolfBoot Manual.

  • API.md - Overview of wolfBoot public APIs and how to use them.
  • ata_security.md - ATA security features (lock/unlock, passwords) and wolfBoot integration.
  • azure_keyvault.md - Using Azure Key Vault for key management and signing with wolfBoot.
  • CMake.md - CMake-based build setup, presets, toolchains, and tips for building wolfBoot.
  • compile.md - How to build/compile wolfBoot (toolchains, options, typical steps).
  • encrypted_partitions.md - Creating and managing encrypted firmware/data partitions.
  • firmware_image.md - wolfBoot firmware image format, layout, and metadata.
  • firmware_update.md - Update flow: slots, verification, rollback, and recovery.
  • flash-OTP.md - Using One-Time Programmable (OTP) regions in flash for secure data.
  • flash_partitions.md - Flash partitioning schemes and configuration guidance.
  • HAL.md - Hardware Abstraction Layer notes and porting considerations.
  • hooks.md - User-defined hooks for injecting custom logic into the wolfBoot boot process.
  • keystore.md - Keystore design, key storage, and access strategies.
  • lib.md - Using wolfBoot as a library and linking/integration guidance.
  • Loader.md - Loader/secondary stage behavior and handoff to application.
  • measured_boot.md - Measured boot concepts and recording measurements (e.g., PCRs).
  • png/ - Folder of images/diagrams referenced by the documentation.
  • PQ.md - Post-quantum algorithms and PQC support in wolfBoot.
  • README.md - Overview and index of the documentation set.
  • remote_flash.md - Working with external/remote flash (SPI/QSPI, mapping, access).
  • Renesas.md - Notes and specifics for Renesas platforms/ports.
  • Signing.md - Keys, signatures, and the image signing workflow.
  • STM32-TZ.md - STM32 TrustZone (Armv8-M) setup and usage with wolfBoot.
  • STM32.md - STM32 platform notes, options, and integration tips.
  • Targets.md - Supported targets and platform-specific configuration.
  • TPM.md - TPM integration, measured boot, and attestation flows.
  • wolfHSM.md - Integrating wolfHSM with wolfBoot for secure key operations.