mbox series

[v3,0/5] linux-custom: Split up binaries from kernel headers to kbuild packages

Message ID 20230816121423.3956608-1-stefan-koch@siemens.com
Headers show
Series linux-custom: Split up binaries from kernel headers to kbuild packages | expand

Message

Koch, Stefan Aug. 16, 2023, 12:14 p.m. UTC
Hi

This updated v3 patchset implement suggestions from reviewed v2 patchset.
It's now a set of five patches:
- linux-custom: Split up binaries from kernel headers to kbuild package
- sbuild: Support overriding configured schroot dir
- dpkg: Allow overriding build and host parameters for sbuild and schroot
- linux-custom: Provide host and target specific kernel kbuild packages
- docs: Update custom_kernel docs for split up of kernel scripts and tools

The main use-case was to swap out the binaries
from the kernel headers into kernel kbuild package.
This is introduced by the first commit
"Split up binaries from kernel headers to kbuild package"

The fourth commit "Provide host and target specific kernel kbuild packages"
introduces that the binaries could be swapped out into host and target
specific kernel kbuild packages.

The main development goals were these:

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, set EXTENDED_KBUILD_MODE to "1" request
  "-compat" (and "-native") bitbake targets and kbuild
  packages for target and host will be created automatically

Best regards

Stefan

Stefan Koch (5):
  linux-custom: Split up binaries from kernel headers to kbuild package
  sbuild: Support overriding configured schroot dir
  dpkg: Allow overriding build and host parameters for sbuild and
    schroot
  linux-custom: Provide host and target specific kernel kbuild packages
  docs: Update custom_kernel docs for split up of kernel scripts and
    tools

 doc/custom_kernel.md                          | 17 +++--
 meta/classes/dpkg-base.bbclass                | 19 ++++-
 meta/classes/dpkg.bbclass                     |  2 +-
 meta/classes/sbuild.bbclass                   |  9 ++-
 .../linux/files/debian/control.tmpl           | 25 ++++++-
 .../linux/files/debian/isar/build.tmpl        | 13 +++-
 .../linux/files/debian/isar/common.tmpl       | 14 +++-
 .../linux/files/debian/isar/configure.tmpl    | 13 +++-
 .../linux/files/debian/isar/install.tmpl      | 73 +++++++++++++-----
 .../linux/files/debian/rules.tmpl             |  2 +-
 meta/recipes-kernel/linux/linux-custom.inc    | 75 +++++++++++++++----
 11 files changed, 211 insertions(+), 51 deletions(-)