[PATCH v2 0/4] workflows: bootlinux: enhance kernel configuration fragment support

Daniel Gomez <[email protected]>
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
This patch series enhances the previously introduced kernel
configuration fragment support with: ccache support to speed up builds,
reproducile kernel builds, and broader architecture support (ARM64 and
x86_64) for these features.

Signed-off-by: Daniel Gomez <[email protected]>
---
Changes in v2:
- Reproducible builds support: Deterministic kernel builds via
standardized environment variables (KBUILD_BUILD_*), compatible with
both GCC and Clang toolchains

- ccache integration: Compiler cache support with both system/user-wide
and kdevops-managed configurations, automatic package installation
across all supported distributions

- Enhanced fragment system: Extended architecture support from
ARM64-only to include x86_64

- Clean build options: Move the mrproper execution task to a
configurable option available for both fragment and monolithic
configurations, enabling deterministic builds when needed while
preserving incremental build performance by default

- Added Luis review tag on the fragment patch

- Link to v1: https://lore.kernel.org/r/[email protected]

---
Daniel Gomez (4):
      workflows: bootlinux: add reproducible builds support
      workflows: bootlinux: add comprehensive ccache support
      workflows: bootlinux: add kernel configuration fragments support
      workflows: bootlinux: add clean builds configuration option

 defconfigs/configs/linux_kdevops.config            |  11 ++
 defconfigs/configs/linux_minimal.config            |   9 ++
 playbooks/roles/bootlinux/defaults/main.yml        |  75 +++++++++++++
 playbooks/roles/bootlinux/tasks/build/9p.yml       |  69 +++++++++++-
 playbooks/roles/bootlinux/tasks/build/builder.yml  |   2 +
 playbooks/roles/bootlinux/tasks/build/targets.yml  |  14 ++-
 playbooks/roles/bootlinux/tasks/ccache.yml         |  37 +++++++
 .../roles/bootlinux/tasks/config-fragments.yml     |  80 ++++++++++++++
 playbooks/roles/bootlinux/tasks/config.yml         |   8 ++
 .../bootlinux/tasks/install-deps/debian/main.yml   |   1 +
 .../bootlinux/tasks/install-deps/redhat/main.yml   |   1 +
 .../bootlinux/tasks/install-deps/suse/main.yml     |   1 +
 .../tasks/install-minimal-deps/debian/main.yml     |   1 +
 .../tasks/install-minimal-deps/redhat/main.yml     |   2 +
 .../tasks/install-minimal-deps/suse/main.yml       |   1 +
 playbooks/roles/bootlinux/tasks/main.yml           |  31 +++++-
 playbooks/roles/bootlinux/templates/ccache.conf.j2 |  27 +++++
 .../bootlinux/templates/fragments/64bit.config     |   1 +
 .../templates/fragments/arm64_16k_pages.config     |   1 +
 .../templates/fragments/arm64_4k_pages.config      |   1 +
 .../templates/fragments/arm64_64k_pages.config     |   1 +
 .../bootlinux/templates/fragments/blktrace.config  |   2 +
 .../templates/fragments/buffer_head.config         |   7 ++
 .../bootlinux/templates/fragments/distro.config    |  84 +++++++++++++++
 .../templates/fragments/ebpf-errorinj.config       |   2 +
 .../bootlinux/templates/fragments/ebpf.config      |  61 +++++++++++
 .../roles/bootlinux/templates/fragments/gdb.config |   6 ++
 .../bootlinux/templates/fragments/initramfs.config |  22 ++++
 .../bootlinux/templates/fragments/kmemleak.config  |   3 +
 .../roles/bootlinux/templates/fragments/ksm.config |   1 +
 .../bootlinux/templates/fragments/localauto.config |   2 +
 .../bootlinux/templates/fragments/moby.config      |   9 ++
 .../templates/fragments/modules-blk.config         |   2 +
 .../fragments/modules-extended-modversions.config  |   2 +
 .../templates/fragments/modules-modversions.config |   1 +
 .../templates/fragments/modules-testing.config     |   3 +
 .../bootlinux/templates/fragments/modules.config   |  15 +++
 .../bootlinux/templates/fragments/numa.config      |   2 +
 .../bootlinux/templates/fragments/storage.config   |  11 ++
 .../bootlinux/templates/fragments/systemd.config   |  78 ++++++++++++++
 .../bootlinux/templates/fragments/virtio-fs.config |  15 +++
 .../bootlinux/templates/fragments/vm_debug.config  |   1 +
 .../bootlinux/templates/fragments/xarray.config    |   6 ++
 .../templates/fragments/xarray_no_multi.config     |   9 ++
 workflows/linux/Kconfig                            | 119 +++++++++++++++++++++
 workflows/linux/Kconfig.fragments                  |  26 +++++
 workflows/linux/fragments/Kconfig.advanced         |  27 +++++
 workflows/linux/fragments/Kconfig.arch             |  30 ++++++
 workflows/linux/fragments/Kconfig.container        |  15 +++
 workflows/linux/fragments/Kconfig.development      |  28 +++++
 workflows/linux/fragments/Kconfig.essential        |  63 +++++++++++
 workflows/linux/fragments/Kconfig.legacy           |   9 ++
 workflows/linux/fragments/Kconfig.memory           |  15 +++
 workflows/linux/fragments/Kconfig.modules          |  46 ++++++++
 workflows/linux/fragments/Kconfig.security         |  10 ++
 workflows/linux/fragments/Kconfig.specialized      |  23 ++++
 56 files changed, 1121 insertions(+), 8 deletions(-)
---
base-commit: 7d094b5edd24d50a53253412e1b36e4374194470
change-id: 20250916-kernel-fragment-support-1207a7352473
prerequisite-change-id: 20250916-sysbench-ab-dut-d29b07bb37b5:v1
prerequisite-patch-id: 3f52cbbd6dbab61e54af372d72532fcd148d8b91

Best regards,
--  
Daniel Gomez <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.