boxlite-ai / boxlite-ai/boxlite

Guest bootstrap still depends on a Debian rootfs

Open
#989 1 comment 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.