11ARG BASE_IMAGE
2+ ARG ENABLE_HWE="${ENABLE_HWE:-0}"
3+ ARG ENABLE_GDX="${ENABLE_GDX:-0}"
4+ ARG AKMODS_VERSION="${AKMODS_VERSION:-centos-10}"
5+ ARG COMMON_IMAGE_REF
6+ ARG BREW_IMAGE_REF
7+
8+ # Upstream mounts akmods-zfs and akmods-nvidia-open; select their tag via AKMODS_VERSION
9+ FROM ghcr.io/ublue-os/akmods-zfs:${AKMODS_VERSION} AS akmods_zfs
10+ FROM ghcr.io/ublue-os/akmods-nvidia-open:${AKMODS_VERSION} AS akmods_nvidia_open
11+ FROM ${COMMON_IMAGE_REF} AS common
12+ FROM ${BREW_IMAGE_REF} AS brew
213
314FROM scratch as context
415COPY system_files /files
16+ COPY --from=brew /system_files /files
17+ COPY --from=common /system_files/shared /files
518COPY system_files_overrides /overrides
619COPY build_scripts /build_scripts
720
@@ -11,54 +24,85 @@ ARG IMAGE_NAME
1124ARG IMAGE_VENDOR
1225ARG SHA_HEAD_SHORT="${SHA_HEAD_SHORT:-deadbeef}"
1326ARG BASE_IMAGE
27+ ARG ENABLE_HWE="${ENABLE_HWE:-0}"
28+ ARG ENABLE_GDX="${ENABLE_GDX:-0}"
1429ENV BASE_IMAGE=${BASE_IMAGE}
1530ENV IMAGE_NAME=${IMAGE_NAME}
1631ENV IMAGE_VENDOR=${IMAGE_VENDOR}
1732ENV SHA_HEAD_SHORT=${SHA_HEAD_SHORT}
33+ ENV ENABLE_HWE=${ENABLE_HWE}
34+ ENV ENABLE_GDX=${ENABLE_GDX}
1835
1936# We pass in BASE_IMAGE as an env var to set it in os-release so that we know what we are building on
2037RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
2138 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
39+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
40+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
41+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
2242 --mount=type=bind,from=context,source=/,target=/run/context \
2343 /run/context/build_scripts/copy-files.sh
2444
2545RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
2646 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
47+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
48+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
49+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
2750 --mount=type=bind,from=context,source=/,target=/run/context \
2851 /run/context/build_scripts/00-workarounds.sh
2952
3053RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
3154 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
55+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
56+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
57+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
3258 --mount=type=bind,from=context,source=/,target=/run/context \
3359 /run/context/build_scripts/10-base-packages.sh
3460
3561RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
3662 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
63+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
64+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
65+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
3766 --mount=type=bind,from=context,source=/,target=/run/context \
3867 /run/context/build_scripts/20-packages.sh
3968
4069RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
4170 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
71+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
72+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
73+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
4274 --mount=type=bind,from=context,source=/,target=/run/context \
4375 /run/context/build_scripts/26-packages-post.sh
4476
4577RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
4678 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
79+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
80+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
81+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
4782 --mount=type=bind,from=context,source=/,target=/run/context \
4883 /run/context/build_scripts/40-services.sh
4984
5085RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
5186 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
87+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
88+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
89+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
5290 --mount=type=bind,from=context,source=/,target=/run/context \
5391 /run/context/build_scripts/90-image-info.sh
5492
5593RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
5694 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
95+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
96+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
97+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
5798 --mount=type=bind,from=context,source=/,target=/run/context \
5899 /run/context/build_scripts/arch-customizations.sh
59100
60101RUN --mount=type=tmpfs,dst=/opt --mount=type=tmpfs,dst=/tmp \
61102 --mount=type=tmpfs,dst=/var --mount=type=tmpfs,dst=/boot \
103+ --mount=type=bind,from=akmods_zfs,src=/rpms,dst=/tmp/akmods-zfs-rpms \
104+ --mount=type=bind,from=akmods_zfs,src=/kernel-rpms,dst=/tmp/kernel-rpms \
105+ --mount=type=bind,from=akmods_nvidia_open,src=/rpms,dst=/tmp/akmods-nvidia-open-rpms \
62106 --mount=type=bind,from=context,source=/,target=/run/context \
63107 /run/context/build_scripts/cleanup.sh
64108
0 commit comments