public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
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

  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