From 3903717238342e11f144964dbf97a0605b58c942 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 16 Dec 2018 23:02:26 +0000 Subject: Support 32-bit UEFI with 64-bit O/S. --- perl-install/bootloader.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'perl-install/bootloader.pm') 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; -- cgit v1.2.1