Loading nixos/modules/config/gnu.nix +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # GNU GRUB, where available. boot.loader.grub.enable = !pkgs.stdenv.isAarch32; boot.loader.grub.version = 2; # GNU lsh. services.openssh.enable = false; Loading nixos/modules/installer/cd-dvd/iso-image.nix +0 −2 Original line number Diff line number Diff line Loading @@ -694,8 +694,6 @@ in } ]; boot.loader.grub.version = 2; # Don't build the GRUB menu builder script, since we don't need it # here and it causes a cyclic dependency. boot.loader.grub.enable = false; Loading nixos/modules/installer/tools/nixos-generate-config.pl +0 −1 Original line number Diff line number Diff line Loading @@ -651,7 +651,6 @@ EOF $bootLoaderConfig = <<EOF; # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.version = 2; # boot.loader.grub.efiSupport = true; # boot.loader.grub.efiInstallAsRemovable = true; # boot.loader.efi.efiSysMountPoint = "/boot/efi"; Loading nixos/modules/system/boot/loader/grub/grub.nix +19 −33 Original line number Diff line number Diff line { config, lib, pkgs, ... }: { config, options, lib, pkgs, ... }: with lib; Loading @@ -12,8 +12,7 @@ let # Package set of targeted architecture if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs; realGrub = if cfg.version == 1 then grubPkgs.grub else if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; } realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; } else if cfg.trustedBoot.enable then if cfg.trustedBoot.isHPLaptop then grubPkgs.trustedGrub-for-HP Loading @@ -28,8 +27,7 @@ let else realGrub; grubEfi = # EFI version of Grub v2 if cfg.efiSupport && (cfg.version == 2) if cfg.efiSupport then realGrub.override { efiSupport = cfg.efiSupport; } else null; Loading @@ -52,24 +50,24 @@ let fullName = lib.getName realGrub; fullVersion = lib.getVersion realGrub; grubEfi = f grubEfi; grubTargetEfi = optionalString (cfg.efiSupport && (cfg.version == 2)) (f (grubEfi.grubTarget or "")); grubTargetEfi = optionalString cfg.efiSupport (f (grubEfi.grubTarget or "")); bootPath = args.path; storePath = config.boot.loader.grub.storePath; bootloaderId = if args.efiBootloaderId == null then "${config.system.nixos.distroName}${efiSysMountPoint'}" else args.efiBootloaderId; timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout; users = if cfg.users == {} || cfg.version != 1 then cfg.users else throw "GRUB version 1 does not support user accounts."; theme = f cfg.theme; inherit efiSysMountPoint; inherit (args) devices; inherit (efi) canTouchEfiVariables; inherit (cfg) version extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber extraGrubInstallArgs extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios; default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios users; path = with pkgs; makeBinPath ( [ coreutils gnused gnugrep findutils diffutils btrfs-progs util-linux mdadm ] ++ optional (cfg.efiSupport && (cfg.version == 2)) efibootmgr ++ optional cfg.efiSupport efibootmgr ++ optionals cfg.useOSProber [ busybox os-prober ]); font = if cfg.font == null then "" else (if lib.last (lib.splitString "." cfg.font) == "pf2" Loading Loading @@ -109,14 +107,8 @@ in }; version = mkOption { default = 2; example = 1; visible = false; type = types.int; description = lib.mdDoc '' The version of GRUB to use: `1` for GRUB Legacy (versions 0.9x), or `2` (the default) for GRUB 2. ''; }; device = mkOption { Loading Loading @@ -724,14 +716,7 @@ in config = mkMerge [ { boot.loader.grub.splashImage = mkDefault ( if cfg.version == 1 then pkgs.fetchurl { url = "http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz"; sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; } # GRUB 1.97 doesn't support gzipped XPMs. else defaultSplash); } { boot.loader.grub.splashImage = mkDefault defaultSplash; } (mkIf (cfg.splashImage == defaultSplash) { boot.loader.grub.backgroundColor = mkDefault "#2F302F"; Loading Loading @@ -788,10 +773,6 @@ in '') config.boot.loader.grub.extraFiles); assertions = [ { assertion = !cfg.zfsSupport || cfg.version == 2; message = "Only GRUB version 2 provides ZFS support"; } { assertion = cfg.mirroredBoots != [ ]; message = "You must set the option ‘boot.loader.grub.devices’ or " Loading @@ -801,10 +782,6 @@ in assertion = cfg.efiSupport || all (c: c < 2) (mapAttrsToList (n: c: if n == "nodev" then 0 else c) bootDeviceCounters); message = "You cannot have duplicated devices in mirroredBoots"; } { assertion = !cfg.trustedBoot.enable || cfg.version == 2; message = "Trusted GRUB is only available for GRUB 2"; } { assertion = !cfg.efiSupport || !cfg.trustedBoot.enable; message = "Trusted GRUB does not have EFI support"; Loading @@ -825,6 +802,10 @@ in assertion = cfg.efiInstallAsRemovable -> !config.boot.loader.efi.canTouchEfiVariables; message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn off boot.loader.efi.canTouchEfiVariables"; } { assertion = !(options.boot.loader.grub.version.isDefined && cfg.version == 1); message = "Support for version 0.9x of GRUB was removed after being unsupported upstream for around a decade"; } ] ++ flip concatMap cfg.mirroredBoots (args: [ { assertion = args.devices != [ ]; Loading @@ -844,6 +825,11 @@ in })); }) (mkIf options.boot.loader.grub.version.isDefined { warnings = [ '' The boot.loader.grub.version option does not have any effect anymore, please remove it from your configuration. '' ]; }) ]; Loading nixos/modules/system/boot/loader/grub/install-grub.pl +206 −242 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ sub runCommand { } my $grub = get("grub"); my $grubVersion = int(get("version")); my $grubTarget = get("grubTarget"); my $extraConfig = get("extraConfig"); my $extraPrepareConfig = get("extraPrepareConfig"); Loading Loading @@ -96,9 +95,7 @@ my $theme = get("theme"); my $saveDefault = $defaultEntry eq "saved"; $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; print STDERR "updating GRUB $grubVersion menu...\n"; print STDERR "updating GRUB 2 menu...\n"; mkpath("$bootPath/grub", 0, 0700); Loading Loading @@ -176,7 +173,6 @@ sub GrubFs { } my $search = ""; if ($grubVersion > 1) { # ZFS is completely separate logic as zpools are always identified by a label # or custom UUID if ($fs->type eq 'zfs') { Loading Loading @@ -246,7 +242,6 @@ sub GrubFs { $path = "(\$drive$driveid)$path"; $driveid += 1; } } return Grub->new(path => $path, search => $search); } my $grubBoot = GrubFs($bootPath); Loading @@ -258,20 +253,6 @@ if ($copyKernels == 0) { # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; if ($grubVersion == 1) { # $defaultEntry might be "saved", indicating that we want to use the last selected configuration as default. # Incidentally this is already the correct value for the grub 1 config to achieve this behaviour. $conf .= " default $defaultEntry timeout $timeout "; if ($splashImage) { copy $splashImage, "$bootPath/background.xpm.gz" or die "cannot copy $splashImage to $bootPath: $!\n"; $conf .= "splashimage " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/background.xpm.gz\n"; } } else { my @users = (); foreach my $user ($dom->findnodes('/expr/attrs/attr[@name = "users"]/attrs/attr')) { my $name = $user->findvalue('@name') or die; Loading Loading @@ -418,7 +399,6 @@ else { } }, no_chdir => 1 }, $theme ); } } $conf .= "$extraConfig\n"; Loading Loading @@ -494,17 +474,6 @@ sub addEntry { readFile("$path/kernel-params"); my $xenParams = $xen && -e "$path/xen-params" ? readFile("$path/xen-params") : ""; if ($grubVersion == 1) { $conf .= "title $name\n"; $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " kernel $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "kernel") . " $kernel $kernelParams\n"; $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n"; if ($saveDefault) { $conf .= " savedefault\n"; } $conf .= "\n"; } else { $conf .= "menuentry \"$name\" " . $options . " {\n"; if ($saveDefault) { $conf .= " savedefault\n"; Loading @@ -519,7 +488,6 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n"; $conf .= "}\n\n"; } } # Add default entries. Loading Loading @@ -562,7 +530,7 @@ sub addProfile { my ($profile, $description) = @_; # Add entries for all generations of this profile. $conf .= "submenu \"$description\" --class submenu {\n" if $grubVersion == 2; $conf .= "submenu \"$description\" --class submenu {\n"; sub nrFromGen { my ($x) = @_; $x =~ /\/\w+-(\d+)-link/; return $1; } Loading @@ -585,18 +553,16 @@ sub addProfile { addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions, 0); } $conf .= "}\n" if $grubVersion == 2; $conf .= "}\n"; } addProfile "/nix/var/nix/profiles/system", "@distroName@ - All configurations"; if ($grubVersion == 2) { for my $profile (glob "/nix/var/nix/profiles/system-profiles/*") { my $name = basename($profile); next unless $name =~ /^\w+$/; addProfile $profile, "@distroName@ - Profile '$name'"; } } # extraPrepareConfig could refer to @bootPath@, which we have to substitute $extraPrepareConfig =~ s/\@bootPath\@/$bootPath/g; Loading @@ -607,16 +573,14 @@ if ($extraPrepareConfig ne "") { } # write the GRUB config. my $confFile = $grubVersion == 1 ? "$bootPath/grub/menu.lst" : "$bootPath/grub/grub.cfg"; my $confFile = "$bootPath/grub/grub.cfg"; my $tmpFile = $confFile . ".tmp"; writeFile($tmpFile, $conf); # check whether to install GRUB EFI or not sub getEfiTarget { if ($grubVersion == 1) { return "no" } elsif (($grub ne "") && ($grubEfi ne "")) { if (($grub ne "") && ($grubEfi ne "")) { # EFI can only be installed when target is set; # A target is also required then for non-EFI grub if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die } Loading Loading @@ -741,7 +705,7 @@ symlink "$bootPath", "$tmpDir/boot" or die "Failed to symlink $tmpDir/boot: $!"; if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { foreach my $dev (@deviceTargets) { next if $dev eq "nodev"; print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n"; print STDERR "installing the GRUB 2 boot loader on $dev...\n"; my @command = ("$grub/sbin/grub-install", "--recheck", "--root-directory=$tmpDir", Cwd::abs_path($dev), @extraGrubInstallArgs); if ($forceInstall eq "true") { push @command, "--force"; Loading @@ -756,7 +720,7 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { # install EFI GRUB if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) { print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n"; print STDERR "installing the GRUB 2 boot loader into $efiSysMountPoint...\n"; my @command = ("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", @extraGrubInstallArgs); if ($forceInstall eq "true") { push @command, "--force"; Loading Loading
nixos/modules/config/gnu.nix +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # GNU GRUB, where available. boot.loader.grub.enable = !pkgs.stdenv.isAarch32; boot.loader.grub.version = 2; # GNU lsh. services.openssh.enable = false; Loading
nixos/modules/installer/cd-dvd/iso-image.nix +0 −2 Original line number Diff line number Diff line Loading @@ -694,8 +694,6 @@ in } ]; boot.loader.grub.version = 2; # Don't build the GRUB menu builder script, since we don't need it # here and it causes a cyclic dependency. boot.loader.grub.enable = false; Loading
nixos/modules/installer/tools/nixos-generate-config.pl +0 −1 Original line number Diff line number Diff line Loading @@ -651,7 +651,6 @@ EOF $bootLoaderConfig = <<EOF; # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.version = 2; # boot.loader.grub.efiSupport = true; # boot.loader.grub.efiInstallAsRemovable = true; # boot.loader.efi.efiSysMountPoint = "/boot/efi"; Loading
nixos/modules/system/boot/loader/grub/grub.nix +19 −33 Original line number Diff line number Diff line { config, lib, pkgs, ... }: { config, options, lib, pkgs, ... }: with lib; Loading @@ -12,8 +12,7 @@ let # Package set of targeted architecture if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs; realGrub = if cfg.version == 1 then grubPkgs.grub else if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; } realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; } else if cfg.trustedBoot.enable then if cfg.trustedBoot.isHPLaptop then grubPkgs.trustedGrub-for-HP Loading @@ -28,8 +27,7 @@ let else realGrub; grubEfi = # EFI version of Grub v2 if cfg.efiSupport && (cfg.version == 2) if cfg.efiSupport then realGrub.override { efiSupport = cfg.efiSupport; } else null; Loading @@ -52,24 +50,24 @@ let fullName = lib.getName realGrub; fullVersion = lib.getVersion realGrub; grubEfi = f grubEfi; grubTargetEfi = optionalString (cfg.efiSupport && (cfg.version == 2)) (f (grubEfi.grubTarget or "")); grubTargetEfi = optionalString cfg.efiSupport (f (grubEfi.grubTarget or "")); bootPath = args.path; storePath = config.boot.loader.grub.storePath; bootloaderId = if args.efiBootloaderId == null then "${config.system.nixos.distroName}${efiSysMountPoint'}" else args.efiBootloaderId; timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout; users = if cfg.users == {} || cfg.version != 1 then cfg.users else throw "GRUB version 1 does not support user accounts."; theme = f cfg.theme; inherit efiSysMountPoint; inherit (args) devices; inherit (efi) canTouchEfiVariables; inherit (cfg) version extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber extraGrubInstallArgs extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios; default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios users; path = with pkgs; makeBinPath ( [ coreutils gnused gnugrep findutils diffutils btrfs-progs util-linux mdadm ] ++ optional (cfg.efiSupport && (cfg.version == 2)) efibootmgr ++ optional cfg.efiSupport efibootmgr ++ optionals cfg.useOSProber [ busybox os-prober ]); font = if cfg.font == null then "" else (if lib.last (lib.splitString "." cfg.font) == "pf2" Loading Loading @@ -109,14 +107,8 @@ in }; version = mkOption { default = 2; example = 1; visible = false; type = types.int; description = lib.mdDoc '' The version of GRUB to use: `1` for GRUB Legacy (versions 0.9x), or `2` (the default) for GRUB 2. ''; }; device = mkOption { Loading Loading @@ -724,14 +716,7 @@ in config = mkMerge [ { boot.loader.grub.splashImage = mkDefault ( if cfg.version == 1 then pkgs.fetchurl { url = "http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz"; sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; } # GRUB 1.97 doesn't support gzipped XPMs. else defaultSplash); } { boot.loader.grub.splashImage = mkDefault defaultSplash; } (mkIf (cfg.splashImage == defaultSplash) { boot.loader.grub.backgroundColor = mkDefault "#2F302F"; Loading Loading @@ -788,10 +773,6 @@ in '') config.boot.loader.grub.extraFiles); assertions = [ { assertion = !cfg.zfsSupport || cfg.version == 2; message = "Only GRUB version 2 provides ZFS support"; } { assertion = cfg.mirroredBoots != [ ]; message = "You must set the option ‘boot.loader.grub.devices’ or " Loading @@ -801,10 +782,6 @@ in assertion = cfg.efiSupport || all (c: c < 2) (mapAttrsToList (n: c: if n == "nodev" then 0 else c) bootDeviceCounters); message = "You cannot have duplicated devices in mirroredBoots"; } { assertion = !cfg.trustedBoot.enable || cfg.version == 2; message = "Trusted GRUB is only available for GRUB 2"; } { assertion = !cfg.efiSupport || !cfg.trustedBoot.enable; message = "Trusted GRUB does not have EFI support"; Loading @@ -825,6 +802,10 @@ in assertion = cfg.efiInstallAsRemovable -> !config.boot.loader.efi.canTouchEfiVariables; message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn off boot.loader.efi.canTouchEfiVariables"; } { assertion = !(options.boot.loader.grub.version.isDefined && cfg.version == 1); message = "Support for version 0.9x of GRUB was removed after being unsupported upstream for around a decade"; } ] ++ flip concatMap cfg.mirroredBoots (args: [ { assertion = args.devices != [ ]; Loading @@ -844,6 +825,11 @@ in })); }) (mkIf options.boot.loader.grub.version.isDefined { warnings = [ '' The boot.loader.grub.version option does not have any effect anymore, please remove it from your configuration. '' ]; }) ]; Loading
nixos/modules/system/boot/loader/grub/install-grub.pl +206 −242 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ sub runCommand { } my $grub = get("grub"); my $grubVersion = int(get("version")); my $grubTarget = get("grubTarget"); my $extraConfig = get("extraConfig"); my $extraPrepareConfig = get("extraPrepareConfig"); Loading Loading @@ -96,9 +95,7 @@ my $theme = get("theme"); my $saveDefault = $defaultEntry eq "saved"; $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; print STDERR "updating GRUB $grubVersion menu...\n"; print STDERR "updating GRUB 2 menu...\n"; mkpath("$bootPath/grub", 0, 0700); Loading Loading @@ -176,7 +173,6 @@ sub GrubFs { } my $search = ""; if ($grubVersion > 1) { # ZFS is completely separate logic as zpools are always identified by a label # or custom UUID if ($fs->type eq 'zfs') { Loading Loading @@ -246,7 +242,6 @@ sub GrubFs { $path = "(\$drive$driveid)$path"; $driveid += 1; } } return Grub->new(path => $path, search => $search); } my $grubBoot = GrubFs($bootPath); Loading @@ -258,20 +253,6 @@ if ($copyKernels == 0) { # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; if ($grubVersion == 1) { # $defaultEntry might be "saved", indicating that we want to use the last selected configuration as default. # Incidentally this is already the correct value for the grub 1 config to achieve this behaviour. $conf .= " default $defaultEntry timeout $timeout "; if ($splashImage) { copy $splashImage, "$bootPath/background.xpm.gz" or die "cannot copy $splashImage to $bootPath: $!\n"; $conf .= "splashimage " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/background.xpm.gz\n"; } } else { my @users = (); foreach my $user ($dom->findnodes('/expr/attrs/attr[@name = "users"]/attrs/attr')) { my $name = $user->findvalue('@name') or die; Loading Loading @@ -418,7 +399,6 @@ else { } }, no_chdir => 1 }, $theme ); } } $conf .= "$extraConfig\n"; Loading Loading @@ -494,17 +474,6 @@ sub addEntry { readFile("$path/kernel-params"); my $xenParams = $xen && -e "$path/xen-params" ? readFile("$path/xen-params") : ""; if ($grubVersion == 1) { $conf .= "title $name\n"; $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " kernel $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "kernel") . " $kernel $kernelParams\n"; $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n"; if ($saveDefault) { $conf .= " savedefault\n"; } $conf .= "\n"; } else { $conf .= "menuentry \"$name\" " . $options . " {\n"; if ($saveDefault) { $conf .= " savedefault\n"; Loading @@ -519,7 +488,6 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n"; $conf .= "}\n\n"; } } # Add default entries. Loading Loading @@ -562,7 +530,7 @@ sub addProfile { my ($profile, $description) = @_; # Add entries for all generations of this profile. $conf .= "submenu \"$description\" --class submenu {\n" if $grubVersion == 2; $conf .= "submenu \"$description\" --class submenu {\n"; sub nrFromGen { my ($x) = @_; $x =~ /\/\w+-(\d+)-link/; return $1; } Loading @@ -585,18 +553,16 @@ sub addProfile { addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions, 0); } $conf .= "}\n" if $grubVersion == 2; $conf .= "}\n"; } addProfile "/nix/var/nix/profiles/system", "@distroName@ - All configurations"; if ($grubVersion == 2) { for my $profile (glob "/nix/var/nix/profiles/system-profiles/*") { my $name = basename($profile); next unless $name =~ /^\w+$/; addProfile $profile, "@distroName@ - Profile '$name'"; } } # extraPrepareConfig could refer to @bootPath@, which we have to substitute $extraPrepareConfig =~ s/\@bootPath\@/$bootPath/g; Loading @@ -607,16 +573,14 @@ if ($extraPrepareConfig ne "") { } # write the GRUB config. my $confFile = $grubVersion == 1 ? "$bootPath/grub/menu.lst" : "$bootPath/grub/grub.cfg"; my $confFile = "$bootPath/grub/grub.cfg"; my $tmpFile = $confFile . ".tmp"; writeFile($tmpFile, $conf); # check whether to install GRUB EFI or not sub getEfiTarget { if ($grubVersion == 1) { return "no" } elsif (($grub ne "") && ($grubEfi ne "")) { if (($grub ne "") && ($grubEfi ne "")) { # EFI can only be installed when target is set; # A target is also required then for non-EFI grub if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die } Loading Loading @@ -741,7 +705,7 @@ symlink "$bootPath", "$tmpDir/boot" or die "Failed to symlink $tmpDir/boot: $!"; if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { foreach my $dev (@deviceTargets) { next if $dev eq "nodev"; print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n"; print STDERR "installing the GRUB 2 boot loader on $dev...\n"; my @command = ("$grub/sbin/grub-install", "--recheck", "--root-directory=$tmpDir", Cwd::abs_path($dev), @extraGrubInstallArgs); if ($forceInstall eq "true") { push @command, "--force"; Loading @@ -756,7 +720,7 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { # install EFI GRUB if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) { print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n"; print STDERR "installing the GRUB 2 boot loader into $efiSysMountPoint...\n"; my @command = ("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", @extraGrubInstallArgs); if ($forceInstall eq "true") { push @command, "--force"; Loading