• 26.20-alpha 8e281fa4a6

    26.20-alpha
    All checks were successful
    CI / lint (pull_request) Successful in 24s
    CI / test (pull_request) Successful in 1m19s
    CI / validate-json (pull_request) Successful in 21s
    CI / markdown-links (pull_request) Successful in 14s
    Build ISO / build-iso (push) Successful in 18m15s
    Deploy site / deploy (push) Successful in 4s
    CI / lint (push) Successful in 23s
    CI / test (push) Successful in 1m17s
    CI / validate-json (push) Successful in 21s
    CI / markdown-links (push) Successful in 13s
    Release / release (push) Successful in 12m2s
    Pre-release

    daniel released this 2026-08-25 17:12:48 +02:00 | 9 commits to main since this release

    First release shaped by a real-hardware install (old laptop mainboard, BIOS boot,
    SSD with a previous Proxmox VE on it). All four fixes are things an empty
    Proxmox VM never shows.

    Fixed

    • First catalog sync no longer dies silently at boot. On dual-stack
      LANs network-online.target is satisfied by the IPv6 SLAAC address a
      second before DHCPv4 lands, so furtka-catalog-sync.service ran into
      Network is unreachable, exited, and the next attempt was the daily timer
      — up to 6 h of jitter later. Meanwhile catalog-state.json stayed on
      checking and the apps page showed "checking…" with nothing running
      (first hardware bench, 2026-08-25). The service now retries on failure
      (every 20 s, up to 8 times in 15 min), a failed sync is recorded as stage
      error with the message, and the apps page shows "last sync failed: …"
      instead of a fake in-progress state.
    • Installer frees the target disk before partitioning. The live ISO
      auto-activates whatever an attached drive carries (LVM volume groups, md
      arrays, swap) — the first hardware bench's SSD still had a Proxmox VE
      pve VG on it — and archinstall then failed at 12 % with unable to inform the kernel of the change, probably because it/they are in use.
      install_run now runs diskprep.release_disk() first: swapoff/umount
      leaves-first, dmsetup remove / mdadm --stop for every dm/md node
      stacked on the disk, wipefs -a on partitions + disk, then
      blockdev --rereadpt. Every step is written to the top of the install
      log. The progress page also names this failure explicitly instead of a
      bare "hit a snag" if it does still happen.
    • Console banner always shows the IP fallback. On both the live ISO and
      the installed system the /etc/issue welcome was written once, after
      network-online.target, and simply omitted the http://<ip> line when no
      address existed yet — so on a slow-DHCP NIC (first hardware bench,
      2026-08-24) the screen only ever offered proksi.local. The banner script
      now runs from a timer (furtka-issue.timer on the ISO,
      furtka-welcome.timer on the installed box, every 5 s) and always prints
      a fallback line: every global IPv4 address once there is one, or a
      "no IP address yet — check the cable / DHCP" hint until then. It only
      rewrites /etc/issue and nudges agetty when the text changed, so the
      login prompt doesn't flicker. The live ISO no longer auto-logs root in
      on tty1 (releng default) — that handed the console to a shell before the
      banner could update; tty1 now stays at the login prompt with a live
      banner, and the banner tells you a shell is root + Enter away. Boxes
      that self-update get the new timer linked + enabled automatically; the
      refresh loop takes effect after their next reboot.
    Downloads