efi: major refactoring, fix portability

This commit is contained in:
Anton Midyukov 2019-05-29 23:09:18 +07:00 committed by Michael Shigorin
parent aea4ceaa18
commit 0039b215ae

View File

@ -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