summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorMartin Schwaighofer <mschwaig@users.noreply.github.com>2021-04-20 23:00:05 +0200
committerMartin Schwaighofer <mschwaig@users.noreply.github.com>2021-04-26 01:12:10 +0200
commitf20ae954d57f7fa4f007a000291dc1644036570f (patch)
treec9a16b1782185ec9b27e2acf50063f31fc6ed397 /nixos/lib
parent00fe26700397b46a33ffbcb36e5297cf31b57faa (diff)
downloadnixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar.gz
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar.bz2
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar.lz
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar.xz
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.tar.zst
nixpkgs-f20ae954d57f7fa4f007a000291dc1644036570f.zip
make-disk-image: fix broken EFI image builds
Work around missing /dev files inside runInLinuxVM by creating a
symlink before calling nixos-enter.

This fixes https://github.com/NixOS/nixpkgs/issues/93381.
I ran into this issue when trying to create a VMware image that boots from EFI.

Thanks @colemickens for reporting this and @danielfullmer for fixing the same thing in in qemu-vm.nix (37676e77cb5adab936606838d6465faafda54f61) and explaining what the issue was.
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/make-disk-image.nix3
1 files changed, 3 insertions, 0 deletions
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 023d0791a5c..88c87bcd568 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -283,6 +283,9 @@ in pkgs.vmTools.runInLinuxVM (
       # Some tools assume these exist
       ln -s vda /dev/xvda
       ln -s vda /dev/sda
+      # make systemd-boot find ESP without udev
+      mkdir /dev/block
+      ln -s /dev/vda1 /dev/block/254:1
 
       mountPoint=/mnt
       mkdir $mountPoint