authorbors <bors@rust-lang.org> 2026-07-04 21:09:24 UTC
committerbors <bors@rust-lang.org> 2026-07-04 21:09:24 UTC
log96eb6d756bb98a82ae056c384575ff059bf80e8f
tree2ec4156c9f73c5f9f5f3e33c9d0dfa506be895d9
parentc397dae808f70caebab1fc4e11b3edf7e59f58c7
parent071882ee2208663ca00daf48a671f6ae34861885

Auto merge of #158774 - jieyouxu:jieyouxu/ci/mirror, r=Mark-Simulacrum

Mirror kernel archives in `ci-mirrors` to not depend on currently unavailable kernel mirror sources ## Summary (Tempoarily) closes rust-lang/rust#158718. See [#t-infra > kernel.org is borked](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/kernel.2Eorg.20is.20borked/with/608182062). Currently rust-lang/rust CI is borked because: 1. `armhf-gnu` directly tries to download kernel v4.x artifacts from kernel.org mirror, and 2. certain `dist-*` jobs tries to download kernel v3.x and v4.x artifacts from kernel.org mirror indirectly via crosstools-ng ("CT-NG") [^1]. [^1]: Add v5.x but those are already recovered. However, kernel.org mirror sync infra has an active incident (ref: https://status.linuxfoundation.org/incidents/3y1k8b4ky71t) where not all files are available. In particular, v3.x and v4.x kernel artifacts are not recovered yet as of time of writing (check <https://mirrors.edge.kernel.org/pub/linux/kernel/>). ### Mitigation This PR tries to mitigate this by using our own mirrored kernel artifacts from `ci-mirrors` (see https://github.com/rust-lang/ci-mirrors/pull/41, https://github.com/rust-lang/ci-mirrors/pull/42, https://github.com/rust-lang/ci-mirrors/pull/43), such that `linux-$A.$B.$C.tar.gz` artifacts become available as search locations to CT-NG. We carry a patch to CT-NG to use our own `ci-mirrors` artifact SHA256 checksums, the checksum mismatches are as far as we know due to compression setting differences (`ci-mirrors` source archives from <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/>). ## Notes - `armhf-gnu` still has artifacts from third-party mirrors/sources (busybox, ubuntu-base-22.04.2). Not in scope of this PR. - It looks like `3.*` kernel series are considered obselete by CT-NG, and need `CT_OBSOLETE=y` config. - CT-NG checks for known-good kernel versions and checksums against the provided mirror. ### CT-NG known good versions Re. latest kernel versions in each release versus what CT-NG 1.28.0 considers a known good version w/ checksum: Kernel LTS release series | Last release in the series | CT-NG 1.28.0 known good kernel version w/ checksum -- | -- | -- 3.2.* | 3.2.102 | **3.2.101** 3.10.* | 3.10.108 | 3.10.108 4.4.* | 4.4.302 | 4.4.302 4.19.* | 4.19.325 | 4.19.325 4.20.* | 4.20.17 | 4.20.17 5.19.* | 5.19.17 | **5.19.16** (**Bold** CT-NG known good version indicates not latest in release series.) ### `ci-mirrors` kernal tarball SHA256 checksums Refer to https://github.com/rust-lang/ci-mirrors/blob/b474b4bb35108dab668907172c858854f209c809/files/rustc/kernel.toml: | **Kernel Version** | **SHA256** | | ------------------ | ------------------------------------------------------------------ | | 3.2.101 | `93e8391e029f131d5ba4b7ad76cc34b12f2c2244059604042f2297c4bde093f7` | | 3.10.108 | `b1711610cf3faf7194156dacdb98c63c1b7ffd02377269d7f75df63d823ccbba` | | 4.4.302 | `a22ceab143d40f511203265e5a70d6cc5ec39163cd54fa281346d19176f64451` | | 4.19.325 | `8753443636e475b506e08abd40059ec9b84904a115d206014f0c856dfe13a25e` | | 4.20.17 | `313b7bebb46084efbfcaf75f4ea6faf2e14c8cbc1711fcba483dc0a036c9acc1` | | 5.19.16 | `bbf0ead65559250e0784c13d4f9716b7f917a1d3a4e00f671f3994cc6990bb02` | --- try-job: armhf-gnu try-job: dist-armhf-linux try-job: dist-arm-linux-gnueabi try-job: dist-powerpc64le-linux-musl try-job: dist-loongarch64-musl try-job: dist-riscv64-linux try-job: dist-powerpc64le-linux-gnu try-job: dist-powerpc64-linux-musl try-job: dist-armv7-linux try-job: dist-powerpc-linux try-job: dist-loongarch64-linux try-job: dist-s390x-linux try-job: dist-i586-gnu-i586-i686-musl try-job: dist-powerpc64-linux-gnu

