Skip to content

Commit 4fe8de0

Browse files
ianksgarasubo
authored andcommitted
Support linux/arm64/v8 for most Ubuntu-based images
1 parent c7dee4d commit 4fe8de0

28 files changed

+218
-130
lines changed

.changes/1597.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "added",
3+
"description": "Add docker platform support for `linux/arm64/v8` target for many Ubuntu-based targets"
4+
}

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/Dockerfile.aarch64-unknown-linux-gnu

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-aarch64-linux-gnu \
17-
gfortran-aarch64-linux-gnu \
18-
libc6-dev-arm64-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=aarch64-linux-gnu-
16+
ENV CROSS_SYSROOT=/usr/aarch64-linux-gnu
17+
18+
COPY apt-cross-essential.sh /
19+
RUN TARGET_ARCH=arm64 TARGET_TRIPLE=aarch64-linux-gnu /apt-cross-essential.sh
1920

2021
COPY deny-debian-packages.sh /
2122
RUN TARGET_ARCH=arm64 /deny-debian-packages.sh \
@@ -34,8 +35,6 @@ RUN /linux-image.sh aarch64
3435
COPY linux-runner base-runner.sh /
3536
COPY toolchain.cmake /opt/toolchain.cmake
3637

37-
ENV CROSS_TOOLCHAIN_PREFIX=aarch64-linux-gnu-
38-
ENV CROSS_SYSROOT=/usr/aarch64-linux-gnu
3938
ENV CROSS_TARGET_RUNNER="/linux-runner aarch64"
4039
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
4140
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.arm-unknown-linux-gnueabi

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ RUN /cmake.sh
1010
COPY xargo.sh /
1111
RUN /xargo.sh
1212

13-
FROM cross-base as build
13+
FROM cross-base AS build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-arm-linux-gnueabi \
17-
gfortran-arm-linux-gnueabi \
18-
libc6-dev-armel-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
16+
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
17+
18+
COPY essential.sh /
19+
RUN TARGET_ARCH=armel TARGET_TRIPLE=arm-linux-gnueabi /essential.sh
1920

2021
COPY deny-debian-packages.sh /
2122
RUN TARGET_ARCH=armel /deny-debian-packages.sh \
@@ -28,8 +29,6 @@ RUN /qemu.sh arm
2829
COPY qemu-runner base-runner.sh /
2930
COPY toolchain.cmake /opt/toolchain.cmake
3031

31-
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
32-
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
3332
ENV CROSS_TARGET_RUNNER="/qemu-runner arm"
3433
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3534
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.armv5te-unknown-linux-gnueabi

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-arm-linux-gnueabi \
17-
gfortran-arm-linux-gnueabi \
18-
crossbuild-essential-armel \
19-
libc6-dev-armel-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
16+
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
17+
18+
COPY apt-cross-essential.sh /
19+
RUN TARGET_ARCH=armel TARGET_TRIPLE=arm-linux-gnueabi /apt-cross-essential.sh
2020

2121
COPY deny-debian-packages.sh /
2222
RUN TARGET_ARCH=armel /deny-debian-packages.sh \
@@ -29,8 +29,6 @@ RUN /qemu.sh arm
2929
COPY qemu-runner base-runner.sh /
3030
COPY toolchain.cmake /opt/toolchain.cmake
3131

32-
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
33-
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
3432
ENV CROSS_TARGET_RUNNER="/qemu-runner arm"
3533
ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3634
CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.armv7-unknown-linux-gnueabi

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,18 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get install --assume-yes --no-install-recommends \
16-
g++-arm-linux-gnueabi \
17-
gfortran-arm-linux-gnueabi \
18-
libc6-dev-armel-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
16+
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
17+
18+
COPY apt-cross-essential.sh /
19+
RUN TARGET_ARCH=armel TARGET_TRIPLE=arm-linux-gnueabi /apt-cross-essential.sh
1920

2021
COPY qemu.sh /
2122
RUN /qemu.sh arm
2223

2324
COPY qemu-runner base-runner.sh /
2425
COPY toolchain.cmake /opt/toolchain.cmake
2526

