[Buildroot] [PATCH v2] pkg-kernel-module: Die when kernel module are disabled

Peter Korsgaard peter at korsgaard.com
Tue Aug 18 10:41:10 UTC 2015


>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:

Hi,

>> Couldn't we instead just force modules support on in the kernel if the
 >> pkg-kernel-module infrastructure is used?

 > And how do you suggest we test whether the kernel-module infra is used?

 >     1) it *is* used already: we do have packages that do call
 >         $(eval $(kernel-module)) , but I guess that's not what
 >         you meant. ;-)

 >     2) so you probably meant: if we actually need to build a kernel
 >        module.

 > But that's not so easy:

 >   - we need to know whether to enable moduls when parsing linux/linux.mk

 >   - external packages may call kernel-module

 >   - external packages are parsed after linux.mk

 > So, too late...

If we can come up with a solution that only works for internal packages
then that is imho still better than what we have today. We can still
leave the check in the pkg-kernel-module infrastructure to atleast warn
BR2_EXTERNAL users.

 > We can't enable kernel modules just from the .mk, we can only check for
 > them.

 > Unless we add an hidden kconfig knob BR2)LINUX_NEEDS_MODULES that
 > packages may select if they want to build modules. Of a visible knob
 > (user-selectable) that packages can depend on if they need to build
 > kernel modules...

Or the pkg-kernel-module infrastructure can just set a variable that
gets checked by LINUX_KCONFIG_FIXUP_CMDS, E.G. something like:

diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk
index 6fb7704..436a721 100644
--- a/package/pkg-kernel-module.mk
+++ b/package/pkg-kernel-module.mk
@@ -91,6 +91,10 @@ define $(2)_KERNEL_MODULES_INSTALL
 endef
 $(2)_POST_INSTALL_TARGET_HOOKS += $(2)_KERNEL_MODULES_INSTALL
 
+ifeq ($(BR2_PACKAGE_$(2)),y)
+LINUX_NEEDS_MODULES = YES
+endif
+
 endef
 
 ################################################################################


And then:

diff --git a/linux/linux.mk b/linux/linux.mk
index d91dbb2..eb7ce7e 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -219,6 +219,8 @@ define LINUX_KCONFIG_FIXUP_CMDS
                $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_MARK,$(@D)/.config))
        $(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
                $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
+       $(if $(LINUX_NEEDS_MODULES),
+               $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config))
 endef
 
 ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y)

 > Needless to say, for 2015.08, Noé's patch is good to go in, while the
 > alternatives are not; they can however be done post-2015.08.

Agreed, this is not a new regression.

-- 
Venlig hilsen,
Peter Korsgaard 


More information about the buildroot mailing list