HiveStation V21 - what's new since V20
V21 is out (current build
V21.3.1). Archive attached:
HIVESTATION-V21-COMPLETE.tar.gz. Existing V15-V20 installs can move up with
hivestation-upgrade.sh (no reinstall); a fresh install follows S1 -> S8 as usual. All scripts stay bilingual FR/EN, and the full guide is in the archive.
ZFS as a first-class filesystem. Two new disk modes at S1 launch:
ZFS single and
ZFS mirror, at functional parity with the Btrfs stack (the Btrfs and LVM code paths are untouched). The boot chain is themed GRUB on the ESP chaining into
ZFSBootMenu, which kexecs the
Boot Environment - GRUB never probes the pool, and Boot Environments, snapshots and kernels are selectable at boot. The dataset layout isolates home, logs, caches and the PVE state from the rollbackable root; S1 asks for the ARC cap (default 2 GiB). S3.2 defaults to the native
zfspool storage
local-zfs (VM
and CT snapshots out of the box); S5 installs
sanoid timelines plus an APT hook that snapshots the Boot Environment before every operation - each snapshot bootable from the ZFSBootMenu menu - and a ZFS health monitor that publishes the same state file the Plymouth theme and the widget already read.
Native ZFS encryption - hybrid design. Opt-in in both ZFS modes: aes-256-gcm on root/home/var with the kernels inside the encrypted pool, and the swap as a LUKS2 partition outside the pool (a swap zvol is never used). One passphrase, typed once at a themed ZFSBootMenu prompt with
your keyboard layout (a self-contained ckbcomp keymap loaded before the prompt - FR and DE layouts proven on real hardware); the booted system then loads its keys without a prompt. Use ASCII-only passphrases in ZFS modes: the initramfs LUKS prompt of the Btrfs modes accepts accented characters, the ZFSBootMenu prompt does not (tested on real hardware). Hibernation (persistent encrypted swap) works on the test bench but stays
EXPERIMENTAL: some firmwares reboot on the default ACPI entry before the image is written, so the installer pins
HibernateMode=shutdown.
ZFS mirror HA. GRUB is installed on each ESP (either disk boots alone) and the ZFSBootMenu images are replicated by
efi-sync; a zed hooklet and a desktop alert signal degradation; a missing disk means a
native degraded boot straight to the login. Disk replacement is a guided, admin-triggered run - never an unattended format; a replacement disk of the same model as the survivor is accepted (an overshooting size check rejected identical disks, found and fixed on real hardware). Boot-time missing-disk detection now goes through
one dispatcher unit for both redundant modes (
hivestation-auto-replace.service); the historical
btrfs-auto-replace.service alias was removed in 21.3.0.
Real-hardware validation - EXPERIMENTAL flags dropped. The series was validated end to end on real hardware (UEFI firmware, hardware TPM 2.0): all four ZFS modes, ZFSBootMenu unlock with FR and DE layouts, degraded boot with a disk physically removed, automatic reintegration and guided replacement up to a reboot on the rebuilt disk, TPM2 auto-unlock, hibernate/resume on the encrypted mirror, a full encrypted Btrfs RAID1 install under
active Secure Boot (signed PVE kernel chain, accented passphrase at the initramfs prompt), and an upgrade of a published V20.5 install to the current series. As a result,
LUKS2 encryption (Btrfs modes), native ZFS encryption and the TPM2 auto-unlock drop their EXPERIMENTAL flags; the LVM+LUKS variant stays flagged (not yet validated on real hardware) and hibernation keeps its flag. ZFS modes need Secure Boot off: the install-time boot chain carries an unsigned DKMS-built module.
Monitoring widget v19 and Plymouth theme v2V11. The widget gains a ZFS storage panel (pool health, member devices, capacity) through direct read-only
zpool/
zfs calls - no new broker verb, no sudoers change - plus mode-aware preferences and a two-column layout for small screens; both consumers follow the unified auto-replace unit with a fallback for non-migrated installs. On ZFS installs, S8 applies the GRUB theme onto the ESP and Plymouth splashes after the kexec; a new S8 option installs
Cockpit + the ZFS manager plugin (shipped in the archive, no download at install time).
Storage migration handles guests with snapshots (V21.2). The Btrfs storage move used to fail blind on a guest whose disk carries Proxmox snapshots. It now detects them first and asks a dedicated question (default: keep them and skip the guest); every skip, failure and accepted snapshot deletion lands in the session manifest with its cause.
Debian 13 printing/AppArmor fix (21.2.1) - all disk modes. Debian 13 ships the cupsd/cups-browsed AppArmor profiles without an
abi line: printing dies silently and every session start waits out D-Bus timeouts (userspace boot in the minute-and-a-half range on affected nodes). S4 and the upgrade pin
abi <abi/4.0>, and allow
unix, in both profiles - printing works and the session opens in seconds.
PCIe passthrough on ZFS (21.3.1). The optional passthrough step now lands the IOMMU arguments on the Boot Environment command line (idempotent append) - previously the edit only reached
/etc/default/grub, which the ZFS boot chain does not read.
Upgrade. hivestation-upgrade.sh covers V15-V20 -> V21 for Btrfs/LVM installs and refreshes an existing V21 ZFS install in place (restore point = a Boot Environment snapshot, bootable from the ZFSBootMenu menu). Adopting ZFS remains a fresh install - there is no conversion.
Full release notes are in section 8.1 of the guide; the chronological development journal is in
DEVLOG-V21.md at the root of the archive. Feedback welcome.