about summary refs log tree commit diff
path: root/nixos/modules/virtualisation
diff options
context:
space:
mode:
authorDaniel Fullmer <danielrf12@gmail.com>2020-04-11 16:38:55 -0400
committerDaniel Fullmer <danielrf12@gmail.com>2020-05-05 14:18:18 -0400
commit37676e77cb5adab936606838d6465faafda54f61 (patch)
tree5b0998fdd5f04fea8f944fae642cb5ca49f0ea2f /nixos/modules/virtualisation
parente50628419327611ddfcd489772b3afcf217a2d58 (diff)
downloadnixlib-37676e77cb5adab936606838d6465faafda54f61.tar
nixlib-37676e77cb5adab936606838d6465faafda54f61.tar.gz
nixlib-37676e77cb5adab936606838d6465faafda54f61.tar.bz2
nixlib-37676e77cb5adab936606838d6465faafda54f61.tar.lz
nixlib-37676e77cb5adab936606838d6465faafda54f61.tar.xz
nixlib-37676e77cb5adab936606838d6465faafda54f61.tar.zst
nixlib-37676e77cb5adab936606838d6465faafda54f61.zip
nixos/systemd-boot: Add basic test
Diffstat (limited to 'nixos/modules/virtualisation')
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 85b75ba6804b..ac86330c098b 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -189,9 +189,18 @@ let
           mkdir /boot/grub
           echo '(hd0) /dev/vda' > /boot/grub/device.map
 
-          # Install GRUB and generate the GRUB boot menu.
-          touch /etc/NIXOS
+          # This is needed for systemd-boot to find ESP, and udev is not available here to create this
+          mkdir -p /dev/block
+          ln -s /dev/vda2 /dev/block/254:2
+
+          # Set up system profile (normally done by nixos-rebuild / nix-env --set)
           mkdir -p /nix/var/nix/profiles
+          ln -s ${config.system.build.toplevel} /nix/var/nix/profiles/system-1-link
+          ln -s /nix/var/nix/profiles/system-1-link /nix/var/nix/profiles/system
+
+          # Install bootloader
+          touch /etc/NIXOS
+          export NIXOS_INSTALL_BOOTLOADER=1
           ${config.system.build.toplevel}/bin/switch-to-configuration boot
 
           umount /boot