From f4738584c367ce6986034011c0bd49d7dfc101cc Mon Sep 17 00:00:00 2001 From: DannyDannyDanny Date: Fri, 24 Apr 2026 14:51:41 +0200 Subject: [PATCH] =?UTF-8?q?fix(vps-relay):=20add=20virtio=20modules=20to?= =?UTF-8?q?=20initrd=20so=20it=20boots=20on=20Hetzner=20=F0=9F=9B=B0?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nixos/hosts/vps-relay.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/nixos/hosts/vps-relay.nix b/nixos/hosts/vps-relay.nix index 8147561..d589cee 100644 --- a/nixos/hosts/vps-relay.nix +++ b/nixos/hosts/vps-relay.nix @@ -13,6 +13,20 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + # Hetzner Cloud cx23 uses QEMU virtio-scsi for the disk and virtio-net + # for the NIC. Without these modules in initrd, the kernel can't find + # the root partition and hangs during boot. + boot.initrd.availableKernelModules = [ + "virtio_pci" + "virtio_scsi" + "virtio_net" + "virtio_blk" + "ata_piix" + "sd_mod" + "sr_mod" + ]; + boot.kernelModules = [ "virtio_pci" "virtio_scsi" "virtio_net" ]; + # Cloud provisioners add the initial root SSH key via cloud-init or # equivalent; we don't run cloud-init. All config is baked at install. networking.hostName = "vps-relay";