Looking at the recipes/ ecosystem (16 entries), each has its own README.md and build.sh. The ROADMAP.md references kernel vmlinux-6.1.141 in the M2 example. The packaging/k8s/ README presumably has its own assumed kernel.
Nowhere in the repo top-level docs (README.md, DESIGN.md, CHANGELOG.md) did I find a "supported kernel versions" matrix. Forkd is fundamentally a Firecracker user, and Firecracker is kernel-sensitive (the snapshot format depends on KVM ABI versions; some kernel CVEs explicitly broke Firecracker compatibility).
A small table would help:
## Supported kernel matrix
| Kernel | Status | Notes |
|---|---|---|
| 6.1.x | tested | Recommended baseline |
| 6.6.x | tested | LTS, preferred for production |
| 6.8.x | partial | Snapshot restore broken on 6.8.0–6.8.4, fixed in 6.8.5 |
| 6.11.x | untested | |
The recipe builds are silent about which kernel each parent was warmed against, which makes the question "will this snapshot still restore on my host kernel?" answerable only by trying.
Severity: Low — but a footgun for anyone trying to deploy in a heterogeneous fleet.
Looking at the
recipes/ecosystem (16 entries), each has its ownREADME.mdandbuild.sh. TheROADMAP.mdreferences kernelvmlinux-6.1.141in the M2 example. Thepackaging/k8s/README presumably has its own assumed kernel.Nowhere in the repo top-level docs (README.md, DESIGN.md, CHANGELOG.md) did I find a "supported kernel versions" matrix. Forkd is fundamentally a Firecracker user, and Firecracker is kernel-sensitive (the snapshot format depends on KVM ABI versions; some kernel CVEs explicitly broke Firecracker compatibility).
A small table would help:
The recipe builds are silent about which kernel each parent was warmed against, which makes the question "will this snapshot still restore on my host kernel?" answerable only by trying.
Severity: Low — but a footgun for anyone trying to deploy in a heterogeneous fleet.