From 0039b215aedd9fdf94e8d0bb9235ec9cbfcc7707 Mon Sep 17 00:00:00 2001 From: Anton Midyukov Date: Wed, 29 May 2019 23:09:18 +0700 Subject: [PATCH] efi: major refactoring, fix portability --- features.in/efi/config.mk | 51 ++++++++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/features.in/efi/config.mk b/features.in/efi/config.mk index c90b5c7c..7eaef12b 100644 --- a/features.in/efi/config.mk +++ b/features.in/efi/config.mk @@ -1,24 +1,32 @@ +EFI_ARCHES := x86_64 aarch64 + +efi: use/efi/signed; @: -ifeq (x86_64,$(ARCH)) +ifeq (,$(filter-out $(EFI_ARCHES),$(ARCH))) EFI_LISTS := $(call tags,base efi) use/efi: @$(call add_feature) @$(call set,MKI_VER_MINIMAL,0.2.12) # it's official now - @$(call add,THE_LISTS,$(EFI_LISTS)) - @$(call add,RESCUE_LISTS,$(EFI_LISTS)) - @$(call add,THE_PACKAGES,$$(EFI_SHELL)) - @$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL)) - @$(call add,INSTALL2_PACKAGES,dosfstools fatresize) - @$(call try,EFI_BOOTLOADER,elilo) # default one - @$(call add,STAGE1_KCONFIG,EFI EFI_PARTITION EFI_VARS FB_EFI) @$(call set,MKI_VER_OPTIMAL,0.2.17) # for EFI_BOOTARGS +ifeq (x86_64,$(ARCH)) + @$(call try,EFI_BOOTLOADER,elilo) # default one +else + @$(call try,EFI_BOOTLOADER,grub-efi) # default one +endif + @$(call add,THE_PACKAGES,$$(EFI_BOOTLOADER)) + @$(call xport,EFI_BOOTLOADER) + @$(call add,THE_LISTS,$(EFI_LISTS)) + @$(call add,THE_PACKAGES,$$(EFI_SHELL)) +ifeq (distro,$(IMAGE_CLASS)) + @$(call add,THE_PACKAGES,installer-feature-efi-stage3) + @$(call add,RESCUE_LISTS,$(EFI_LISTS)) + @$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL) $$(EFI_BOOTLOADER)) + @$(call add,INSTALL2_PACKAGES,dosfstools fatresize) + @$(call add,STAGE1_KCONFIG,EFI EFI_PARTITION EFI_VARS FB_EFI) @$(call add,EFI_BOOTARGS,$$(STAGE2_BOOTARGS)) - -use/efi/refind: use/efi - @$(call set,EFI_BOOTLOADER,refind) +endif use/efi/signed: use/efi @$(call set,EFI_CERT,altlinux) @@ -28,11 +36,32 @@ use/efi/signed: use/efi use/efi/shell: use/efi @$(call try,EFI_SHELL,efi-shell) +use/efi/grub: use/efi use/bootloader/grub + @$(call set,EFI_BOOTLOADER,grub-efi) + +ifeq (x86_64,$(ARCH)) + +use/efi/lilo: use/efi use/bootloader/lilo + @$(call set,EFI_BOOTLOADER,elilo) + +use/efi/refind: use/efi + @$(call set,EFI_BOOTLOADER,refind) + use/efi/memtest86: use/efi/refind @$(call set,EFI_MEMTEST86,efi-memtest86) +else + +use/efi/refind use/efi/memtest86 use/efi/lilo: use/efi; @: + +endif + +ifeq (distro,$(IMAGE_CLASS)) use/efi/debug: use/efi @$(call add,STAGE2_PACKAGES,efibootmgr gdisk) +else +use/efi/debug: use/efi; @: +endif else