eve icon indicating copy to clipboard operation
eve copied to clipboard

[PoC] Split rootfs

Open OhmSpectator opened this issue 1 month ago • 10 comments

Description

This PR introduces the split-rootfs proof of concept for EVE. The build now produces two LinuxKit images - a minimal “bootstrap” rootfs with only boot-critical services and a “pkgs” rootfs containing non-critical services - and exposes make targets to build/run them either independently or together. Pillar gains the extsloader agent that discovers pkgs.img, mounts it, and starts its services via containerd so they appear in eve list. Documentation in docs/SPLIT-ROOTFS.md describes the architecture, workflows, and validation steps for the experiment.

PR dependencies

None.

How to test and validate this PR

  1. Build both rootfs images and a bootstrap live disk:
make pkgs eve multi_rootfs live-bootstrap

Confirm the artifacts appear under dist/amd64/<version>/installer/.

  1. Boot with pkgs injection:
make run-bootstrap-with-pkgs

Inside the EVE, confirm /persist/pkgs is mounted, extsloader is running (logread | grep extsloader), and the pkgs services show up in eve status.

No automated tests cover this yet.

Changelog notes

Adds experimental split-rootfs tooling (bootstrap + pkgs images), developer run targets, and the Pillar external services loader that auto-starts pkgs.img contents.

PR Backports

  • 16.0: No, experimental development-only change.
  • 14.5-stable: No.
  • 13.4-stable: No.

Checklist

  • [x] I've provided a proper description
  • [x] I've added the proper documentation
  • [x] I've tested my PR on amd64 device
  • [ ] I've tested my PR on arm64 device
  • [x] I've written the test verification instructions
  • [ ] I've set the proper labels to this PR
  • [x] I've checked the boxes above, or I've provided a good reason why I didn't check them.

OhmSpectator avatar Dec 02 '25 15:12 OhmSpectator