Added kernel-extra.config for customization

This commit is contained in:
2026-03-21 02:26:13 +08:00
parent 9c97871f97
commit a7236ed3b0
9 changed files with 177 additions and 20 deletions

View File

@@ -14,6 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
file \
flex \
git \
kmod \
libelf-dev \
libssl-dev \
make \

View File

@@ -1,5 +1,12 @@
ARG TAG=dev
ARG DOCKER_IMAGE_ROOT=monok8s
FROM --platform=linux/amd64 ${DOCKER_IMAGE_ROOT}/kernel-build:${TAG} AS kernel
# Selective mods
RUN mkdir /out/selected-mods
COPY initramfs/selective-mods.sh /
RUN /selective-mods.sh /out/rootfs/lib/modules/$(ls /out/rootfs/lib/modules/) /out/selected-mods
FROM --platform=linux/amd64 ${DOCKER_IMAGE_ROOT}/build-base:${TAG} AS build
ARG BUSYBOX_VERSION
@@ -21,7 +28,7 @@ RUN tar -xf busybox.tar.gz && mv "busybox-${BUSYBOX_VERSION}" busybox
WORKDIR /build/busybox
RUN make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} defconfig \
RUN make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} defconfig\
&& sed -i 's/^# CONFIG_STATIC is not set/CONFIG_STATIC=y/' .config
RUN make CROSS_COMPILE=${CROSS_COMPILE} -j"$(nproc)"
RUN make CROSS_COMPILE=${CROSS_COMPILE} CONFIG_PREFIX=/out/initramfs install
@@ -30,5 +37,8 @@ WORKDIR /out/initramfs
COPY initramfs/init init
RUN chmod +x init
RUN mkdir -p bin sbin etc proc sys dev usr/bin usr/sbin
RUN mkdir -p bin sbin etc proc sys dev lib usr/bin usr/sbin
COPY --from=kernel /out/selected-mods/* ./lib/
RUN find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramfs.cpio.gz

View File

@@ -26,9 +26,13 @@ RUN tar -xf nxplinux.tar.gz \
WORKDIR /build/nxplinux
COPY kernel-extra.config /tmp/kernel-extra.config
# NXP tree: use the LSDK defconfig target
RUN make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" defconfig lsdk.config
RUN make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" -j"$(nproc)"
RUN make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" defconfig lsdk.config \
&& ./scripts/kconfig/merge_config.sh -m .config /tmp/kernel-extra.config \
&& make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" olddefconfig \
&& make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" -j"$(nproc)"
# artifact collection
RUN mkdir -p /out/kernel /out/rootfs \
@@ -37,6 +41,8 @@ RUN mkdir -p /out/kernel /out/rootfs \
&& cp -av System.map .config /out/kernel/ \
&& make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} modules_install INSTALL_MOD_PATH=/out/rootfs
RUN depmod -b /out/rootfs $(ls /out/rootfs/lib/modules/)
ARG DTB_TARGET
RUN find /out/kernel -name "${DTB_TARGET}" -exec cp {} /out/ \;