meta-wolfssl/recipes-bsp/bootbin
David Garske 1b58000aa4 wolfBoot: add Yocto/OE secure bootloader recipes
Add wolfBoot secure boot support to meta-wolfssl. Four new recipes
cross-compile wolfboot.elf, build host-side signing/keygen tools,
and sign kernel FIT images with RSA4096+SHA3-384 for verified boot.

New recipes:
  wolfboot.inc                    - shared SRC_URI, LICENSE, SRCREVs
  wolfboot_git.bb                 - cross-compiles wolfboot.elf from a
                                    user-selected config/examples/ template;
                                    embeds a user-supplied RSA4096 public key
  wolfboot-keytools-native_git.bb - native wolfboot-keygen / wolfboot-sign
  wolfboot-signed-image.bb        - signs kernel FIT with RSA4096+SHA3-384

Supporting files:
  xilinx-bootbin_%.bbappend       - replaces U-Boot with wolfBoot in BOOT.BIN
                                    on ZynqMP (gated by WOLFBOOT_ENABLE="1");
                                    uses BBFILES_DYNAMIC for meta-xilinx-tools
  conf/layer.conf                 - registers wolfboot BBFILES globs and
                                    PREFERRED_PROVIDER
  README.md                       - usage guide, key provisioning, ZynqMP notes

Design decisions:
- Signing key is user-supplied out-of-band (WOLFBOOT_SIGNING_KEY) to
  avoid leaking private key material through sstate or DEPLOY_DIR_IMAGE.
- wolfboot_git.bb uses raw make (not oe_runmake) because wolfBoot is a
  bare-metal bootloader with its own -nostdlib/-ffreestanding toolchain
  flags that conflict with Yocto's CC/CFLAGS/LDFLAGS injection.
- SRCREVs use weak assignment (?=) so downstream users can override via
  local.conf to track unreleased upstream fixes.

Tested on AMD/Xilinx ZCU102 hardware with PetaLinux 2025.2:
  FSBL -> PMU FW -> ATF -> wolfBoot (EL2) -> signed FIT -> Linux
  WOLFBOOT_CONFIG="zynqmp_sdcard.config"
  WOLFBOOT_LINUX_BOOTARGS_ROOT="/dev/mmcblk0p4"
2026-04-28 11:37:27 -07:00
..
xilinx-bootbin_%.bbappend wolfBoot: add Yocto/OE secure bootloader recipes 2026-04-28 11:37:27 -07:00