about summary refs log tree commit diff
path: root/nixos/modules/installer
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2022-05-13 14:30:38 +0300
committerGitHub <noreply@github.com>2022-05-13 14:30:38 +0300
commita0ed85ef2955e01856d3c62a17591c0e3e633fd0 (patch)
treee757e96f386d1c36c780378b63240806ae752f49 /nixos/modules/installer
parent795eff741d6d02ed92d5b91ec748e02ef0c50f07 (diff)
parent0931014baf9a4db293f8aa13c86dc7f1c0aa9395 (diff)
downloadnixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar.gz
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar.bz2
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar.lz
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar.xz
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.tar.zst
nixlib-a0ed85ef2955e01856d3c62a17591c0e3e633fd0.zip
Merge pull request #165876 from tpwrules/slim-eltorito
iso-image: slim down UEFI El Torito image
Diffstat (limited to 'nixos/modules/installer')
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix16
1 files changed, 7 insertions, 9 deletions
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 860e240b43d4..1eaa940afb1f 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -369,10 +369,10 @@ let
     ${lib.optionalString (refindBinary != null) ''
     # GRUB apparently cannot do "chainloader" operations on "CD".
     if [ "\$root" != "cd0" ]; then
-      # Force root to be the FAT partition
-      # Otherwise it breaks rEFInd's boot
-      search --set=root --no-floppy --fs-uuid 1234-5678
       menuentry 'rEFInd' --class refind {
+        # Force root to be the FAT partition
+        # Otherwise it breaks rEFInd's boot
+        search --set=root --no-floppy --fs-uuid 1234-5678
         chainloader (\$root)/EFI/boot/${refindBinary}
       }
     fi
@@ -400,10 +400,8 @@ let
     #   dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
     ''
       mkdir ./contents && cd ./contents
-      cp -rp "${efiDir}"/EFI .
-      mkdir ./boot
-      cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \
-        "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/
+      mkdir -p ./EFI/boot
+      cp -rp "${efiDir}"/EFI/boot/{grub.cfg,*.efi} ./EFI/boot
 
       # Rewrite dates for everything in the FS
       find . -exec touch --date=2000-01-01 {} +
@@ -421,11 +419,11 @@ let
       faketime "2000-01-01 00:00:00" mkfs.vfat -i 12345678 -n EFIBOOT "$out"
 
       # Force a fixed order in mcopy for better determinism, and avoid file globbing
-      for d in $(find EFI boot -type d | sort); do
+      for d in $(find EFI -type d | sort); do
         faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d"
       done
 
-      for f in $(find EFI boot -type f | sort); do
+      for f in $(find EFI -type f | sort); do
         mcopy -pvm -i "$out" "$f" "::/$f"
       done