diff options
-rw-r--r-- | perl-install/NEWS | 2 | ||||
-rw-r--r-- | perl-install/bootloader.pm | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS index 3905e08f5..76e6cb727 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,3 +1,5 @@ +- fix failure to update grub2 config when service_harddrake attempts to + add/remove the nokmsboot option - add --plain to systemctl list-units, else it adds some characters at the beginning of the line since systemd 246 (mga#27046) - recognize new kernel 5.5 - 5.7 drivers diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 0c6a1292b..8cd392b0e 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -2104,10 +2104,12 @@ sub write_grub2 { write_grub2_sysconfig($bootloader, $o_all_hds, $o_backup_extension); my $f1 = "$::prefix/boot/grub2/grub.cfg"; - # we won't just rename as update-grub2 (more likely os-prober may fail): + #- we won't just rename as grub2-mkconfig (more likely os-prober) may fail: cp_af($f1, $f1 . '.old') if -e $f1; - run_program::rooted($::prefix, 'update-grub2', '2>', \$error) or die "update-grub2 failed: $error"; - log::l("update-grub2 logs: $error"); + #- don't use the update-grub2 script here, it hangs when run by service_harddrake + #- during boot because it causes systemd to try to start a user session + run_program::rooted($::prefix, 'grub2-mkconfig', '2>', \$error, '-o', '/boot/grub2/grub.cfg') or die "grub2-mkconfig failed: $error"; + log::l("grub2-mkconfig logs: $error"); write_grub2_default_entry($bootloader, $o_all_hds, $o_backup_extension); check_enough_space(); |