mirror of
https://git.yoctoproject.org/poky
synced 2026-06-06 21:52:40 +02:00
Kernels which use tools/objtool can now fail when building external modules due to objtool being missing, the generated files can also cause problems for kernel-devsrc. Ensure objtool is generated in make-mod-scripts by also calling "make prepare". For devsrc, delete the generated binaries since they'd be native binaries and unsuitable for the target. The oeqa kernel module tests also need to have the additional "make prepare" step added. (From OE-Core rev: 52fd2993784b4218f5df4f343e7da45d964df305) Fixes [YOCTO #12860] (From OE-Core rev: 49b208fc7b3d52826ba57a86ed52bc30e181ff78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [Tweaked to add "make prepare" to module-base.bbclass instead of make-mod-scripts.bb] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
28 lines
995 B
Plaintext
28 lines
995 B
Plaintext
inherit kernel-arch
|
|
|
|
# This is instead of DEPENDS = "virtual/kernel"
|
|
do_configure[depends] += "virtual/kernel:do_compile_kernelmodules"
|
|
|
|
export OS = "${TARGET_OS}"
|
|
export CROSS_COMPILE = "${TARGET_PREFIX}"
|
|
|
|
# This points to the build artefacts from the main kernel build
|
|
# such as .config and System.map
|
|
# Confusingly it is not the module build output (which is ${B}) but
|
|
# we didn't pick the name.
|
|
export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}"
|
|
|
|
export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}"
|
|
KERNEL_OBJECT_SUFFIX = ".ko"
|
|
|
|
# kernel modules are generally machine specific
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
|
|
# Function to ensure the kernel scripts are created. Expected to
|
|
# be called before do_compile. See module.bbclass for an example.
|
|
do_make_scripts() {
|
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
|
make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
|
|
-C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare
|
|
}
|