diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2018-12-16 23:02:26 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2018-12-17 18:17:09 +0000 |
commit | 3903717238342e11f144964dbf97a0605b58c942 (patch) | |
tree | fd6a2e63c9067742a86bdc0a3e58fb78fdb5daf5 | |
parent | 5ac101a075536b1f6ceea2a335423c18b2ca2269 (diff) | |
download | drakx-3903717238342e11f144964dbf97a0605b58c942.tar drakx-3903717238342e11f144964dbf97a0605b58c942.tar.gz drakx-3903717238342e11f144964dbf97a0605b58c942.tar.bz2 drakx-3903717238342e11f144964dbf97a0605b58c942.tar.xz drakx-3903717238342e11f144964dbf97a0605b58c942.zip |
Support 32-bit UEFI with 64-bit O/S.
-rw-r--r-- | perl-install/NEWS | 4 | ||||
-rw-r--r-- | perl-install/bootloader.pm | 15 | ||||
-rw-r--r-- | perl-install/install/NEWS | 4 | ||||
-rw-r--r-- | perl-install/install/any.pm | 2 |
4 files changed, 20 insertions, 5 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS index 121f45bb0..47a7f4dd9 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,4 +1,6 @@ -- drakboot: only prefer rEFInd if it installed in the root fs (mga#23944) +- drakboot: + o only prefer rEFInd if it is installed in the root fs (mga#23944) + o support 32-bit UEFI with 64-bit O/S - desktop kernels are now PAE, for PTI security fixes to work properly, so if cpu is not supporting it, install the desktop586 kernel diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 0bc156b67..a9bb1e73d 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -2498,8 +2498,19 @@ sub ensure_pkg_is_installed { ); my $main_method = main_method($bootloader->{method}); if ($main_method eq 'grub2') { - my $pkg = is_uefi() ? 'grub2-efi' : 'grub2'; - my $prefix = is_uefi() ? (arch() eq 'x86_64' ? 'x86_64-efi' : 'i386-efi') : 'i386-pc'; + my ($prefix, $pkg); + if (is_uefi()) { + if (uefi_type() eq 'ia32') { + $prefix = 'i386-efi'; + $pkg = 'grub2-efi(x86-32)'; + } else { + $prefix = 'x86_64-efi'; + $pkg = 'grub2-efi(x86-64)'; + } + } else { + $prefix = 'i386-pc'; + $pkg = 'grub2'; + } $do_pkgs->ensure_is_installed($pkg, "/usr/lib/grub/$prefix/ext2.mod", 1) or return 0; } elsif ($main_method eq 'refind') { $do_pkgs->ensure_is_installed('refind', '/sbin/refind-install', 1) or return 0; diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 89dab99a4..4fbc4e212 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,5 +1,7 @@ - avoid resetting keyboard layout at end of formatting step (mga#23877) -- bootloader: only prefer rEFInd if it installed in the root fs (mga#23944) +- bootloader: + o only prefer rEFInd if it is installed in the root fs (mga#23944) + o support 32-bit UEFI with 64-bit O/S Version 18.8.1 - 1 Dec 2018 diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm index 277feac2a..13da840ad 100644 --- a/perl-install/install/any.pm +++ b/perl-install/install/any.pm @@ -811,7 +811,7 @@ sub default_bootloader() { my $p; if (is_uefi()) { log::l("defaulting to grub2-efi"); - $p = 'grub2-efi'; + $p = uefi_type() eq 'ia32' ? 'grub2-efi(x86-32)' : 'grub2-efi(x86-64)'; } else { log::l("defaulting to grub2"); $p = 'grub2'; |