linux-nitro
Source
FROM stagex/pallet-clang-gnu-busybox AS base
COPY --from=stagex/core-xz . /
COPY --from=stagex/core-openssl . /
COPY --from=stagex/core-coreutils . /
COPY --from=stagex/core-diffutils . /
COPY --from=stagex/core-findutils . /
COPY --from=stagex/core-binutils . /
COPY --from=stagex/user-elfutils . /
COPY --from=stagex/user-kmod . /
ARG VERSION
ADD fetch/linux-${VERSION}.tar.xz .
ENV SOURCE_DATE_EPOCH=1
ENV KBUILD_BUILD_HOST=stagex
ENV KBUILD_BUILD_USER=user
ENV KBUILD_BUILD_TIMESTAMP="Thu Jan 1 12:00:00 AM GMT 1970"
ENV LLVM=1
ENV LOCALVERSION=
ENV OBJDIR=build
ENV STRIP=1
ENV SPLIT_DBG=1
ENV INSTALL_PATH=/rootfs/usr/
ENV INSTALL_MOD_PATH=/rootfs/usr/
COPY --chmod=775 <<-EOF /usr/bin/build-static
#!/bin/sh
make bzImage
mkdir /rootfs
cp .config /rootfs/linux.config
cp "arch/$(uname -m)/boot/bzImage" /rootfs
EOF
COPY --chmod=775 <<-EOF /usr/bin/build-dynamic
#!/bin/sh
ARCH="$(uname -m)"
make defconfig
make bzImage
ln -s usr/lib /rootfs/lib
mkdir -p /rootfs/usr/lib/modules
make modules
make modules_install
cp .config /rootfs/linux.config
cp "arch/$(uname -m)/boot/bzImage" /rootfs
EOF
WORKDIR /linux-${VERSION}
FROM base AS build-linux-generic
RUN build-dynamic
FROM base AS build-linux-airgap
ADD airgap.config .config
RUN build-static
FROM base AS build-linux-server
ADD server.config .config
RUN build-static
FROM base AS build-linux-guest
ADD guest.config .config
RUN build-static
FROM base AS build-linux-guest-net
ADD guest-net.config .config
RUN build-static
FROM base AS build-linux-nitro
ADD nitro.config .config
RUN build-static
FROM base AS build-gen_initramfs
RUN --network=none <<-EOF
clang usr/gen_init_cpio.c -o usr/gen_init_cpio
mkdir -p /rootfs/usr/bin
cat usr/gen_initramfs.sh \
| sed 's:usr/gen_init_cpio:gen_init_cpio:g' \
> /rootfs/usr/bin/gen_initramfs
chmod +x /rootfs/usr/bin/gen_initramfs
cp -a usr/gen_init_cpio /rootfs/usr/bin
EOF
FROM stagex/core-filesystem AS package-linux-generic
COPY --from=build-linux-generic /rootfs/ /
FROM stagex/core-filesystem AS package-linux-airgap
COPY --from=build-linux-airgap /rootfs/ /
FROM stagex/core-filesystem AS package-linux-server
COPY --from=build-linux-server /rootfs/ /
FROM stagex/core-filesystem AS package-linux-guest
COPY --from=build-linux-guest /rootfs/ /
FROM stagex/core-filesystem AS package-linux-guest-net
COPY --from=build-linux-guest-net /rootfs/ /
FROM stagex/core-filesystem AS package-linux-nitro
COPY --from=build-linux-nitro /rootfs/ /
FROM stagex/core-filesystem AS package-gen_initramfs
COPY --from=build-gen_initramfs /rootfs/ /Copied to clipboard!