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
|
|
@ -175,9 +175,9 @@ func newInternalVSockAgentPathCommand() *cobra.Command {
|
|||
func newInternalPackagesCommand() *cobra.Command {
|
||||
var docker bool
|
||||
cmd := &cobra.Command{
|
||||
Use: "packages <debian|void>",
|
||||
Use: "packages <debian|void|alpine>",
|
||||
Hidden: true,
|
||||
Args: exactArgsUsage(1, "usage: banger internal packages <debian|void> [--docker]"),
|
||||
Args: exactArgsUsage(1, "usage: banger internal packages <debian|void|alpine> [--docker]"),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
var packages []string
|
||||
switch strings.TrimSpace(args[0]) {
|
||||
|
|
@ -188,6 +188,8 @@ func newInternalPackagesCommand() *cobra.Command {
|
|||
}
|
||||
case "void":
|
||||
packages = imagepreset.VoidBasePackages()
|
||||
case "alpine":
|
||||
packages = imagepreset.AlpineBasePackages()
|
||||
default:
|
||||
return fmt.Errorf("unknown package preset %q", args[0])
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue