diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2018-12-16 22:25:44 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2018-12-17 18:16:24 +0000 |
commit | 51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1 (patch) | |
tree | 2809dfb5c0cca31edcb6ec8f8544608976450e11 | |
parent | 7d4508dd1f905146f433232fb27c33afcf509a47 (diff) | |
download | drakx-51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1.tar drakx-51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1.tar.gz drakx-51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1.tar.bz2 drakx-51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1.tar.xz drakx-51f5733e7910fdf7c99ef9da67fbb5d0d7ef51c1.zip |
Add extra UEFI helper functions.
Needed for next commit.
-rw-r--r-- | perl-install/common.pm | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/perl-install/common.pm b/perl-install/common.pm index 9ac290b2d..474d34c21 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -10,7 +10,7 @@ use run_program; use Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw($SECTORSIZE N P N_ check_for_xserver files_exist formatTime MB formatXiB get_libdir get_parent_uid is_running is_uefi makedev mageia_release mageia_release_info removeXiBSuffix require_root_capability setVirtual set_alternative set_l10n_sort set_permissions to_utf8 translate unmakedev); +our @EXPORT = qw($SECTORSIZE N P N_ check_for_xserver files_exist formatTime MB formatXiB get_libdir get_parent_uid is_running is_uefi kernel_uefi_type makedev mageia_release mageia_release_info removeXiBSuffix require_root_capability setVirtual set_alternative set_l10n_sort set_permissions to_utf8 translate uefi_type unmakedev); # perl_checker: RE-EXPORT-ALL push @EXPORT, @MDK::Common::EXPORT; @@ -726,6 +726,32 @@ Checks if we are on an uefi system sub is_uefi() { -e "/sys/firmware/efi" } +=item kernel_uefi_type() + +Returns the short name of the UEFI machine type supported by the kernel stub loader + +=cut + +sub kernel_uefi_type() { + # No support for ARM yet + arch() =~ /i.86/ ? 'ia32' : 'x64'; +} + +=item uefi_type() + +Returns the UEFI machine type short name + +=cut + +sub uefi_type() { + if (-e '/sys/firmware/efi/fw_platform_size') { + # No support for ARM yet + cat_('/sys/firmware/efi/fw_platform_size') =~ /32/ ? 'ia32' : 'x64'; + } else { + 'none'; + } +} + =item cmp_kernel_versions($va, $vb) Compare two kernel versions |