Simple script and config (type-safe) for building custom Linux kernels for Firecracker MicroVMs

build Linux kernels on an ext4 disk instead of virtio-fs master

macOS builds were I/O-bound: the sandbox rootfs is virtio-fs, so every stat/open/write of the kernel tree's ~30k files round-tripped to the host. The sandbox now attaches a persistent raw build disk (--disk-size, .kbuildx_sandbox-build.img), formats it ext4 on first use, and mounts it at /linux, so checkout and compilation run on a block device with a guest page cache. Requires a bsdkrun with `linux --attach-disk` support; a sandbox created without a disk is recreated around one automatically. The sandbox is also no longer stopped and restarted on every build: it is reused as-is when the requested cpus/memory match its recorded values, keeping the page cache warm, and dependency installation is skipped via a marker after the first run.


+184 -27
4 changed files