stage2, efi: added kernel config test collector

The newly-introduced STAGE1_KCONFIG variable serves
to keep those kernel configuration options that are
required to be present in the kernel to boot.
This commit is contained in:
Michael Shigorin 2014-05-07 15:00:07 +04:00
parent 0e98c9331a
commit e3571f276a
4 changed files with 7 additions and 1 deletions

View File

@ -13,6 +13,7 @@ use/efi:
@$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL)) @$(call add,RESCUE_PACKAGES,refind $$(EFI_SHELL))
@$(call add,INSTALL2_PACKAGES,dosfstools fatresize) @$(call add,INSTALL2_PACKAGES,dosfstools fatresize)
@$(call try,EFI_BOOTLOADER,elilo) # default one @$(call try,EFI_BOOTLOADER,elilo) # default one
@$(call add,STAGE1_KCONFIG,EFI EFI_PARTITION EFI_VARS FB_EFI)
use/efi/refind: use/efi use/efi/refind: use/efi
@$(call set,EFI_BOOTLOADER,refind) @$(call set,EFI_BOOTLOADER,refind)

View File

@ -3,3 +3,7 @@
Передача информации о конфигурации ядра между stage1 и stage2 также Передача информации о конфигурации ядра между stage1 и stage2 также
требуется для оптимального сжатия squashfs-образа второй стадии. требуется для оптимального сжатия squashfs-образа второй стадии.
Возможно пополнение списка опций конфигурации ядра (CONFIG_*),
необходимых для загрузки целевого дистрибутива, посредством
переменной STAGE1_KCONFIG (см. фичу efi в качестве примера).

View File

@ -2,6 +2,7 @@
use/stage2: sub/stage1 use/stage2: sub/stage1
@$(call add_feature) @$(call add_feature)
@$(call add,STAGE1_PACKAGES,file make-initrd make-initrd-propagator propagator) @$(call add,STAGE1_PACKAGES,file make-initrd make-initrd-propagator propagator)
@$(call xport,STAGE1_KCONFIG)
use/stage2/kms: use/stage2/kms:
@$(call add,STAGE1_KMODULES_REGEXP,drm.*) @$(call add,STAGE1_KMODULES_REGEXP,drm.*)

View File

@ -24,7 +24,7 @@ configured()
ls $CONFIGS >&/dev/null || fatal "no stage1 kernel config found in /boot" ls $CONFIGS >&/dev/null || fatal "no stage1 kernel config found in /boot"
# test for installer-required filesystems support # test for installer-required filesystems support
for opt in SQUASHFS AUFS_FS; do for opt in SQUASHFS AUFS_FS $GLOBAL_STAGE1_KCONFIG; do
configured "$opt=[my]" || fatal "stage1 kernel must have $opt support" configured "$opt=[my]" || fatal "stage1 kernel must have $opt support"
done done