Closed dkl closed 5 months ago
Looks like the linux-qoriq
doesn't have the LIC_FILES_CHKSUM.
Can you try adding something like that to the kernel recipe linux-qoriq:
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
LIC_FILES_CHKSUM
should already be there, from bitbake linux-qoriq -e
:
# $LIC_FILES_CHKSUM [2 operations]
# set /home/daniel/x/test_linux-qoriq_scarthgap/poky/meta/conf/documentation.conf:268
# [doc] "Checksums of the license text in the recipe source code."
# set /home/daniel/x/test_linux-qoriq_scarthgap/meta-freescale/recipes-kernel/linux/linux-qoriq_5.10.bb:1
# "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
# pre-expansion value:
# "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
LIC_FILES_CHKSUM="file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
ok, I will take a look on this to replicate
Here's an example of how to reproduce (sorry, should have added that immediately). This example is with scarthgap
, but as mentioned, the same seems to happen with master
.
git clone -b scarthgap https://github.com/Freescale/meta-freescale.git
git clone -b scarthgap https://github.com/yoctoproject/poky.git
cd poky
. oe-init-build-env
echo 'MACHINE = "lx2160ardb"' >> conf/local.conf
bitbake-layers add-layer "$(readlink -f "$PWD/../../meta-freescale")"
bitbake linux-qoriq
At least in scarthgap
, do_unpack
unpacks to ${WORKDIR}/git
by default, which seems to be just the bitbake fetch2 git fetcher default according to the bitbake docs. But with S = "${STAGING_KERNEL_DIR}"
, do_symlink_kernsrc
does nothing, so the sources never get moved into the STAGING_KERNEL_DIR
location.
In master
there are some differences in do_unpack
, because UNPACKDIR
was introduced, but still the same error happens for linux-qoriq
. However linux-yocto
does not have this problem (when building for qemux86-64
instead of lx2160ardb
), I don't really understand why. Both of them use kernel.bbclass
...
The bug is on the do_symlink_kernsrc
, it should run always for the kernel because the fetcher unpacks to ${WORKDIR}/git
by default as you said.
My conclusion was wrong because the source will be move to the STAGING_KERNEL_DIR
only when we use the kernel-yocto.bbclass
. This is because the same logic of moving sources is replicated here too.
It works for the linux-yocto
because the kernel-yocto.bbclass
have the same logic to move the source code on the do_kernel_checkout
. The same happens for all the other kernel variants on meta-freescale because they use the kernel-yocto.bbclass
.
This works for me to move the code to STAGING_KERNEL_DIR
but will fail after in do_compile
:
--- a/recipes-kernel/linux/linux-qoriq.inc
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -1,6 +1,10 @@
-inherit kernel qoriq_build_64bit_kernel siteinfo
+inherit kernel-yocto kernel qoriq_build_64bit_kernel siteinfo
inherit fsl-kernel-localversion
+do_kernel_metadata[noexec] = "1"
+do_kernel_configme[noexec] = "1"
+do_kernel_configcheck[noexec] = "1"
+
SUMMARY = "Linux Kernel for NXP QorIQ platforms"
SECTION = "kernel"
LICENSE = "GPL-2.0-only"
But I think is better to revert the two PR (https://github.com/Freescale/meta-freescale/pull/1843, https://github.com/Freescale/meta-freescale/pull/1846) instead of adding support for the kernel-yocto
.
Until the kernel.bbclass
was fixed upstream in a way to run the do_symlink_kernsrc
always and remove the same logic from the kernel-yocto.bbclass
we can't remove the S = "${WORKDIR}/git"
Hi,
apparently since the changes removing
S = "${WORKDIR}/git"
from the linux-qoriq recipe in favour ofS = "${STAGING_KERNEL_DIR}"
from kernel.bbclass (https://github.com/Freescale/meta-freescale/pull/1843, https://github.com/Freescale/meta-freescale/pull/1846),linux-qoriq
no longer builds:Tested with poky + meta-freescale
scarthgap
branch:Also I'm seeing the same with
master
branch, despite theUNPACKDIR
changes in base.bbclass, which scarthgap doesn't have: