Skip to main content

Roadmap & Open Points

Working notes, last reviewed June 2026. These items come from development sessions and are not yet scheduled.

Current Status

  • ✅ Remastering working on all six families: Alpine, Arch, Debian, Fedora, Manjaro, openSUSE (and derivatives).
  • ✅ Graphical installer: Calamares (Alpine included).
  • ✅ TUI installer: Krill (see open point 1).
  • ❌ Clone with user data (--mode clone).
  • ❌ Encrypted clone (--mode crypted).

Open Points

1. Krill — TUI installer

  • In penguins-eggs it was written in TypeScript; it must be rewritten in Go.
  • Candidate library: Bubbletea (charmbracelet) for the multi-step wizard.
  • Priority target: server sysadmins (headless, no Calamares).
  • The installation logic already lives in the install: block of the YAML profile — Krill can be a TUI frontend that collects parameters and then executes the same plan.
  • Full design: installer.md.

2. Multi-architecture detection

The Arch field in distro uses runtime.GOARCH; it should use uname -m before the multi-arch porting:

func detectArch() string {
out, err := exec.Command("uname", "-m").Output()
if err != nil {
return runtime.GOARCH // fallback
}
arch := strings.TrimSpace(string(out))
switch arch {
case "x86_64": return "amd64"
case "aarch64": return "arm64"
case "riscv64": return "riscv64"
default: return arch
}
}

To be integrated in NewDistro() before the arm64/riscv64 ports.

3. Hardcoded work_dir in the templates

/home/eggs appears literally in the shell commands of base.yaml.tmpl. If the user changes settings.remaster.work_dir, the shell commands do not respect it. Solution: pass it as a template variable inside the shell commands too:

command: "/etc/oa-tools.d/scripts/copy-kernel-initrd.sh {{ .settings.remaster.work_dir }}"

4. generate-efi.img as a dedicated module

The inline step with dd + mkfs.vfat + mmd + mcopy is fragile. Candidate for a dedicated efi_image module with structured error handling.

5. Cleanup/rollback on error

The cleanup step is commented out in the YAML. If the pipeline fails midway, mounts are left hanging. Evaluate an automatic rollback mechanism in coa.

Test Hardware

ArchHardwareNotes
amd64Main Proxmox hostCI VMs, self-hosted runner
arm64Raspberry Pi 5 with ProxmoxARM64 VMs, already operational
riscv64SpaceMit MuseBook M1Bianbu OS (Ubuntu derivative), already remastered with eggs

Visibility / Community

  • Problem: oa-tools has few stars despite its quality — penguins-eggs still captures all the traffic.
  • Plan: wait for Debian/Ubuntu feature parity, then a technical blog post + HackerNews ("I rewrote my remastering tool in C+Go, here's why").
  • The penguins-eggs README already mentions oa-tools as the successor — strengthen that link.