38 files changed, 149 insertions(+), 4 deletions(-)

src/ci/docker/host-x86_64/armhf-gnu/Dockerfile+4-4
......@@ -35,14 +35,14 @@ WORKDIR /build
3535# the kernel. This file was generated by running `make vexpress_defconfig`
3636# followed by `make menuconfig` and then enabling the IPv6 protocol page.
3737COPY host-x86_64/armhf-gnu/vexpress_config /build/.config
38RUN curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.320.tar.xz | \
39 tar xJf - && \
40 cd /build/linux-4.14.320 && \
38RUN curl https://ci-mirrors.rust-lang.org/rustc/linux-4.14.336.tar.gz | \
39 tar xzf - && \
40 cd /build/linux-4.14.336 && \
4141 cp /build/.config . && \
4242 make -j$(nproc) all && \
4343 cp arch/arm/boot/zImage /tmp && \
4444 cd /build && \
45 rm -rf linux-4.14.320
45 rm -rf linux-4.14.336
4646
4747# Compile an instance of busybox as this provides a lightweight system and init
4848# binary which we will boot into. Only trick here is configuring busybox to
src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910WORKDIR /tmp
src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910WORKDIR /build
src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/arm-linux-gnueabi.defconfig+3
......@@ -2,11 +2,14 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_ARM=y
67CT_ARCH_ARCH="armv6"
78CT_ARCH_FLOAT_SW=y
89CT_KERNEL_LINUX=y
10CT_OBSOLETE=y
911CT_LINUX_V_3_2=y
12CT_LINUX_VERSION="3.2.101"
1013CT_BINUTILS_V_2_32=y
1114CT_GLIBC_V_2_17=y
1215CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-armhf-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-armhf-linux/arm-linux-gnueabihf.defconfig+3
......@@ -2,12 +2,15 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_ARM=y
67CT_ARCH_ARCH="armv6"
78CT_ARCH_FPU="vfp"
89CT_ARCH_FLOAT_HW=y
910CT_KERNEL_LINUX=y
11CT_OBSOLETE=y
1012CT_LINUX_V_3_2=y
13CT_LINUX_VERSION="3.2.101"
1114CT_BINUTILS_V_2_32=y
1215CT_GLIBC_V_2_17=y
1316CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-armv7-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-armv7-linux/armv7-linux-gnueabihf.defconfig+3
......@@ -2,6 +2,7 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_ARM=y
67CT_ARCH_ARM_MODE_THUMB=y
78CT_ARCH_SUFFIX="v7"
......@@ -9,7 +10,9 @@ CT_ARCH_ARCH="armv7-a"
910CT_ARCH_FPU="vfpv3-d16"
1011CT_ARCH_FLOAT_HW=y
1112CT_KERNEL_LINUX=y
13CT_OBSOLETE=y
1214CT_LINUX_V_3_2=y
15CT_LINUX_VERSION="3.2.101"
1316CT_BINUTILS_V_2_32=y
1417CT_GLIBC_V_2_17=y
1518CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile+1
......@@ -22,6 +22,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
2222RUN sh /scripts/cross-apt-packages.sh
2323
2424COPY scripts/crosstool-ng.sh /scripts/
25COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
2526RUN sh /scripts/crosstool-ng.sh
2627
2728COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/i586-linux-gnu.defconfig+3
......@@ -2,11 +2,14 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_X86=y
67CT_ARCH_ARCH="i586"
78CT_TARGET_CFLAGS="-Wa,-mrelax-relocations=no"
89CT_KERNEL_LINUX=y
10CT_OBSOLETE=y
911CT_LINUX_V_3_2=y
12CT_LINUX_VERSION="3.2.101"
1013CT_BINUTILS_V_2_32=y
1114CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-compressed-debug-sections=none"
1215CT_GLIBC_V_2_17=y
src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig+2
......@@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_LOONGARCH=y
78# CT_DEMULTILIB is not set
89CT_ARCH_USE_MMU=y
......@@ -11,6 +12,7 @@ CT_TARGET_CFLAGS="-mcmodel=medium"
1112CT_TARGET_LDFLAGS="-mcmodel=medium"
1213CT_KERNEL_LINUX=y
1314CT_LINUX_V_5_19=y
15CT_LINUX_VERSION="5.19.16"
1416CT_GLIBC_V_2_36=y
1517CT_BINUTILS_V_2_45=y
1618CT_GCC_V_15=y
src/ci/docker/host-x86_64/dist-loongarch64-musl/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-loongarch64-musl/loongarch64-unknown-linux-musl.defconfig+2
......@@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_LOONGARCH=y
78# CT_DEMULTILIB is not set
89CT_ARCH_USE_MMU=y
......@@ -11,6 +12,7 @@ CT_TARGET_CFLAGS="-mcmodel=medium"
1112CT_TARGET_LDFLAGS="-mcmodel=medium"
1213CT_KERNEL_LINUX=y
1314CT_LINUX_V_5_19=y
15CT_LINUX_VERSION="5.19.16"
1416CT_LIBC_MUSL=y
1517CT_MUSL_V_1_2_5=y
1618CT_BINUTILS_V_2_45=y
src/ci/docker/host-x86_64/dist-mips-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig+2
......@@ -2,11 +2,13 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_MIPS=y
67CT_ARCH_mips_o32=y
78CT_ARCH_ARCH="mips32r2"
89CT_KERNEL_LINUX=y
910CT_LINUX_V_4_4=y
11CT_LINUX_VERSION="4.4.302"
1012CT_BINUTILS_V_2_32=y
1113CT_GLIBC_V_2_23=y
1214CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-mips64-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-mips64-linux/mips64-linux-gnu.defconfig+2
......@@ -2,12 +2,14 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_MIPS=y
67CT_ARCH_mips_n64=y
78CT_ARCH_64=y
89CT_ARCH_ARCH="mips64r2"
910CT_KERNEL_LINUX=y
1011CT_LINUX_V_4_4=y
12CT_LINUX_VERSION="4.4.302"
1113CT_BINUTILS_V_2_32=y
1214CT_GLIBC_V_2_23=y
1315CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-mips64el-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-mips64el-linux/mips64el-linux-gnu.defconfig+2
......@@ -2,6 +2,7 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_MIPS=y
67CT_ARCH_mips_n64=y
78CT_ARCH_LE=y
......@@ -9,6 +10,7 @@ CT_ARCH_64=y
910CT_ARCH_ARCH="mips64r2"
1011CT_KERNEL_LINUX=y
1112CT_LINUX_V_4_4=y
13CT_LINUX_VERSION="4.4.302"
1214CT_BINUTILS_V_2_32=y
1315CT_GLIBC_V_2_23=y
1416CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-mipsel-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-mipsel-linux/mipsel-linux-gnu.defconfig+2
......@@ -2,12 +2,14 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_MIPS=y
67CT_ARCH_mips_o32=y
78CT_ARCH_LE=y
89CT_ARCH_ARCH="mips32r2"
910CT_KERNEL_LINUX=y
1011CT_LINUX_V_4_4=y
12CT_LINUX_VERSION="4.4.302"
1113CT_BINUTILS_V_2_32=y
1214CT_GLIBC_V_2_23=y
1315CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-powerpc-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-powerpc-linux/powerpc-linux-gnu.defconfig+3
......@@ -2,10 +2,13 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_POWERPC=y
67CT_ARCH_CPU="powerpc"
78CT_KERNEL_LINUX=y
9CT_OBSOLETE=y
810CT_LINUX_V_3_2=y
11CT_LINUX_VERSION="3.2.101"
912CT_BINUTILS_V_2_30=y
1013CT_GLIBC_V_2_17=y
1114CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/powerpc64-linux-gnu.defconfig+3
......@@ -2,12 +2,15 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_POWERPC=y
67CT_ARCH_CPU="power4"
78CT_ARCH_TUNE="power6"
89CT_ARCH_64=y
910CT_KERNEL_LINUX=y
11CT_OBSOLETE=y
1012CT_LINUX_V_3_2=y
13CT_LINUX_VERSION="3.2.101"
1114CT_BINUTILS_V_2_32=y
1215CT_GLIBC_V_2_17=y
1316CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/powerpc64-unknown-linux-musl.defconfig+2
......@@ -3,12 +3,14 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_POWERPC=y
78CT_ARCH_64=y
89CT_ARCH_ABI="elfv2"
910# CT_DEMULTILIB is not set
1011CT_KERNEL_LINUX=y
1112CT_LINUX_V_4_19=y
13CT_LINUX_VERSION="4.19.325"
1214CT_LIBC_MUSL=y
1315CT_MUSL_V_1_2_5=y
1416CT_BINUTILS_V_2_42=y
src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/powerpc64le-unknown-linux-gnu.defconfig+3
......@@ -3,13 +3,16 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_POWERPC=y
78CT_ARCH_LE=y
89CT_ARCH_64=y
910# CT_DEMULTILIB is not set
1011CT_ARCH_ARCH="powerpc64le"
1112CT_KERNEL_LINUX=y
13CT_OBSOLETE=y
1214CT_LINUX_V_3_10=y
15CT_LINUX_VERSION="3.10.108"
1316CT_GLIBC_V_2_17=y
1417CT_BINUTILS_V_2_42=y
1518CT_GCC_V_14=y
src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/powerpc64le-unknown-linux-musl.defconfig+2
......@@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_POWERPC=y
78CT_ARCH_LE=y
89CT_ARCH_64=y
......@@ -10,6 +11,7 @@ CT_ARCH_64=y
1011CT_ARCH_ARCH="powerpc64le"
1112CT_KERNEL_LINUX=y
1213CT_LINUX_V_4_19=y
14CT_LINUX_VERSION="4.19.325"
1315CT_LIBC_MUSL=y
1416CT_MUSL_V_1_2_5=y
1517CT_BINUTILS_V_2_42=y
src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig+2
......@@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y
33CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
44CT_USE_MIRROR=y
55CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
67CT_ARCH_RISCV=y
78# CT_DEMULTILIB is not set
89CT_ARCH_USE_MMU=y
......@@ -10,6 +11,7 @@ CT_ARCH_64=y
1011CT_ARCH_ARCH="rv64gc"
1112CT_KERNEL_LINUX=y
1213CT_LINUX_V_4_20=y
14CT_LINUX_VERSION="4.20.17"
1315CT_BINUTILS_V_2_40=y
1416CT_GLIBC_V_2_29=y
1517CT_GCC_V_8=y
src/ci/docker/host-x86_64/dist-s390x-linux/Dockerfile+1
......@@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/
44RUN sh /scripts/cross-apt-packages.sh
55
66COPY scripts/crosstool-ng.sh /scripts/
7COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/
78RUN sh /scripts/crosstool-ng.sh
89
910COPY scripts/rustbuild-setup.sh /scripts/
src/ci/docker/host-x86_64/dist-s390x-linux/s390x-linux-gnu.defconfig+3
......@@ -2,10 +2,13 @@ CT_CONFIG_VERSION="4"
22CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
33CT_USE_MIRROR=y
44CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
5CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y
56CT_ARCH_S390=y
67CT_ARCH_64=y
78CT_KERNEL_LINUX=y
9CT_OBSOLETE=y
810CT_LINUX_V_3_2=y
11CT_LINUX_VERSION="3.2.101"
912CT_BINUTILS_V_2_32=y
1013CT_GLIBC_V_2_17=y
1114CT_GCC_V_8=y
src/ci/docker/scripts/crosstool-ng-sha256-20260705.diff created+77
......@@ -0,0 +1,77 @@
1diff --git a/packages/linux/3.10.108/chksum b/packages/linux/3.10.108/chksum
2index 17c7f8ec..f6498231 100644
3--- a/packages/linux/3.10.108/chksum
4+++ b/packages/linux/3.10.108/chksum
5@@ -4,5 +4,5 @@ sha256 linux-3.10.108.tar.xz 3849ea8119517f605f9d53c57dd6c539af8d584c2f1d9031f4f
6 sha512 linux-3.10.108.tar.xz 2ed1bda124fbc0f03e7f4c4e5ddac73d15b82d24ff51f5dbb265cec7cc614b28f83923b5fc8df5e97a3244d2bbb861853f0f2a3894a0c64c5a08b489d4ae12ac
7 md5 linux-3.10.108.tar.gz b38e458f3a90ffa0815f2e2740bba7aa
8 sha1 linux-3.10.108.tar.gz 0b09e6fdc8152bea07a9d678119a23a35025d4d6
9-sha256 linux-3.10.108.tar.gz aff93454b2df33a0394253c8977c6d36c7205a423af6d8d4e3e1d67dfc9e07f8
10+sha256 linux-3.10.108.tar.gz b1711610cf3faf7194156dacdb98c63c1b7ffd02377269d7f75df63d823ccbba
11 sha512 linux-3.10.108.tar.gz 71c6f89a7620fecc8ce0f215b6aab52f6a6337b6474ae7447491a1ab4fc95eafa38e700cf667ec304220e9cbcaa669671b9ed15fe79cc679a4e4e9139b37ad8c
12diff --git a/packages/linux/3.2.101/chksum b/packages/linux/3.2.101/chksum
13index 1f9a68ba..7188ceeb 100644
14--- a/packages/linux/3.2.101/chksum
15+++ b/packages/linux/3.2.101/chksum
16@@ -4,5 +4,5 @@ sha256 linux-3.2.101.tar.xz 4453686b001685144f44c88d57c716fcb6e85ef8a2aad2f95d36
17 sha512 linux-3.2.101.tar.xz 1058369878610cb9e42021dc7feb2e6b2fa67541b0fb4152e526f63e5dfee1d7a63b2f1fb0cfe59097824a743ba74f81526dc706bdb61fc7f1c5e29972b139ed
18 md5 linux-3.2.101.tar.gz ac6286e2ff2a66be117c1de20bdb6c72
19 sha1 linux-3.2.101.tar.gz 8b2ab0dd4915e7517a26fa63112bde9b438d14d8
20-sha256 linux-3.2.101.tar.gz 0d02f47871e44fc12de452a8b41da119848a76d5f81159b8ae9ef57da5824712
21+sha256 linux-3.2.101.tar.gz 93e8391e029f131d5ba4b7ad76cc34b12f2c2244059604042f2297c4bde093f7
22 sha512 linux-3.2.101.tar.gz 3951bda6970658c2915a0a8e8b022f7fc28d0fa4a5a8ef37a3a48a5d33a328dba3220a13979887b0df0cc2ba7f4ee92c32bc34ec84c6c1b0e4a1727765d412e0
23diff --git a/packages/linux/4.14.329/chksum b/packages/linux/4.14.329/chksum
24index e5a318d3..44fa0469 100644
25--- a/packages/linux/4.14.329/chksum
26+++ b/packages/linux/4.14.329/chksum
27@@ -4,5 +4,5 @@ sha256 linux-4.14.329.tar.xz de36689d713ed17f8bc1286fe4b9afcdb9a3de3b6f1d6aff525
28 sha512 linux-4.14.329.tar.xz b7851bfdd9b5b778c6dcd4fe0376ae3851a93d0030050e57e29472be11785e3fd01c8b167f26f2c04c1b05c89aed309b24d77407aabdcbfb76173545236c1c7b
29 md5 linux-4.14.329.tar.gz 0a75f96e4a19bfdeb41ff9289a111318
30 sha1 linux-4.14.329.tar.gz 07f91c6f13ed3403d105d0a34b586f916f90c26c
31-sha256 linux-4.14.329.tar.gz b0b08ea229defc872bef5c5dbe2fccde5ce739ba0c15dc3bce17aa26e7c24e43
32+sha256 linux-4.14.329.tar.gz 3850511cf1822f3bb7c4f2dcfb47a4575dfc2dd9510b3a22be1225a0b7a316b3
33 sha512 linux-4.14.329.tar.gz 6056521d902d1681986a244f7edf12870eacfe39748d75a86ac1df0cec470f94eafe9fcd7c086fb55bdaff8eda97fdfbeaff3944b28500aa6a4334c511708508
34diff --git a/packages/linux/4.19.325/chksum b/packages/linux/4.19.325/chksum
35index 9219f096..e938f889 100644
36--- a/packages/linux/4.19.325/chksum
37+++ b/packages/linux/4.19.325/chksum
38@@ -4,5 +4,5 @@ sha256 linux-4.19.325.tar.xz 607bed7de5cda31a443df4c8a78dbe5e8a9ad31afde2a4d28fe
39 sha512 linux-4.19.325.tar.xz 4a2c5f358e9caf47061d707db67738e0d1b1f24aebeeaab81dc2701cc3793ab574a7e0a3a5df2f99d6ff1d777acdca1d885da87ee31098c5b901853d8b580310
40 md5 linux-4.19.325.tar.gz d8201f438135d2dc50302de5e6b7febc
41 sha1 linux-4.19.325.tar.gz 1a882796a187bbb2145d0e091ed370eed3d7f31b
42-sha256 linux-4.19.325.tar.gz 8f360bb8ba9fb692507f27596422c7ceddec5f7fed4d8f3df2b7656b6042cfee
43+sha256 linux-4.19.325.tar.gz 8753443636e475b506e08abd40059ec9b84904a115d206014f0c856dfe13a25e
44 sha512 linux-4.19.325.tar.gz 4e8cbfed3211b1c53122905ce588c421aedb05138581cd64986ddcba89b10ffcea8a3b1c63ec273abc02eac7c31f0f901e17677f4c3ed749b26fc47b75bce5f1
45diff --git a/packages/linux/4.20.17/chksum b/packages/linux/4.20.17/chksum
46index 0d77f052..d64edcfd 100644
47--- a/packages/linux/4.20.17/chksum
48+++ b/packages/linux/4.20.17/chksum
49@@ -4,5 +4,5 @@ sha256 linux-4.20.17.tar.xz d011245629b980d4c15febf080b54804aaf215167b514a3577fe
50 sha512 linux-4.20.17.tar.xz d048b2e1e88be90c1983acbe71931fc0e716919b433990bd42ab1bb635fc4fc5953667966432b2bc1256fcd5afc211c12ca3e41b7feccdb39b4ced05e6e4071d
51 md5 linux-4.20.17.tar.gz 6b9d049ddeb6cb54ecd2bd3d5931ecda
52 sha1 linux-4.20.17.tar.gz 4743162961123c9c475628ecc31cfa80d822992a
53-sha256 linux-4.20.17.tar.gz 830c472e5c0b4394936c347d70564dd661d8bed4ceb07f79dc8e8efdefd9bf73
54+sha256 linux-4.20.17.tar.gz 313b7bebb46084efbfcaf75f4ea6faf2e14c8cbc1711fcba483dc0a036c9acc1
55 sha512 linux-4.20.17.tar.gz 8d4ff845e500e42908a3103a5c08ae3fa76265716cc0c4f37c4712a4d1f0721bd4adbac275136213ee40f490a5650de6e9d5e246e8c700ac11d65ad3ebb74425
56diff --git a/packages/linux/4.4.302/chksum b/packages/linux/4.4.302/chksum
57index 9d2b041b..8dadd2f1 100644
58--- a/packages/linux/4.4.302/chksum
59+++ b/packages/linux/4.4.302/chksum
60@@ -4,5 +4,5 @@ sha256 linux-4.4.302.tar.xz 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9
61 sha512 linux-4.4.302.tar.xz 2eb03f08bd0a8ee1630b20bc01bfe28f3ff396aca8c88247cc4db3a5c41bcabb6d8385dff90040480f4990f51b538415dedf283a5bc3807ef85e3d982b369570
62 md5 linux-4.4.302.tar.gz 81f7f97ebc94e89311bb20e22b0e6004
63 sha1 linux-4.4.302.tar.gz 2160955ff98a3694ae0574d247cea293d91292af
64-sha256 linux-4.4.302.tar.gz 66271f9d9fce8596622e8154ca0ea160e46b78a5a6c967a15b55855f744d1b0b
65+sha256 linux-4.4.302.tar.gz a22ceab143d40f511203265e5a70d6cc5ec39163cd54fa281346d19176f64451
66 sha512 linux-4.4.302.tar.gz de6ad09783be1faf422e0b476d67768fff8bf1fcdc1e2ab27f915a26f7acdbecaa4a1a2385f78d3001e28ad83b3b55150eb2b996d1b64c6376f5f1d68af019f4
67diff --git a/packages/linux/5.19.16/chksum b/packages/linux/5.19.16/chksum
68index c16d312c..64ee13fa 100644
69--- a/packages/linux/5.19.16/chksum
70+++ b/packages/linux/5.19.16/chksum
71@@ -4,5 +4,5 @@ sha256 linux-5.19.16.tar.xz a1ebaf667e1059ae2d72aa6374a4d6e2febc0b8ccda6a124687a
72 sha512 linux-5.19.16.tar.xz 1ff662424830fbd48ac1d8c1aabd4d11a8eabc284c4fe3fdf803064d4f56d9c1b631a0fb60679bac40a4e05b77d5e6706a8fd52a5e025ef4f1231a6cc84bbbde
73 md5 linux-5.19.16.tar.gz 15c43c56b85175aacafaaa4ef1983298
74 sha1 linux-5.19.16.tar.gz cd7fb09335a4814a88fedf7ed064e6f10fd1c8db
75-sha256 linux-5.19.16.tar.gz 9b835ea04b0210ad0748829367acd84e09357c3dd6d0f48e31737a7f21e990ff
76+sha256 linux-5.19.16.tar.gz bbf0ead65559250e0784c13d4f9716b7f917a1d3a4e00f671f3994cc6990bb02
77 sha512 linux-5.19.16.tar.gz 9b0330c7257aecba3f6f97566014c03d8012e1b2c5c1ee2c3b5ea1b7a2ca01addf346b5235d772b26e4312b0fc1bb529689390445668606ed96e66174cf93341
src/ci/docker/scripts/crosstool-ng.sh+8
......@@ -1,6 +1,8 @@
11#!/bin/sh
22set -ex
33
4# ignore-tidy-linelength
5
46CT_NG=1.28.0
57
68url="https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-$CT_NG.tar.gz"
......@@ -11,6 +13,12 @@ cd crosstool-ng-crosstool-ng-$CT_NG
1113# "download source of zlib is invalid now"
1214sed -e "s|zlib.net/'|zlib.net/fossils'|" -i packages/zlib/package.desc
1315
16# FIXME(#158718): patch crosstools-ng known-good kernel artifact SHA256
17# checksums to the artifacts we mirror in `ci-mirrors`.
18# See
19# <https://github.com/rust-lang/ci-mirrors/blob/b474b4bb35108dab668907172c858854f209c809/files/rustc/kernel.toml>.
20patch -p1 </scripts/crosstool-ng-sha256-20260705.diff
21
1422./bootstrap
1523./configure --prefix=/usr/local
1624make -j$(nproc)