summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseney300 <Arseney300@gmail.com>2026-02-20 11:37:45 +0700
committerArseney300 <Arseney300@gmail.com>2026-02-20 11:37:45 +0700
commite5af9c67da207c49f41bdd478442f21e84b97903 (patch)
treeb6759ab0d563cffcf818e8dd87668b73007bb8ab
parent68d5770c626dcad4f8e116a8b984d16458c557b6 (diff)
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 <noreply@anthropic.com>
-rw-r--r--doc/Jenkinsfile.kernel-example24
-rw-r--r--jenkins/kernel-builder/Dockerfile30
2 files changed, 54 insertions, 0 deletions
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/*