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 (6948c3ab80
), 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). (cherry picked from commit269f261c73
)
This commit is contained in:
parent
47e3abd51e
commit
0d544537ca
|
@ -43,6 +43,13 @@ let
|
||||||
LINUX /boot/bzImage
|
LINUX /boot/bzImage
|
||||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
|
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
|
||||||
INITRD /boot/initrd
|
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 = ''
|
isolinuxMemtest86Entry = ''
|
||||||
|
@ -59,10 +66,18 @@ let
|
||||||
mkdir -p $out/EFI/boot
|
mkdir -p $out/EFI/boot
|
||||||
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
|
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
|
||||||
mkdir -p $out/loader/entries
|
mkdir -p $out/loader/entries
|
||||||
|
|
||||||
echo "title NixOS Live CD" > $out/loader/entries/nixos-livecd.conf
|
echo "title NixOS Live CD" > $out/loader/entries/nixos-livecd.conf
|
||||||
echo "linux /boot/bzImage" >> $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 "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
|
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 "default nixos-livecd" > $out/loader/loader.conf
|
||||||
echo "timeout ${builtins.toString config.boot.loader.gummiboot.timeout}" >> $out/loader/loader.conf
|
echo "timeout ${builtins.toString config.boot.loader.gummiboot.timeout}" >> $out/loader/loader.conf
|
||||||
'';
|
'';
|
||||||
|
@ -230,7 +245,6 @@ in
|
||||||
boot.kernelParams =
|
boot.kernelParams =
|
||||||
[ "root=LABEL=${config.isoImage.volumeID}"
|
[ "root=LABEL=${config.isoImage.volumeID}"
|
||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
"nomodeset"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user