From e3571f276adc338965834cbe6b81b49940f3743d Mon Sep 17 00:00:00 2001 From: Michael Shigorin Date: Wed, 7 May 2014 15:00:07 +0400 Subject: [PATCH] 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. --- features.in/efi/config.mk | 1 + features.in/stage2/README | 4 ++++ features.in/stage2/config.mk | 1 + features.in/stage2/stage1/scripts.d/03-test-kernel | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/features.in/efi/config.mk b/features.in/efi/config.mk index 8fec6f7c..9dec61dc 100644 --- a/features.in/efi/config.mk +++ b/features.in/efi/config.mk @@ -13,6 +13,7 @@ use/efi: @$(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) use/efi/refind: use/efi @$(call set,EFI_BOOTLOADER,refind) diff --git a/features.in/stage2/README b/features.in/stage2/README index 16e29ea9..c9e10c6f 100644 --- a/features.in/stage2/README +++ b/features.in/stage2/README @@ -3,3 +3,7 @@ Передача информации о конфигурации ядра между stage1 и stage2 также требуется для оптимального сжатия squashfs-образа второй стадии. + +Возможно пополнение списка опций конфигурации ядра (CONFIG_*), +необходимых для загрузки целевого дистрибутива, посредством +переменной STAGE1_KCONFIG (см. фичу efi в качестве примера). diff --git a/features.in/stage2/config.mk b/features.in/stage2/config.mk index 69ebb545..407cf87b 100644 --- a/features.in/stage2/config.mk +++ b/features.in/stage2/config.mk @@ -2,6 +2,7 @@ use/stage2: sub/stage1 @$(call add_feature) @$(call add,STAGE1_PACKAGES,file make-initrd make-initrd-propagator propagator) + @$(call xport,STAGE1_KCONFIG) use/stage2/kms: @$(call add,STAGE1_KMODULES_REGEXP,drm.*) diff --git a/features.in/stage2/stage1/scripts.d/03-test-kernel b/features.in/stage2/stage1/scripts.d/03-test-kernel index 12e68e4b..e846dbb8 100755 --- a/features.in/stage2/stage1/scripts.d/03-test-kernel +++ b/features.in/stage2/stage1/scripts.d/03-test-kernel @@ -24,7 +24,7 @@ configured() ls $CONFIGS >&/dev/null || fatal "no stage1 kernel config found in /boot" # 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" done