Files
LithosAnanake/mk
rajamesandClaude Opus 5.5 fcb89b0695 build: an SPDX SBOM with every board image, and of the source tree, by syft
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>
2026-10-14 16:58:10 -04:00
..

mk/

  • Kconfig.mk — shared Kconfig bridge included by both Makefile and kernel/Makefile. Each Makefile canonicalizes its own ARCH and sets KCONFIG_ARCH_DIR before including this file, since the hosted and kernel builds map aarch64 to different object-directory names. Config lives per-architecture under build/$(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 .config would desync from whichever arch is actually being built. Provides the kconfig_bool/kconfig_int macros that let each -D knob repoint from a bare historical default to the Kconfig-fed CONFIG_* value one knob family at a time, preserving today's behavior exactly whenever no .config is present yet.

See configs/ for example defconfig files and tools/kconfig/ for the vendored Kconfig tooling this bridge drives.