aboutsummaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
authorKaran Jayachandra <mail@karanjayachandra.com>2026-07-19 07:57:40 +0200
committerKaran Jayachandra <mail@karanjayachandra.com>2026-07-19 07:57:40 +0200
commit60ad15f942e2682a54af84fa568ee096adc831c5 (patch)
tree90b3fe8a94d42c529946bfdc68bf2dec56a2b233 /hosts
parent9ceddb33272e5fca6382c1b4dec2074bd1167738 (diff)
Revert disko boot partition rename - it broke the live deploy
Renaming the Nix attribute from ESP to bootfs changed the GPT partition label disko expects fileSystems."/boot" to reference, but the physical partition on the already-installed disk still carries the original disk-main-ESP label from initial install - renaming an attribute here doesn't relabel it. On deploy this hung boot.mount/local-fs.target waiting for a device that doesn't exist, which cascaded into blocking every service queued behind sysinit.target (AdGuard, the new ACME cert, Actual) and ultimately required a restore from an older snapshot to recover. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'hosts')
-rw-r--r--hosts/eurovm/disko.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/hosts/eurovm/disko.nix b/hosts/eurovm/disko.nix
index 5176340..bf0ca8c 100644
--- a/hosts/eurovm/disko.nix
+++ b/hosts/eurovm/disko.nix
@@ -21,9 +21,17 @@
};
# 512 MiB /boot - keeps kernels/initrds out of root for clarity.
- # Not a real EFI System Partition (ext4, not FAT32/type EF00) -
- # this is a BIOS-boot setup, GRUB just needs a plain filesystem here.
- bootfs = {
+ # Named ESP for historical reasons (matches the GPT partition label
+ # already baked into the live disk from initial install) even
+ # though it's not really an EFI System Partition (ext4, not
+ # FAT32/type EF00) - this is a BIOS-boot setup, GRUB just needs a
+ # plain filesystem here. Do NOT rename this attribute: disko
+ # derives the actual GPT partition label from it, and renaming it
+ # here does not relabel the already-installed physical partition -
+ # fileSystems."/boot" would then point at a by-partlabel device
+ # that doesn't exist, hanging boot.mount/local-fs.target on
+ # activation (this exact mistake took the server down once).
+ ESP = {
size = "512M";
type = "8300";
content = {