Minimal Linux kernel building kit for Firecracker micro-VMs.
Experimental. This repository uses a simplified kernel building approach similar to Fly.io and Weaveworks Ignite (archived): vendor the Firecracker guest config and its fragment configs as a base, merge our feature fragments on top, and compile.
- Downloads a vanilla Linux kernel source tarball
- Merges configs using the kernel's
merge_config.shin order:configs/firecracker/base-$ARCH.config— vendored FC baseconfigs/firecracker/*.config— vendored FC fragments (ci, pcie, vmclock)configs/pigeon/*.config— our feature fragments (ebpf, wireguard, lvm)
- Compiles an uncompressed
vmlinux(x86_64) orImage(aarch64)
make build # x86_64 (default)
make build ARCH=aarch64 # aarch64Outputs build/vmlinux or build/Image, and build/config.