diff options
author | Daniel Fabian <daniel.fabian@integral-it.ch> | 2019-03-21 10:00:39 +0000 |
---|---|---|
committer | Dany Fabian <daniel.fabian@microsoft.com> | 2019-04-08 11:34:39 +0100 |
commit | 84ff0956a8c4f0794b65dea5287b44cb9c312e76 (patch) | |
tree | 430556a7a236eb9776962ce3b2f886978580d03b | |
parent | 431d8e30383d1dffdbeb7ebb59953998566f954b (diff) |
grub: Add support for gfxpayload in grub. Needed for NVIDIA drivers before KMS, afaik
-rw-r--r-- | nixos/modules/system/boot/loader/grub/grub.nix | 20 | ||||
-rw-r--r-- | nixos/modules/system/boot/loader/grub/install-grub.pl | 6 |
2 files changed, 23 insertions, 3 deletions
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index d3cf8b29bb46..99aa7759c954 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -61,7 +61,7 @@ let inherit (cfg) version extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber extraEntriesBeforeNixOS extraPrepareConfig extraInitrd configurationLimit copyKernels - default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios; + default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios; path = with pkgs; makeBinPath ( [ coreutils gnused gnugrep findutils diffutils btrfs-progs utillinux mdadm ] ++ optional (cfg.efiSupport && (cfg.version == 2)) efibootmgr @@ -393,6 +393,24 @@ in ''; }; + gfxpayloadEfi = mkOption { + default = "keep"; + example = "text"; + type = types.str; + description = '' + The gfxpayload to pass to GRUB when loading a graphical boot interface under EFI. + ''; + }; + + gfxpayloadBios = mkOption { + default = "text"; + example = "keep"; + type = types.str; + description = '' + The gfxpayload to pass to GRUB when loading a graphical boot interface under BIOS. + ''; + }; + configurationLimit = mkOption { default = 100; example = 120; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index bda6a3136407..a36b3c180eb4 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -67,6 +67,8 @@ my $efiInstallAsRemovable = get("efiInstallAsRemovable"); my $efiSysMountPoint = get("efiSysMountPoint"); my $gfxmodeEfi = get("gfxmodeEfi"); my $gfxmodeBios = get("gfxmodeBios"); +my $gfxpayloadEfi = get("gfxpayloadEfi"); +my $gfxpayloadBios = get("gfxpayloadBios"); my $bootloaderId = get("bootloaderId"); my $forceInstall = get("forceInstall"); my $font = get("font"); @@ -293,10 +295,10 @@ else { insmod gfxterm if [ \"\${grub_platform}\" = \"efi\" ]; then set gfxmode=$gfxmodeEfi - set gfxpayload=keep + set gfxpayload=$gfxpayloadEfi else set gfxmode=$gfxmodeBios - set gfxpayload=text + set gfxpayload=$gfxpayloadBios fi terminal_output gfxterm fi |