From e5af9c67da207c49f41bdd478442f21e84b97903 Mon Sep 17 00:00:00 2001 From: Arseney300 Date: Fri, 20 Feb 2026 11:37:45 +0700 Subject: Add kernel-builder Docker image and Jenkinsfile example Custom Debian bookworm image with all dependencies for building the Linux kernel (gcc, flex, bison, libelf, libssl, dwarves, etc.). Includes example Jenkinsfile showing kernel build with artifact archiving. Co-Authored-By: Claude Opus 4.6 --- doc/Jenkinsfile.kernel-example | 24 ++++++++++++++++++++++++ jenkins/kernel-builder/Dockerfile | 30 ++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 doc/Jenkinsfile.kernel-example create mode 100644 jenkins/kernel-builder/Dockerfile diff --git a/doc/Jenkinsfile.kernel-example b/doc/Jenkinsfile.kernel-example new file mode 100644 index 0000000..f0ed164 --- /dev/null +++ b/doc/Jenkinsfile.kernel-example @@ -0,0 +1,24 @@ +// Example Jenkinsfile for building the Linux kernel +// Uses the custom kernel-builder image (jenkins/kernel-builder/Dockerfile) +// Build the image first: docker build -t kernel-builder jenkins/kernel-builder/ + +pipeline { + agent { + docker { image 'kernel-builder' } + } + + stages { + stage('Build') { + steps { + sh 'make defconfig' + sh 'make -j$(nproc)' + } + } + + stage('Archive') { + steps { + archiveArtifacts artifacts: 'arch/x86/boot/bzImage', fingerprint: true + } + } + } +} diff --git a/jenkins/kernel-builder/Dockerfile b/jenkins/kernel-builder/Dockerfile new file mode 100644 index 0000000..94ccf99 --- /dev/null +++ b/jenkins/kernel-builder/Dockerfile @@ -0,0 +1,30 @@ +FROM debian:bookworm + +RUN apt-get update && apt-get install -y \ + # Core build tools + build-essential \ + bc \ + kmod \ + cpio \ + # Kernel config/menuconfig + flex \ + bison \ + libncurses-dev \ + # Module signing and crypto + libssl-dev \ + # BTF/debug info + libelf-dev \ + dwarves \ + # Device tree (needed by some configs) + device-tree-compiler \ + # Documentation and misc + python3 \ + # Fetching sources + wget \ + curl \ + git \ + # Compression formats used by initramfs/modules + xz-utils \ + zstd \ + lz4 \ + && rm -rf /var/lib/apt/lists/* -- cgit v1.2.3