Hi,
I'm using the linux-yocto kernel recipes together with additional kernel
config fragments that I append in our custom distro layer. All required
functionality is built into the kernel, so we don't install any kernel
modules on target.
What would be the correct way to save compilation time and skip
building/packaging the kernel modules ? Do I need to provide a custom
defconfig that explicitly disables all modules ?
I can monkey-patch oe-core with the attached patch in order to achieve
that goal, but I'm guessing something like this wouldn't be suitable for
upstreaming ?
Cheers,
Jacob
From: Jacob Kroon <[email protected]>
Date: Mon, 16 Mar 2020 09:47:58 +0100
Subject: [PATCH] Handle KERNEL_MODULES
---
meta/classes/kernel.bbclass | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index a724645466..538e769f89 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -329,7 +329,12 @@ kernel_do_compile() {
fi
}
+KERNEL_MODULES ?= "1"
+
do_compile_kernelmodules() {
+ if [ "${KERNEL_MODULES}" = "0" ]; then
+ exit 0
+ fi
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
cc_extra=$(get_cc_option)
@@ -353,7 +358,7 @@ kernel_do_install() {
# First install the modules
#
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
- if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ if [ "${KERNEL_MODULES}" = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install
rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source"
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core