From 269f261c738a88799f348cbb42e8617ff79c6710 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Thu, 24 Dec 2015 19:31:07 +0200 Subject: installation-cd: Add separate boot entry that has 'nomodeset' We seem to be in an unfortunate situation: booting without 'nomodeset' causes hangs when booting on some NVIDIA cards (6948c3ab807), but on the other hand adding 'nomodeset' prevents X from starting on other hardware (e.g. issue #10381 and my Thinkpad X250 with an integrated Broadwell GPU). Attempt to remedy this situation a bit by adding a separate entry in the ISOLINUX menu (with the non-'nomodeset' being the default). --- nixos/modules/installer/cd-dvd/iso-image.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index fa9cc6fa20b9..d3353ee7d64d 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -43,6 +43,13 @@ let LINUX /boot/bzImage APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} INITRD /boot/initrd + + # A variant to boot with 'nomodeset' + LABEL boot-nomodeset + MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} (with nomodeset) + LINUX /boot/bzImage + APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset + INITRD /boot/initrd ''; isolinuxMemtest86Entry = '' @@ -59,10 +66,18 @@ let mkdir -p $out/EFI/boot cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi mkdir -p $out/loader/entries + echo "title NixOS Live CD" > $out/loader/entries/nixos-livecd.conf echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf echo "initrd /boot/initrd" >> $out/loader/entries/nixos-livecd.conf echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" >> $out/loader/entries/nixos-livecd.conf + + # A variant to boot with 'nomodeset' + echo "title NixOS Live CD (with nomodeset)" > $out/loader/entries/nixos-livecd-nomodeset.conf + echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd-nomodeset.conf + echo "initrd /boot/initrd" >> $out/loader/entries/nixos-livecd-nomodeset.conf + echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset" >> $out/loader/entries/nixos-livecd-nomodeset.conf + echo "default nixos-livecd" > $out/loader/loader.conf echo "timeout ${builtins.toString config.boot.loader.gummiboot.timeout}" >> $out/loader/loader.conf ''; @@ -230,7 +245,6 @@ in boot.kernelParams = [ "root=LABEL=${config.isoImage.volumeID}" "boot.shell_on_fail" - "nomodeset" ]; fileSystems."/" = -- cgit 1.4.1