Installer: Add nomodeset and blacklist the nouveau driver

I observed a hang at the moment the nouveau driver gets loaded on a
GTX 970.

Changed files
+8 -8
nixos
doc
manual
installation
modules
installer
cd-dvd
+2 -2
nixos/doc/manual/installation/installing-usb.xml
···
<title>Booting from a USB Drive</title>
-
<para>For systems without CD drive, the NixOS livecd can be booted from
-
a usb stick. For non-UEFI installations,
+
<para>For systems without CD drive, the NixOS live CD can be booted from
+
a USB stick. For non-UEFI installations,
<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>
will work. For UEFI installations, you should mount the ISO, copy its contents
verbatim to your drive, then either:
+6 -6
nixos/modules/installer/cd-dvd/iso-image.nix
···
# * COM32 entries (chainload, reboot, poweroff) are not recognized. They
# result in incorrect boot entries.
-
baseIsolinuxCfg =
-
''
+
baseIsolinuxCfg = ''
SERIAL 0 38400
TIMEOUT ${builtins.toString syslinuxTimeout}
UI vesamenu.c32
···
LINUX /boot/bzImage
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
INITRD /boot/initrd
-
'';
+
'';
isolinuxMemtest86Entry = ''
LABEL memtest
···
isolinuxCfg = baseIsolinuxCfg + (optionalString config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
-
# The efi boot image
+
# The EFI boot image.
efiDir = pkgs.runCommand "efi-directory" {} ''
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 LiveCD" > $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 "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
···
[ "root=LABEL=${config.isoImage.volumeID}"
"boot.shell_on_fail"
"nomodeset"
-
"systemd.log_level=debug"
];
fileSystems."/" =
···
};
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ];
+
+
boot.blacklistedKernelModules = [ "nouveau" ];
boot.initrd.kernelModules = [ "loop" ];