26-
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
27-
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
2827
ENV CROSS_TARGET_RUNNER="/qemu-runner armv7"
2928
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3029
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.armv7-unknown-linux-gnueabihf

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ RUN /cmake.sh
1010
COPY xargo.sh /
1111
RUN /xargo.sh
1212

13-
FROM cross-base as build
13+
FROM cross-base AS build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-arm-linux-gnueabihf \
17-
gfortran-arm-linux-gnueabihf \
18-
libc6-dev-armhf-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabihf-
16+
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabihf
17+
18+
COPY essential.sh /
19+
RUN TARGET_ARCH=armhf TARGET_TRIPLE=arm-linux-gnueabihf /essential.sh
1920

2021
COPY deny-debian-packages.sh /
2122
RUN TARGET_ARCH=armhf /deny-debian-packages.sh \
@@ -34,8 +35,6 @@ RUN /linux-image.sh armv7
3435
COPY linux-runner base-runner.sh /
3536
COPY toolchain.cmake /opt/toolchain.cmake
3637

37-
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabihf-
38-
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabihf
3938
ENV CROSS_TARGET_RUNNER="/linux-runner armv7hf"
4039
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
4140
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.i586-unknown-linux-gnu

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-i686-linux-gnu \
17-
gfortran-i686-linux-gnu \
18-
libc6-dev-i386-cross
15+
COPY apt-cross-essential.sh /
16+
RUN TARGET_ARCH=i386 TARGET_TRIPLE=i686-linux-gnu /apt-cross-essential.sh
1917

2018
COPY deny-debian-packages.sh /
2119
RUN TARGET_ARCH=i386 /deny-debian-packages.sh \

docker/Dockerfile.i686-unknown-linux-gnu

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
16-
g++-i686-linux-gnu \
17-
gfortran-i686-linux-gnu \
18-
libc6-dev-i386-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=i686-linux-gnu-
16+
ENV CROSS_SYSROOT=/usr/i686-linux-gnu
17+
18+
COPY apt-cross-essential.sh /
19+
RUN TARGET_ARCH=i386 TARGET_TRIPLE=i686-linux-gnu /apt-cross-essential.sh
1920

2021
COPY deny-debian-packages.sh /
2122
RUN TARGET_ARCH=i386 /deny-debian-packages.sh \
@@ -34,8 +35,6 @@ RUN /linux-image.sh i686
3435
COPY linux-runner base-runner.sh /
3536
COPY toolchain.cmake /opt/toolchain.cmake
3637

37-
ENV CROSS_TOOLCHAIN_PREFIX=i686-linux-gnu-
38-
ENV CROSS_SYSROOT=/usr/i686-linux-gnu
3938
ENV CROSS_TARGET_RUNNER="/linux-runner i686"
4039
ENV CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
4140
CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \

docker/Dockerfile.mips-unknown-linux-gnu

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,18 @@ RUN /xargo.sh
1212

1313
FROM cross-base as build
1414

15-
RUN apt-get install --assume-yes --no-install-recommends \
16-
g++-mips-linux-gnu \
17-
gfortran-mips-linux-gnu \
18-
libc6-dev-mips-cross
15+
ENV CROSS_TOOLCHAIN_PREFIX=mips-linux-gnu-
16+
ENV CROSS_SYSROOT=/usr/mips-linux-gnu
17+
18+
COPY apt-cross-essential.sh /
19+
RUN TARGET_ARCH=mips TARGET_TRIPLE=mips-linux-gnu /apt-cross-essential.sh
1920

2021
COPY qemu.sh /
2122
RUN /qemu.sh mips
2223

2324
COPY qemu-runner base-runner.sh /
2425
COPY toolchain.cmake /opt/toolchain.cmake
2526

26-
ENV CROSS_TOOLCHAIN_PREFIX=mips-linux-gnu-
27-
ENV CROSS_SYSROOT=/usr/mips-linux-gnu
2827
ENV CROSS_TARGET_RUNNER="/qemu-runner mips"
2928
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3029
CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \

0 commit comments

Comments
 (0)