On Thu, 2023-01-26 at 17:14 -0500, Bruce Ashfield wrote:
> On Thu, Jan 26, 2023 at 5:10 PM Richard Purdie
> <[email protected]> wrote:
> > 
> > With the 6.1 kernel we've seen reproducibility/determinism issues where the 
> > kernel
> > seems to rebuild headers referencing the hostname or local user. 
> > kernel-devsrc
> > building after the kernel seemed to trigger it in some cases.
> > 
> > Moving the definitions to the bbclass used by all the kernel recipe code 
> > including
> > kernel-devsrc seems to be the best way to ensure this doesn't happen.
> > 
> 
> This is the right thing to do.
> 
> I haven't been able to root cause how the 6.1 kernel file generation was
> being triggered by devsrc, and how it raced with the main kernel to change
> the build-artifacts .. but it most definitely did do it.
> 
> At the very least, this rules out a lot of paths to the generation  of the
> header files, and if it happens again, it will be easier to track down.

Sadly this didn't work and wasn't enough. The reason the test builds
worked is that both the A and B builds being compared ran on the same
host. On the release build one came from sstate, one built locally and
game over again, the hostnames were different.

First, I needed to reproduce this locally. I could do that with:

bitbake virtual/kernel perf kernel-devsrc -c clean
bitbake virtual/kernel -c compile -f
bitbake kernel-devsrc

cat 
tmp/work-shared/qemux86-64/kernel-build-artifacts/include/generated/compile.h

and noting that it contains my hostname, not "oe-host".

With a reproducer, I was then able to work out this patch *does* fix it:

diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb 
b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index 9afd6714f0d..38282e58f10 100644
--- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://www.yoctoproject.org/";
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = 
"file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
-inherit kernel-arch
+inherit kernel-arch linux-kernel-base
 inherit pkgconfig
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"


Cheers,

Richard
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176435): 
https://lists.openembedded.org/g/openembedded-core/message/176435
Mute This Topic: https://lists.openembedded.org/mt/96554078/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to