make boot_image now ends by writing build/boards/<board>/<image>.spdx(.json): the image and every file copied off it, each with its SHA-256 -- the SBOM of what is on the medium. It also refreshes sbom.spdx(.json), the source SBOM: the tracked files the product is built from (kernel, v3, v4, capsules, boards, tooling, proofs), staged to build/sbom/src so nothing untracked in the working directory is swept in. Versioned as the kernel version and git describe. mk/syft.yaml turns on file cataloging with SHA-256 (a C tree has almost no packages for syft to find: the old SBOM held one file with a zero checksum). No syft: the build stops. syft 1.52.0 installed in ~/.local/bin from its GitHub release, checked against the release's published SHA-256. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mk/
Kconfig.mk— shared Kconfig bridge included by bothMakefileandkernel/Makefile. Each Makefile canonicalizes its ownARCHand setsKCONFIG_ARCH_DIRbefore including this file, since the hosted and kernel builds mapaarch64to different object-directory names. Config lives per-architecture underbuild/$(KCONFIG_ARCH_DIR)/rather than a single root.config, because this project's QEMU acceptance workflow builds all three kernel architectures back-to-back in one script — a shared root.configwould desync from whichever arch is actually being built. Provides thekconfig_bool/kconfig_intmacros that let each-Dknob repoint from a bare historical default to the Kconfig-fedCONFIG_*value one knob family at a time, preserving today's behavior exactly whenever no.configis present yet.
See configs/ for example defconfig files and tools/kconfig/ for the
vendored Kconfig tooling this bridge drives.