boxlite-ai / boxlite-ai/boxlite
Guest bootstrap still depends on a Debian rootfs
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 179
- Avg merge
- 23h 25m
- Merged PRs (30d)
- 121
Description
## Summary
BoxLite boots the statically linked `boxlite-guest` from a rootfs built from `debian:bookworm-slim`. This requires an OCI pull, ext4 construction, binary injection, caching, and a per-Box `guest-rootfs.qcow2`, although the agent does not need Debian userspace.
The guest also depends on external `mkfs.ext4`, `resize2fs`, and `chown` paths. `mkfs.ext4` has no production caller, but `resize2fs` is still used to apply `disk_size_gb` when creating a Box. This prevents removing the distribution rootfs without first separating those responsibilities.
## Scope
Use a minimal directory rootfs containing static `boxlite-guest` and static e2fsprogs tooling. Remove the Debian guest image and its ext4/QCOW2 bootstrap pipeline, along with the unused guest-side formatting path. Keep the user container rootfs pipeline and current create-time `disk_size_gb` behavior unchanged.
Growing an existing Box disk remains separate work.
Contributor guide
Research direction
Start by tracing the guest bootstrap and the Box creation path that applies disk_size_gb. Inspect the Debian rootfs, OCI pull, ext4/QCOW2 setup, and e2fsprogs calls to separate guest tooling from the user container rootfs pipeline. Done means the guest uses a minimal directory rootfs with static boxlite-guest and e2fsprogs tooling, while current create-time disk_size_gb behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- debian, rust
- Domain
- build-system, operating-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100