public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Stefan Koch <stefan-koch@siemens.com>
To: isar-users@googlegroups.com
Cc: stefan-koch@siemens.com, jan.kiszka@siemens.com,
	christian.storm@siemens.com, michael.adler@siemens.com,
	simon.sudler@siemens.com, cedric.hombourger@siemens.com,
	adriaan.schmidt@siemens.com, felix.moessbauer@siemens.com,
	ubely@ilbers.de
Subject: [PATCH v6 0/5] linux-custom: Split up binaries from kernel headers to kbuild package
Date: Wed, 14 Feb 2024 11:10:20 +0100	[thread overview]
Message-ID: <20240214101025.2123540-1-stefan-koch@siemens.com> (raw)

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


             reply	other threads:[~2024-02-14 10:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-14 10:10 Stefan Koch [this message]
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
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=20240214101025.2123540-1-stefan-koch@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