From: "Koch, Stefan" <stefan-koch@siemens.com>
To: "ubely@ilbers.de" <ubely@ilbers.de>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "Sudler, Simon" <simon.sudler@siemens.com>,
"Storm, Christian" <christian.storm@siemens.com>,
"Schmidt, Adriaan" <adriaan.schmidt@siemens.com>,
"Kiszka, Jan" <jan.kiszka@siemens.com>,
"Adler, Michael" <michael.adler@siemens.com>,
"MOESSBAUER, Felix" <felix.moessbauer@siemens.com>,
"cedric.hombourger@siemens.com" <cedric.hombourger@siemens.com>
Subject: Re: [PATCH v6 0/5] linux-custom: Split up binaries from kernel headers to kbuild package
Date: Wed, 17 Apr 2024 09:29:15 +0000 [thread overview]
Message-ID: <78d5f6c2d470764754ed20a02da2ce422ca48f43.camel@siemens.com> (raw)
In-Reply-To: <4f7b08acb2640ce1f0f9bc56b5351fbdd685e206.camel@ilbers.de>
On Mon, 2024-04-15 at 15:47 +0300, Uladzimir Bely wrote:
> On Wed, 2024-02-14 at 11:10 +0100, 'Stefan Koch' via isar-users
> wrote:
> > Hi
> >
> > This updated v6 patchset implement suggestions from reviewed v4
> > patchset.
> > It's now a set of five patches:
> > - linux-custom: Set PROVIDES variable using bitbake overrides
> > - linux-custom: Split up binaries from kernel headers to kbuild
> > package
> > - linux-custom: Provide target and host specific kernel kbuild
> > packages
> > - linux-module: Support emulated module build with cross-compiled
> > kernel
> > - docs: Update custom_kernel docs for split up of kernel scripts
> > and
> > tools
> >
> > The first commit sets the PROVIDES variable using
> > bitbake overrides instead of python code.
> >
> > Swap out the binaries from the kernel headers
> > into kernel kbuild package is the main use-case
> > introduced by the second commit
> > "Split up binaries from kernel headers to kbuild package"
> >
> > The third commit "Provide target and host specific kernel kbuild
> > packages"
> > introduces that the binaries could be swapped out into host and
> > target
> > specific kernel kbuild packages.
> >
> > Support of emulated module build with a cross-compiled kernel build
> > is introduced by the fourth commit.
> >
> > These are the main development goals:
> >
> > 1. Solve already known isar custom kernel
> > limitations from doc/custom_kernel.inc
> > - kernel headers package does not support both native
> > and cross compilation of kernel modules when cross built
> >
> > 2. Honor recommendations for future from doc/custom_kernel.inc
> > - Generate kernel headers packages for both host and target
> > when using cross build
> >
> > 3. Add extensions known from debian kernel packages structure
> > - Generate a kernel headers package without binaries
> > - Create specific kernel kbuild packages that
> > will ship the "scripts" and "tools" binaries
> > - Use symlinks to point to the "scripts" and "tools" binaries
> >
> > 4. Be user friendly
> > - Avoid redundant configuration of kernel source definitions with
> > user
> > actions to enable kbuild package generation
> > - Use already known way to include linux-custom.inc in just one
> > own bitbake recipe that provides the kernel source definitions
> > - Keep known user behavior for existing build configurations:
> > just update isar, and use the new linux-kbuild bitbake target
> > to create the kbuild target package when cross building
> >
> > Best regards
> >
> > Stefan
> >
> > Stefan Koch (5):
> > linux-custom: Set PROVIDES variable using bitbake overrides
> > linux-custom: Split up binaries from kernel headers to kbuild
> > package
> > linux-custom: Provide target and host specific kernel kbuild
> > packages
> > linux-module: Support emulated module build with cross-compiled
> > kernel
> > docs: Update custom_kernel docs for split up of kernel scripts
> > and
> > tools
> >
> > RECIPE-API-CHANGELOG.md | 31 ++++++++
> > doc/custom_kernel.md | 18 +++--
> > meta/recipes-kernel/linux-module/module.inc | 3 +-
> > .../linux/classes/kbuildtarget.bbclass | 8 ++
> > .../linux/files/debian/control.tmpl | 15 +++-
> > .../linux/files/debian/isar/build.tmpl | 13 +++-
> > .../linux/files/debian/isar/common.tmpl | 11 +++
> > .../linux/files/debian/isar/install.tmpl | 75 ++++++++++++++-
> > --
> > --
> > meta/recipes-kernel/linux/linux-custom.inc | 65 +++++++++++++--
> > -
> > meta/recipes-kernel/linux/linux-distro.bb | 1 +
> > 10 files changed, 199 insertions(+), 41 deletions(-)
> > create mode 100644 meta/recipes-
> > kernel/linux/classes/kbuildtarget.bbclass
> >
> > --
> > 2.39.2
> >
>
> Hello Stefan.
Hi
>
> Recently I run the patchset through CI and it failed (test 2 in "dev"
> set) on amd64 targets with error like:
>
> [stdlog] 2024-04-12 16:23:10,235 avocado.app cibuilder L0222
> ERROR| ERROR: Nothing PROVIDES 'linux-kbuild-amd64-native' (but
> mc:qemuamd64-bullseye:/workspace/build/isar_ub_devel_fast/567/meta-
> isar/recipes-kernel/example-module/example-module.bb DEPENDS on or
> otherwise requires it). Close matches:
> [stdlog] 2024-04-12 16:23:10,235 avocado.app cibuilder L0222
> ERROR| linux-kbuild-amd64
> [stdlog] 2024-04-12 16:23:10,235 avocado.test cibuilder L0220
> INFO |
> [stdlog] 2024-04-12 16:23:10,235 avocado.app cibuilder L0222
> ERROR| linux-kbuild-cip-native
> [stdlog] 2024-04-12 16:23:10,235 avocado.app cibuilder L0222
> ERROR| linux-kbuild-mainline-native
> [stdlog] 2024-04-12 16:23:10,235 avocado.app cibuilder L0222
> ERROR| ERROR: Required build target 'isar-image-ci' has no buildable
> providers.
>
> I tried to reproduce it locally, and the easiest way to reproduce was
> the following:
>
> ```
> ./kas/kas-container menu
> <Leave everything as is, just select "Save & Build">
> ...
> Parsing recipes: 100%
> > ###################################################################
> > ###
> #########################################################| Time:
> 0:00:00
> Parsing of 55 .bb files complete (0 cached, 55 parsed). 57 targets,
> 15
> skipped, 0 masked, 0 errors.
> NOTE: Resolving any missing task queue dependencies
> ERROR: Nothing PROVIDES 'linux-kbuild-amd64-native' (but
> /build/../repo/meta-isar/recipes-kernel/example-module/example-
> module.bb DEPENDS on or otherwise requires it). Close matches:
> linux-kbuild-amd64
> linux-kbuild-cip-native
> linux-kbuild-mainline-native
> ERROR: Required build target 'isar-image-base' has no buildable
> providers.
> Missing or unbuildable dependency chain was: ['isar-image-base',
> 'example-module-amd64', 'linux-kbuild-amd64-native']
> ```
>
This is caused by commit:
"linux-module: Support emulated module build with cross-compiled
kernel"
It should be possible to skip this commit for the first time, fix it
meanwhile and apply this (then fixed) commit later.
> I also tried the patchset with older Isar (e.g. just some commits
> before v0.10, when the patchset was released) and the situation looks
> the same.
>
> When we remove "example-module" from list of packages to install,
> build
> is OK.
>
Thanks and regards
--
Stefan Koch
Siemens AG
www.siemens.com
next prev parent reply other threads:[~2024-04-17 9:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-14 10:10 Stefan Koch
2024-02-14 10:10 ` [PATCH v6 1/5] linux-custom: Set PROVIDES variable using bitbake overrides Stefan Koch
2024-02-14 10:10 ` [PATCH v6 2/5] linux-custom: Split up binaries from kernel headers to kbuild package Stefan Koch
2024-02-14 10:10 ` [PATCH v6 3/5] linux-custom: Provide target and host specific kernel kbuild packages Stefan Koch
2024-05-05 17:16 ` Jan Kiszka
2024-05-06 10:07 ` Koch, Stefan
2024-05-06 10:46 ` Jan Kiszka
2024-05-06 6:22 ` Jan Kiszka
2024-07-04 6:12 ` Anton Mikanovich
2024-07-04 12:44 ` 'Koch, Stefan' via isar-users
2024-07-04 13:02 ` 'cedric.hombourger@siemens.com' via isar-users
2024-07-04 13:19 ` 'Koch, Stefan' via isar-users
2024-02-14 10:10 ` [PATCH v6 4/5] linux-module: Support emulated module build with cross-compiled kernel Stefan Koch
2024-02-14 10:10 ` [PATCH v6 5/5] docs: Update custom_kernel docs for split up of kernel scripts and tools Stefan Koch
2024-02-16 7:42 ` [PATCH v6 0/5] linux-custom: Split up binaries from kernel headers to kbuild package MOESSBAUER, Felix
2024-04-15 12:47 ` Uladzimir Bely
2024-04-17 9:29 ` Koch, Stefan [this message]
2024-04-23 19:22 ` Uladzimir Bely
2024-04-30 13:10 ` Koch, Stefan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=78d5f6c2d470764754ed20a02da2ce422ca48f43.camel@siemens.com \
--to=stefan-koch@siemens.com \
--cc=adriaan.schmidt@siemens.com \
--cc=cedric.hombourger@siemens.com \
--cc=christian.storm@siemens.com \
--cc=felix.moessbauer@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.com \
--cc=michael.adler@siemens.com \
--cc=simon.sudler@siemens.com \
--cc=ubely@ilbers.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox