VM images Phase A: commit + harden the cloud-image builder (Devuan ECS01 + Debian-13) #7

Open
opened 2026-06-17 22:26:16 +00:00 by hclaude · 0 comments
Owner

Part of #6. Phase A of the "mostly working" VM-image plan.

Goal

Commit + harden the cloud-image builder so it produces bootable Devuan ECS01
and Debian-13 ECS01 qcow2 that take PVE cloud-init. Build on Hclaude01 via
the libguestfs/guestfish appliance under TCG (proven in stage 1; no loop/kvm).

Requirements

  • R1 Commit build-cloud-image.sh (currently uncommitted under /scratch/Templates/cloudimg/) into src/.
  • R2 cloud-init wiring:
    • Devuan: bake the patched OpenRC shim set from research/cloud-init-devuan (patch 0004 = cloud-init alias service) + rc-update the 4 stages. Do NOT rely on the distro package's stale OpenRC wiring (boots into cloud-config needs non existent service 'cloud-init').
    • Debian: stock systemd units (cloud-init.target).
  • R3 /etc/hostname = localhost placeholder (empty → OpenRC hostname.sh fail cascades checkroot/checkfs/mountall; LXC→VM inversion). cloud-init overrides on first boot.
  • R4 Serial console: kernel console=ttyS0,115200n8 (serial last — VM-D5 decided), agetty.ttyS0/serial-getty@ttyS0, GRUB serial menu.
  • R5 qemu-guest-agent: enable (rc-update/systemctl enable); add an OpenRC wrapper if the Devuan package ships only a systemd unit (VM-R1).
  • R6 chrony + ptp_kvm refclock config — shipped but NOT boot-gated (host modprobe ptp_kvm is a documented prereq; guest boots fine without /dev/ptp0).
  • R7 cloud-init datasource pin NoCloud + renderer eni (ifupdown).
  • Rebuild both qcow2; local qemu -nographic smoke → serial login. Do Debian first (low-risk pipeline validation), then Devuan (OpenRC shim).

Out of scope (deferred, see #6)

ZFS DKMS, UEFI/OVMF, swapfile, clean-lean Devuan.

Part of #6. Phase A of the "mostly working" VM-image plan. ## Goal Commit + harden the cloud-image builder so it produces bootable **Devuan ECS01** and **Debian-13 ECS01** qcow2 that take PVE cloud-init. Build on Hclaude01 via the libguestfs/guestfish appliance under TCG (proven in stage 1; no loop/kvm). ## Requirements - [ ] **R1** Commit `build-cloud-image.sh` (currently uncommitted under `/scratch/Templates/cloudimg/`) into `src/`. - [ ] **R2** cloud-init wiring: - Devuan: bake the **patched OpenRC shim set** from `research/cloud-init-devuan` (patch `0004` = `cloud-init` alias service) + `rc-update` the 4 stages. Do NOT rely on the distro package's stale OpenRC wiring (boots into `cloud-config needs non existent service 'cloud-init'`). - Debian: stock systemd units (`cloud-init.target`). - [ ] **R3** `/etc/hostname` = `localhost` placeholder (empty → OpenRC `hostname.sh` fail cascades checkroot/checkfs/mountall; LXC→VM inversion). cloud-init overrides on first boot. - [ ] **R4** Serial console: kernel `console=ttyS0,115200n8` (**serial last** — VM-D5 decided), `agetty.ttyS0`/`serial-getty@ttyS0`, GRUB serial menu. - [ ] **R5** qemu-guest-agent: enable (`rc-update`/`systemctl enable`); add an OpenRC wrapper if the Devuan package ships only a systemd unit (VM-R1). - [ ] **R6** chrony + ptp_kvm refclock config — **shipped but NOT boot-gated** (host `modprobe ptp_kvm` is a documented prereq; guest boots fine without `/dev/ptp0`). - [ ] **R7** cloud-init datasource pin `NoCloud` + renderer `eni` (ifupdown). - [ ] Rebuild both qcow2; local `qemu -nographic` smoke → serial login. Do **Debian first** (low-risk pipeline validation), then Devuan (OpenRC shim). ## Out of scope (deferred, see #6) ZFS DKMS, UEFI/OVMF, swapfile, clean-lean Devuan.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ECS-Public-Infra/Create-Templates#7
No description provided.