summary refs log tree commit diff
path: root/modules/installer/cd-dvd/iso-image.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/installer/cd-dvd/iso-image.nix')
-rw-r--r--modules/installer/cd-dvd/iso-image.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/installer/cd-dvd/iso-image.nix b/modules/installer/cd-dvd/iso-image.nix
index bea9da2d03f..a3bd94805dc 100644
--- a/modules/installer/cd-dvd/iso-image.nix
+++ b/modules/installer/cd-dvd/iso-image.nix
@@ -132,6 +132,14 @@ in
         source = pkgs.runCommand "empty" {} "ensureDir $out";
         target = "/nix/store";
       }
+      { # Another quick hack: the kernel needs a systemConfig
+        # parameter in menu.lst, but the system config depends on
+        # menu.lst.  Break the cyclic dependency by having a /system
+        # symlink on the CD, and having menu.lst refer to /system.
+        source = pkgs.runCommand "system" {}
+          "ln -s ${config.system.build.system} $out";
+        target = "/system";
+      }
     ];
 
   # The Grub menu.
@@ -142,7 +150,7 @@ in
         chainloader +1
     
       title NixOS Installer / Rescue
-        kernel /boot/vmlinuz init=${config.system.build.bootStage2} systemConfig=${config.system.build.system} ${toString config.boot.kernelParams}
+        kernel /boot/vmlinuz init=${config.system.build.bootStage2} systemConfig=/system ${toString config.boot.kernelParams}
         initrd /boot/initrd
     '';