summary refs log tree commit diff
path: root/nixos/modules/installer/cd-dvd/iso-image.nix
diff options
context:
space:
mode:
authorSamuel Dionne-Riel <samuel@dionne-riel.com>2021-04-20 17:03:15 -0400
committerSamuel Dionne-Riel <samuel@dionne-riel.com>2021-05-01 19:53:14 -0400
commit9413da26fd3364d81bb744578f95512a4c2c7863 (patch)
tree62391350128993741fed2fdca3f671349e54210b /nixos/modules/installer/cd-dvd/iso-image.nix
parent189507a35d4fd5c88e1172aee0a410229e60ba86 (diff)
downloadnixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar.gz
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar.bz2
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar.lz
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar.xz
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.tar.zst
nixpkgs-9413da26fd3364d81bb744578f95512a4c2c7863.zip
iso-image: Provide the right rEFInd binary
Diffstat (limited to 'nixos/modules/installer/cd-dvd/iso-image.nix')
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index b876e83e237..7dd3bf23933 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -162,12 +162,14 @@ let
   isolinuxCfg = concatStringsSep "\n"
     ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
 
+  refindBinary = if targetArch == "x64" || targetArch == "aa64" then "refind_${targetArch}.efi" else null;
+
   # Setup instructions for rEFInd.
   refind =
-    if targetArch == "x64" then
+    if refindBinary != null then
       ''
       # Adds rEFInd to the ISO.
-      cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/
+      cp -v ${pkgs.refind}/share/refind/${refindBinary} $out/EFI/boot/
       ''
     else
       "# No refind for ${targetArch}"
@@ -362,11 +364,13 @@ let
       }
     }
 
+    ${lib.optionalString (refindBinary != null) ''
     menuentry 'rEFInd' --class refind {
       # UUID is hard-coded in the derivation.
       search --set=root --no-floppy --fs-uuid 1234-5678
-      chainloader (\$root)/EFI/boot/refind_x64.efi
+      chainloader (\$root)/EFI/boot/${refindBinary}
     }
+    ''}
     menuentry 'Firmware Setup' --class settings {
       fwsetup
       clear