* [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module)
@ 2015-08-24 16:49 Yann E. MORIN
2015-08-24 16:50 ` [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules Yann E. MORIN
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-08-24 16:49 UTC (permalink / raw)
To: buildroot
Hello All!
This series fixes two standing issues with the way we handle packages
that build kernel modules:
- first, the current check is broken, because $(LINUX_DIR) should be
double-$ed, as it is used in a macro from an infra,
- second, it is currently possible to (try to) build such packages
without the kernel config havong CONFIG_MODULES set.
So, these three patches fix that:
- introduce a new internal variable to tell the kernel to enable
support for modules, LINUX_NEEDS_MODULES, that should be set
whenever a package wants to build a kernel modules, and is
automatically set by the kernel-module infra,
- the (broken) check is no longer needed so removed,
- a few packages that build kernel modules without using the
kernel-module infra are fixed to manually set that variable.
I believe that should go into master, because:
- it actually fixes build issues
- the kernel-module infra is brand new in this release, and should be
fixed and stable prior to being released to the wide hostile world
;-)
Thanks to Peter for suggesting the solution, and to No? and Jan for
their previous attempts that eventually led to this series.
Changes v1 -> v2:
- to not force CONFIG_MODULES if requesting package is not enabled
(Peter, Jan)
- update commit log that the check was broken anyway
- add 4th patch to slightly improve linux-fusion
Regards,
Yann E. MORIN.
The following changes since commit 2c1e3a1a79e600ebb863aa67a2d06f4479e28b2a:
apitrace: bump to version 7.0 (2015-08-24 17:17:19 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/kernel-module
for you to fetch changes up to 96204099417c101327b357870e89386fe1757931:
package/linux-fusion: slight simplification (2015-08-24 18:45:25 +0200)
----------------------------------------------------------------
Yann E. MORIN (4):
core/pkg-kernel-module: ensure linux supports modules
core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES
packages: ensure linux supports modules even when not using kernel-module
package/linux-fusion: slight simplification
linux/linux.mk | 2 ++
package/linux-fusion/linux-fusion.mk | 11 ++++++++---
package/nvidia-driver/nvidia-driver.mk | 4 ++++
package/pkg-kernel-module.mk | 9 +++++----
package/racehound/racehound.mk | 6 ++++++
package/rtai/rtai.mk | 6 ++++++
package/ti-gfx/ti-gfx.mk | 7 +++++++
package/xtables-addons/xtables-addons.mk | 6 ++++++
8 files changed, 44 insertions(+), 7 deletions(-)
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 10+ messages in thread* [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules 2015-08-24 16:49 [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module) Yann E. MORIN @ 2015-08-24 16:50 ` Yann E. MORIN 2015-08-24 20:31 ` Arnout Vandecappelle 2015-08-24 16:50 ` [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES Yann E. MORIN ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Yann E. MORIN @ 2015-08-24 16:50 UTC (permalink / raw) To: buildroot When a package wants to build a kernel module, we should ensure that the kernel does support modules. This patch does it automatically for packages using the kernel-module infrastructure. Packages that do not use it will have to set it manually (to be done in a followup patch). Suggested-by: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: No? Rubinstein <noe.rubinstein@gmail.com> Cc: Jan Viktorin <viktorin@rehivetech.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> --- linux/linux.mk | 2 ++ package/pkg-kernel-module.mk | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/linux/linux.mk b/linux/linux.mk index 48f9c74..bbcc54b 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -175,6 +175,8 @@ LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) define LINUX_KCONFIG_FIXUP_CMDS + $(if $(LINUX_NEEDS_MODULES), + $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config)) $(if $(BR2_arm)$(BR2_armeb), $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config)) $(if $(BR2_TARGET_ROOTFS_CPIO), diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index 6fb7704..f6730b8 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -44,6 +44,11 @@ define inner-kernel-module +# If the package is enabled, ensure the kernel will support modules +ifeq ($$(BR2_PACKAGE_$(2)),y) +LINUX_NEEDS_MODULES = y +endif + # The kernel must be built first. $(2)_DEPENDENCIES += linux -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules 2015-08-24 16:50 ` [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules Yann E. MORIN @ 2015-08-24 20:31 ` Arnout Vandecappelle 0 siblings, 0 replies; 10+ messages in thread From: Arnout Vandecappelle @ 2015-08-24 20:31 UTC (permalink / raw) To: buildroot On 08/24/2015 06:50 PM, Yann E. MORIN wrote: > When a package wants to build a kernel module, we should ensure that the > kernel does support modules. > > This patch does it automatically for packages using the kernel-module > infrastructure. > > Packages that do not use it will have to set it manually (to be done in > a followup patch). > > Suggested-by: Peter Korsgaard <jacmet@uclibc.org> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: No? Rubinstein <noe.rubinstein@gmail.com> > Cc: Jan Viktorin <viktorin@rehivetech.com> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Regards, Arnout > --- > linux/linux.mk | 2 ++ > package/pkg-kernel-module.mk | 5 +++++ > 2 files changed, 7 insertions(+) > > diff --git a/linux/linux.mk b/linux/linux.mk > index 48f9c74..bbcc54b 100644 > --- a/linux/linux.mk > +++ b/linux/linux.mk > @@ -175,6 +175,8 @@ LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig > LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) > > define LINUX_KCONFIG_FIXUP_CMDS > + $(if $(LINUX_NEEDS_MODULES), > + $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config)) > $(if $(BR2_arm)$(BR2_armeb), > $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config)) > $(if $(BR2_TARGET_ROOTFS_CPIO), > diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk > index 6fb7704..f6730b8 100644 > --- a/package/pkg-kernel-module.mk > +++ b/package/pkg-kernel-module.mk > @@ -44,6 +44,11 @@ > > define inner-kernel-module > > +# If the package is enabled, ensure the kernel will support modules > +ifeq ($$(BR2_PACKAGE_$(2)),y) > +LINUX_NEEDS_MODULES = y > +endif > + > # The kernel must be built first. > $(2)_DEPENDENCIES += linux > > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES 2015-08-24 16:49 [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module) Yann E. MORIN 2015-08-24 16:50 ` [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules Yann E. MORIN @ 2015-08-24 16:50 ` Yann E. MORIN 2015-08-24 20:33 ` Arnout Vandecappelle 2015-08-24 16:50 ` [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module Yann E. MORIN 2015-08-24 16:50 ` [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification Yann E. MORIN 3 siblings, 1 reply; 10+ messages in thread From: Yann E. MORIN @ 2015-08-24 16:50 UTC (permalink / raw) To: buildroot Now that we force-enable support for modules in the kernel config, we need not check it. Besides, the check was broken, because it did not use $$ to dereference LINUX_DIR, thus leading to systematic build failures when a package using the kernel-module infra was enabled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: No? Rubinstein <noe.rubinstein@gmail.com> Cc: Jan Viktorin <viktorin@rehivetech.com> --- Changes v1 -> v2: - the check was broken anyway --- package/pkg-kernel-module.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index f6730b8..200c91d 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -65,10 +65,6 @@ $(2)_MODULE_SUBDIRS ?= . # includes and other support files (Booo!) define $(2)_KERNEL_MODULES_BUILD @$$(call MESSAGE,"Building kernel module(s)") - @if ! grep -Fqx 'CONFIG_MODULES=y' $(LINUX_DIR)/.config; then \ - echo "ERROR: Kernel does not support loadable modules"; \ - exit 1; \ - fi $$(foreach d,$$($(2)_MODULE_SUBDIRS), \ $$(LINUX_MAKE_ENV) $$($$(PKG)_MAKE) \ -C $$(LINUX_DIR) \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES 2015-08-24 16:50 ` [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES Yann E. MORIN @ 2015-08-24 20:33 ` Arnout Vandecappelle 0 siblings, 0 replies; 10+ messages in thread From: Arnout Vandecappelle @ 2015-08-24 20:33 UTC (permalink / raw) To: buildroot On 08/24/2015 06:50 PM, Yann E. MORIN wrote: > Now that we force-enable support for modules in the kernel config, we > need not check it. > > Besides, the check was broken, because it did not use $$ to dereference > LINUX_DIR, thus leading to systematic build failures when a package > using the kernel-module infra was enabled. Would be nice to add: This reverts commit 8df95d926e963601c727defeb4ab90ce2368da70 [pkg-kernel-module: die if kernel module support is disabled] Otherwise: Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Regards, Arnout > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: No? Rubinstein <noe.rubinstein@gmail.com> > Cc: Jan Viktorin <viktorin@rehivetech.com> > > --- > Changes v1 -> v2: > - the check was broken anyway > --- > package/pkg-kernel-module.mk | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk > index f6730b8..200c91d 100644 > --- a/package/pkg-kernel-module.mk > +++ b/package/pkg-kernel-module.mk > @@ -65,10 +65,6 @@ $(2)_MODULE_SUBDIRS ?= . > # includes and other support files (Booo!) > define $(2)_KERNEL_MODULES_BUILD > @$$(call MESSAGE,"Building kernel module(s)") > - @if ! grep -Fqx 'CONFIG_MODULES=y' $(LINUX_DIR)/.config; then \ > - echo "ERROR: Kernel does not support loadable modules"; \ > - exit 1; \ > - fi > $$(foreach d,$$($(2)_MODULE_SUBDIRS), \ > $$(LINUX_MAKE_ENV) $$($$(PKG)_MAKE) \ > -C $$(LINUX_DIR) \ > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module 2015-08-24 16:49 [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module) Yann E. MORIN 2015-08-24 16:50 ` [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules Yann E. MORIN 2015-08-24 16:50 ` [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES Yann E. MORIN @ 2015-08-24 16:50 ` Yann E. MORIN 2015-08-24 20:42 ` Arnout Vandecappelle 2015-08-25 12:20 ` Jan Viktorin 2015-08-24 16:50 ` [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification Yann E. MORIN 3 siblings, 2 replies; 10+ messages in thread From: Yann E. MORIN @ 2015-08-24 16:50 UTC (permalink / raw) To: buildroot Some packages build kernel modules without using the kernel-module infra (because they use custom build systems); they do not automatically get the kernel to support modules which is ensured when using the infra. It must be done manually for all those packages, whenever they ar eenabled. Note: the nvidia-driver case does not need the ifeq-block other packages use, because it is already enclosed in a more stringent ifeq-block. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: No? Rubinstein <nrubinstein@aldebaran.com> Cc: Jan Viktorin <viktorin@rehivetech.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> --- Changes v1 -> v2: - only request kernel modules if package is actually built (Jan, Peter) --- package/linux-fusion/linux-fusion.mk | 6 ++++++ package/nvidia-driver/nvidia-driver.mk | 4 ++++ package/racehound/racehound.mk | 6 ++++++ package/rtai/rtai.mk | 6 ++++++ package/ti-gfx/ti-gfx.mk | 7 +++++++ package/xtables-addons/xtables-addons.mk | 6 ++++++ 6 files changed, 35 insertions(+) diff --git a/package/linux-fusion/linux-fusion.mk b/package/linux-fusion/linux-fusion.mk index 001388c..21b6e42 100644 --- a/package/linux-fusion/linux-fusion.mk +++ b/package/linux-fusion/linux-fusion.mk @@ -11,6 +11,12 @@ LINUX_FUSION_DEPENDENCIES = linux LINUX_FUSION_LICENSE = GPLv2+ LINUX_FUSION_LICENSE_FILES = debian/copyright +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +ifeq ($(BR2_PACKAGE_LINUX_FUSION),y) +LINUX_NEEDS_MODULES = y +endif + LINUX_FOR_FUSION = $(LINUX_VERSION_PROBED) LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index 71babfb..373794a 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -91,6 +91,10 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_MODULE),y) NVIDIA_DRIVER_DEPENDENCIES += linux +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +LINUX_NEEDS_MODULES = y + # NVidia uses the legacy naming scheme for the x86 architecture, when i386 # and x86_64 were still considered two separate architectures in the Linux # kernel. diff --git a/package/racehound/racehound.mk b/package/racehound/racehound.mk index 7d8d1e3..7058382 100644 --- a/package/racehound/racehound.mk +++ b/package/racehound/racehound.mk @@ -12,6 +12,12 @@ RACEHOUND_SUPPORTS_IN_SOURCE_BUILD = NO RACEHOUND_DEPENDENCIES = elfutils linux +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +ifeq ($(BR2_PACKAGE_RACEHOUND),y) +LINUX_NEEDS_MODULES = y +endif + # override auto detection (uses host parameters, not cross compile # ready) RACEHOUND_CONF_OPTS += \ diff --git a/package/rtai/rtai.mk b/package/rtai/rtai.mk index dfd8e0c..4253dd0 100644 --- a/package/rtai/rtai.mk +++ b/package/rtai/rtai.mk @@ -18,6 +18,12 @@ RTAI_POST_INSTALL_STAGING_HOOKS += RTAI_POST_PATCH_FIXUP RTAI_DEPENDENCIES = linux +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +ifeq ($(BR2_PACKAGE_RTAI),y) +LINUX_NEEDS_MODULES = y +endif + RTAI_CONF_OPTS = \ --includedir=/usr/include/rtai \ --with-linux-dir=$(LINUX_DIR) \ diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk index 5339387..9ebb296 100644 --- a/package/ti-gfx/ti-gfx.mk +++ b/package/ti-gfx/ti-gfx.mk @@ -21,6 +21,13 @@ TI_GFX_LICENSE_FILES = TSPA.txt TI_GFX_INSTALL_STAGING = YES TI_GFX_DEPENDENCIES = linux + +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +ifeq ($(BR2_PACKAGE_TI_GFX),y) +LINUX_NEEDS_MODULES = y +endif + TI_GFX_PROVIDES = libegl libgles powervr ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y) diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk index 75e2a5a..114e4b0 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -16,6 +16,12 @@ XTABLES_ADDONS_CONF_OPTS = \ --with-xtables="$(STAGING_DIR)/usr" \ --with-xtlibdir="/usr/lib/xtables" +# We're building a kernel module without using the kernel-module infra, +# so we need to tell we want module support in the kernel: +ifeq ($(BR2_PACKAGE_XTABLES_ADDONS),y) +LINUX_NEEDS_MODULES = y +endif + # geoip helpers need perl with modules and unzip so disable define XTABLES_DISABLE_GEOIP_HELPERS $(SED) 's/ geoip//' $(@D)/Makefile.in -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module 2015-08-24 16:50 ` [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module Yann E. MORIN @ 2015-08-24 20:42 ` Arnout Vandecappelle 2015-08-25 12:20 ` Jan Viktorin 1 sibling, 0 replies; 10+ messages in thread From: Arnout Vandecappelle @ 2015-08-24 20:42 UTC (permalink / raw) To: buildroot On 08/24/2015 06:50 PM, Yann E. MORIN wrote: > Some packages build kernel modules without using the kernel-module infra > (because they use custom build systems); they do not automatically get > the kernel to support modules which is ensured when using the infra. > > It must be done manually for all those packages, whenever they ar > eenabled. are enabled > > Note: the nvidia-driver case does not need the ifeq-block other packages > use, because it is already enclosed in a more stringent ifeq-block. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: No? Rubinstein <nrubinstein@aldebaran.com> > Cc: Jan Viktorin <viktorin@rehivetech.com> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Minor nit: [snip] > +# We're building a kernel module without using the kernel-module infra, > +# so we need to tell we want module support in the kernel: The colon at the end of the line is not needed (same for all others). Regards, Arnout > +ifeq ($(BR2_PACKAGE_LINUX_FUSION),y) > +LINUX_NEEDS_MODULES = y > +endif > + > LINUX_FOR_FUSION = $(LINUX_VERSION_PROBED) > LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d > [snip] -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module 2015-08-24 16:50 ` [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module Yann E. MORIN 2015-08-24 20:42 ` Arnout Vandecappelle @ 2015-08-25 12:20 ` Jan Viktorin 1 sibling, 0 replies; 10+ messages in thread From: Jan Viktorin @ 2015-08-25 12:20 UTC (permalink / raw) To: buildroot Hello Yann, all. It is working as expected for me now. Tested-by: Jan Viktorin <viktorin@rehivetech.com> Regards Jan V. On Mon, 24 Aug 2015 18:50:04 +0200 "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > Some packages build kernel modules without using the kernel-module > infra (because they use custom build systems); they do not > automatically get the kernel to support modules which is ensured when > using the infra. > > It must be done manually for all those packages, whenever they ar > eenabled. > > Note: the nvidia-driver case does not need the ifeq-block other > packages use, because it is already enclosed in a more stringent > ifeq-block. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: No? Rubinstein <nrubinstein@aldebaran.com> > Cc: Jan Viktorin <viktorin@rehivetech.com> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> > > --- > Changes v1 -> v2: > - only request kernel modules if package is actually built (Jan, > Peter) > --- > package/linux-fusion/linux-fusion.mk | 6 ++++++ > package/nvidia-driver/nvidia-driver.mk | 4 ++++ > package/racehound/racehound.mk | 6 ++++++ > package/rtai/rtai.mk | 6 ++++++ > package/ti-gfx/ti-gfx.mk | 7 +++++++ > package/xtables-addons/xtables-addons.mk | 6 ++++++ > 6 files changed, 35 insertions(+) > > diff --git a/package/linux-fusion/linux-fusion.mk > b/package/linux-fusion/linux-fusion.mk index 001388c..21b6e42 100644 > --- a/package/linux-fusion/linux-fusion.mk > +++ b/package/linux-fusion/linux-fusion.mk > @@ -11,6 +11,12 @@ LINUX_FUSION_DEPENDENCIES = linux > LINUX_FUSION_LICENSE = GPLv2+ > LINUX_FUSION_LICENSE_FILES = debian/copyright > > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +ifeq ($(BR2_PACKAGE_LINUX_FUSION),y) > +LINUX_NEEDS_MODULES = y > +endif > + > LINUX_FOR_FUSION = $(LINUX_VERSION_PROBED) > LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d > > diff --git a/package/nvidia-driver/nvidia-driver.mk > b/package/nvidia-driver/nvidia-driver.mk index 71babfb..373794a 100644 > --- a/package/nvidia-driver/nvidia-driver.mk > +++ b/package/nvidia-driver/nvidia-driver.mk > @@ -91,6 +91,10 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_MODULE),y) > > NVIDIA_DRIVER_DEPENDENCIES += linux > > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +LINUX_NEEDS_MODULES = y > + > # NVidia uses the legacy naming scheme for the x86 architecture, > when i386 # and x86_64 were still considered two separate > architectures in the Linux # kernel. > diff --git a/package/racehound/racehound.mk > b/package/racehound/racehound.mk index 7d8d1e3..7058382 100644 > --- a/package/racehound/racehound.mk > +++ b/package/racehound/racehound.mk > @@ -12,6 +12,12 @@ RACEHOUND_SUPPORTS_IN_SOURCE_BUILD = NO > > RACEHOUND_DEPENDENCIES = elfutils linux > > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +ifeq ($(BR2_PACKAGE_RACEHOUND),y) > +LINUX_NEEDS_MODULES = y > +endif > + > # override auto detection (uses host parameters, not cross compile > # ready) > RACEHOUND_CONF_OPTS += \ > diff --git a/package/rtai/rtai.mk b/package/rtai/rtai.mk > index dfd8e0c..4253dd0 100644 > --- a/package/rtai/rtai.mk > +++ b/package/rtai/rtai.mk > @@ -18,6 +18,12 @@ RTAI_POST_INSTALL_STAGING_HOOKS += > RTAI_POST_PATCH_FIXUP > RTAI_DEPENDENCIES = linux > > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +ifeq ($(BR2_PACKAGE_RTAI),y) > +LINUX_NEEDS_MODULES = y > +endif > + > RTAI_CONF_OPTS = \ > --includedir=/usr/include/rtai \ > --with-linux-dir=$(LINUX_DIR) \ > diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk > index 5339387..9ebb296 100644 > --- a/package/ti-gfx/ti-gfx.mk > +++ b/package/ti-gfx/ti-gfx.mk > @@ -21,6 +21,13 @@ TI_GFX_LICENSE_FILES = TSPA.txt > TI_GFX_INSTALL_STAGING = YES > > TI_GFX_DEPENDENCIES = linux > + > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +ifeq ($(BR2_PACKAGE_TI_GFX),y) > +LINUX_NEEDS_MODULES = y > +endif > + > TI_GFX_PROVIDES = libegl libgles powervr > > ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y) > diff --git a/package/xtables-addons/xtables-addons.mk > b/package/xtables-addons/xtables-addons.mk index 75e2a5a..114e4b0 > 100644 --- a/package/xtables-addons/xtables-addons.mk > +++ b/package/xtables-addons/xtables-addons.mk > @@ -16,6 +16,12 @@ XTABLES_ADDONS_CONF_OPTS = \ > --with-xtables="$(STAGING_DIR)/usr" \ > --with-xtlibdir="/usr/lib/xtables" > > +# We're building a kernel module without using the kernel-module > infra, +# so we need to tell we want module support in the kernel: > +ifeq ($(BR2_PACKAGE_XTABLES_ADDONS),y) > +LINUX_NEEDS_MODULES = y > +endif > + > # geoip helpers need perl with modules and unzip so disable > define XTABLES_DISABLE_GEOIP_HELPERS > $(SED) 's/ geoip//' $(@D)/Makefile.in -- Jan Viktorin E-mail: Viktorin at RehiveTech.com System Architect Web: www.RehiveTech.com RehiveTech Brno, Czech Republic ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification 2015-08-24 16:49 [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module) Yann E. MORIN ` (2 preceding siblings ...) 2015-08-24 16:50 ` [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module Yann E. MORIN @ 2015-08-24 16:50 ` Yann E. MORIN 2015-08-24 20:45 ` Arnout Vandecappelle 3 siblings, 1 reply; 10+ messages in thread From: Yann E. MORIN @ 2015-08-24 16:50 UTC (permalink / raw) To: buildroot Using an intermediate variable to "store" LINUX_VERSION_PROBED is un-ncessary, because They are both recursively-expanded variables, and the `make kernel-version` code will anyway be used in both places it is needed; storing in an intermediate variable will not make that a single expansion of the sub-shell. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/linux-fusion/linux-fusion.mk | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package/linux-fusion/linux-fusion.mk b/package/linux-fusion/linux-fusion.mk index 21b6e42..5f9e44e 100644 --- a/package/linux-fusion/linux-fusion.mk +++ b/package/linux-fusion/linux-fusion.mk @@ -17,17 +17,16 @@ ifeq ($(BR2_PACKAGE_LINUX_FUSION),y) LINUX_NEEDS_MODULES = y endif -LINUX_FOR_FUSION = $(LINUX_VERSION_PROBED) LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d -LINUX_FUSION_MAKE_OPTS = KERNEL_VERSION=$(LINUX_FOR_FUSION) +LINUX_FUSION_MAKE_OPTS = KERNEL_VERSION=$(LINUX_VERSION_PROBED) LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(LINUX_DIR) LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(LINUX_DIR) LINUX_FUSION_MAKE_OPTS += SYSROOT=$(TARGET_DIR) LINUX_FUSION_MAKE_OPTS += ARCH=$(KERNEL_ARCH) LINUX_FUSION_MAKE_OPTS += CROSS_COMPILE=$(TARGET_CROSS) -LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_FOR_FUSION)/kernel +LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_VERSION_PROBED)/kernel define LINUX_FUSION_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LINUX_FUSION_MAKE_OPTS) -C $(@D) -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification 2015-08-24 16:50 ` [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification Yann E. MORIN @ 2015-08-24 20:45 ` Arnout Vandecappelle 0 siblings, 0 replies; 10+ messages in thread From: Arnout Vandecappelle @ 2015-08-24 20:45 UTC (permalink / raw) To: buildroot On 08/24/2015 06:50 PM, Yann E. MORIN wrote: > Using an intermediate variable to "store" LINUX_VERSION_PROBED is > un-ncessary, because They are both recursively-expanded variables, and unnecessary they > the `make kernel-version` code will anyway be used in both places it is > needed; storing in an intermediate variable will not make that a single > expansion of the sub-shell. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Regards, Arnout > --- > package/linux-fusion/linux-fusion.mk | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/package/linux-fusion/linux-fusion.mk b/package/linux-fusion/linux-fusion.mk > index 21b6e42..5f9e44e 100644 > --- a/package/linux-fusion/linux-fusion.mk > +++ b/package/linux-fusion/linux-fusion.mk > @@ -17,17 +17,16 @@ ifeq ($(BR2_PACKAGE_LINUX_FUSION),y) > LINUX_NEEDS_MODULES = y > endif > > -LINUX_FOR_FUSION = $(LINUX_VERSION_PROBED) > LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d > > -LINUX_FUSION_MAKE_OPTS = KERNEL_VERSION=$(LINUX_FOR_FUSION) > +LINUX_FUSION_MAKE_OPTS = KERNEL_VERSION=$(LINUX_VERSION_PROBED) > LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(LINUX_DIR) > LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(LINUX_DIR) > > LINUX_FUSION_MAKE_OPTS += SYSROOT=$(TARGET_DIR) > LINUX_FUSION_MAKE_OPTS += ARCH=$(KERNEL_ARCH) > LINUX_FUSION_MAKE_OPTS += CROSS_COMPILE=$(TARGET_CROSS) > -LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_FOR_FUSION)/kernel > +LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_VERSION_PROBED)/kernel > > define LINUX_FUSION_BUILD_CMDS > $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LINUX_FUSION_MAKE_OPTS) -C $(@D) > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-08-25 12:20 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-08-24 16:49 [Buildroot] [PATCH 0/4 v2] core/pkg-kernel-config: ensure linux supports modules (branch yem/kernel-module) Yann E. MORIN 2015-08-24 16:50 ` [Buildroot] [PATCH 1/4 v2] core/pkg-kernel-module: ensure linux supports modules Yann E. MORIN 2015-08-24 20:31 ` Arnout Vandecappelle 2015-08-24 16:50 ` [Buildroot] [PATCH 2/4 v2] core/pkg-kernel-module: drop now-useles check for CONFIG_MODULES Yann E. MORIN 2015-08-24 20:33 ` Arnout Vandecappelle 2015-08-24 16:50 ` [Buildroot] [PATCH 3/4 v2] packages: ensure linux supports modules even when not using kernel-module Yann E. MORIN 2015-08-24 20:42 ` Arnout Vandecappelle 2015-08-25 12:20 ` Jan Viktorin 2015-08-24 16:50 ` [Buildroot] [PATCH 4/4 v2] package/linux-fusion: slight simplification Yann E. MORIN 2015-08-24 20:45 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox