summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-07-23 16:18:49 +0100
committerThomas Backlund <tmb@mageia.org>2018-01-09 22:58:52 +0200
commit6fb73fba36f9fcf88251f3bd3ad8ee67950c8541 (patch)
treeb16516823395a3f94b61739dc740fcf66437796b
parent14fe8140dfa87211854877002217f44aa02318ea (diff)
downloaddrakx-6fb73fba36f9fcf88251f3bd3ad8ee67950c8541.tar
drakx-6fb73fba36f9fcf88251f3bd3ad8ee67950c8541.tar.gz
drakx-6fb73fba36f9fcf88251f3bd3ad8ee67950c8541.tar.bz2
drakx-6fb73fba36f9fcf88251f3bd3ad8ee67950c8541.tar.xz
drakx-6fb73fba36f9fcf88251f3bd3ad8ee67950c8541.zip
Combine bootloader perImageAppend and default_append keys.
This allows changes to the append options to propagate to the grub2 configuration file, thus fixing mga#21263 and mga#21250.
-rw-r--r--perl-install/NEWS3
-rw-r--r--perl-install/any.pm4
-rw-r--r--perl-install/bootloader.pm8
3 files changed, 10 insertions, 5 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index d12a5197c..36d2a20aa 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,3 +1,6 @@
+- bootloader:
+ o Combine bootloader perImageAppend and default_append keys
+ (mga#21263, mga#21250)
- iwlwifi-agn-ucode is renamed to iwlwifi-firmware (mga#22316)
- update list of modules needing firmware
diff --git a/perl-install/any.pm b/perl-install/any.pm
index e56f6711a..376240aac 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -626,7 +626,7 @@ sub setupBootloader__grub2 {
my $b2 = bootloader::read_grub2();
# get default parameters:
- my $append = $b->{default_append} || $b->{entries}[0]{append} || bootloader::get_grub2_append($b2);
+ my $append = $b->{perImageAppend} || bootloader::get_grub2_append($b2);
my $default = $b2->{default};
require Xconfig::resolution_and_depth;
@@ -661,7 +661,7 @@ sub setupBootloader__grub2 {
$b->{entries} = $b2->{entries};
$b->{default} = $default;
$b->{vga} = ref($vga) ? $vga->{bios} : $vga;
- $b->{default_append} = $append;
+ $b->{perImageAppend} = $append;
if ($os_prober) {
$in->do_pkgs->ensure_is_installed('os-prober', '/usr/bin/os-prober');
} else {
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index 98d9e0a4e..aa38f1326 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -307,8 +307,8 @@ sub read_grub2() {
return if is_empty_hash_ref(\%bootloader) & !-s "$::prefix/boot/grub2/grub.cfg";
my %h = getVarsFromSh("$::prefix/etc/default/grub");
$bootloader{timeout} = $h{GRUB_TIMEOUT};
- # on first run (during installer) or when migrating from grub-legacy or lilo:
- $bootloader{default_append} ||= $::isInstall ? get_grub2_append(\%bootloader) : $h{GRUB_CMDLINE_LINUX_DEFAULT};
+ # keep suggested perImageAppend on first run (during installer) or when migrating from grub-legacy or lilo:
+ $bootloader{perImageAppend} ||= $h{GRUB_CMDLINE_LINUX_DEFAULT};
$bootloader{entries} = [];
my $entry;
my $f = "$::prefix/boot/grub2/grub.cfg";
@@ -1228,6 +1228,8 @@ sub suggest {
$bootloader->{method} ||= first(method_choices($all_hds, 1), # best installed
method_choices($all_hds, 0)); # or best if no valid one is installed
+ $bootloader->{perImageAppend} = $bootloader->{entries}[0]{append};
+
if (main_method($bootloader->{method}) eq 'grub') {
my %processed_entries = {};
foreach my $c (find_other_distros_grub_conf($fstab)) {
@@ -1863,7 +1865,7 @@ sub write_grub2_sysconfig {
my $f = "$::prefix/etc/default/grub";
my %conf = getVarsFromSh($f);
- $conf{GRUB_CMDLINE_LINUX_DEFAULT} = $bootloader->{default_append} || get_grub2_append($bootloader);
+ $conf{GRUB_CMDLINE_LINUX_DEFAULT} = $bootloader->{perImageAppend} || get_grub2_append($bootloader);
$conf{GRUB_GFXPAYLOAD_LINUX} = 'auto' if is_uefi();
$conf{GRUB_DISABLE_RECOVERY} = 'false'; # for 'failsafe' entry
$conf{GRUB_DEFAULT} //= 'saved'; # for default entry but do not overwrite user choice