Add an experimental Alpine image flow
Stage a complete Alpine x86_64 image stack so \ --image alpineworks like the existing manual Void path instead of relying on Debian-oriented image builds.\n\nAdd make targets plus kernel/rootfs/register helpers that download pinned Alpine artifacts, extract a Firecracker-compatible vmlinux, build a matching mkinitfs initramfs, seed OpenRC services, and register/promote a managed image named alpine.\n\nFold in the bring-up fixes discovered during boot validation: use rootfstype=ext4 in shared boot args, install libgcc/libstdc++ for the opencode binary, and give opencode more time to become ready on cold boots.\n\nValidate with go test ./..., the Alpine helper builds, image promotion, and banger vm create --image alpine --name alp --nat plus guest service and port checks.
This commit is contained in:
parent
572bf32424
commit
a166068fab
14 changed files with 1307 additions and 9 deletions
40
README.md
40
README.md
|
|
@ -189,6 +189,46 @@ That flow uses:
|
|||
- `./build/manual/rootfs-void.ext4`
|
||||
- `./build/manual/rootfs-void.work-seed.ext4`
|
||||
|
||||
## Experimental Alpine Flow
|
||||
|
||||
Stage an Alpine virt kernel:
|
||||
|
||||
```bash
|
||||
make alpine-kernel
|
||||
```
|
||||
|
||||
Build the experimental Alpine rootfs:
|
||||
|
||||
```bash
|
||||
make rootfs-alpine
|
||||
```
|
||||
|
||||
Register it:
|
||||
|
||||
```bash
|
||||
make alpine-register
|
||||
```
|
||||
|
||||
Create a VM from it:
|
||||
|
||||
```bash
|
||||
./build/bin/banger vm create --image alpine --name alpine-dev
|
||||
```
|
||||
|
||||
That flow uses:
|
||||
|
||||
- `./build/manual/alpine-kernel/`
|
||||
- `./build/manual/rootfs-alpine.ext4`
|
||||
- `./build/manual/rootfs-alpine.work-seed.ext4`
|
||||
|
||||
The experimental Alpine flow stages a pinned Alpine release by default. Override
|
||||
that pin with `ALPINE_RELEASE=...` when running the `make alpine-kernel` and
|
||||
`make rootfs-alpine` helpers if you need a different patch release.
|
||||
|
||||
Alpine support currently applies to the explicit register-and-run flow above.
|
||||
The generic `banger image build --from-image ...` path remains Debian/systemd-
|
||||
oriented and should not be treated as an Alpine image builder.
|
||||
|
||||
## Notes
|
||||
|
||||
- Firecracker is resolved from `PATH` by default.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue