Run sparc64-unknown-linux-gnu tests on qemu system
This commit is contained in:
parent
a6c709142d
commit
6fa3870e5b
|
@ -2,13 +2,18 @@
|
||||||
FROM ubuntu:17.04
|
FROM ubuntu:17.04
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
gcc libc6-dev qemu-user ca-certificates \
|
curl ca-certificates \
|
||||||
gcc-sparc64-linux-gnu libc6-dev-sparc64-cross
|
gcc libc6-dev \
|
||||||
|
gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \
|
||||||
|
qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \
|
||||||
|
p7zip-full cpio
|
||||||
|
|
||||||
|
COPY linux-sparc64.sh /
|
||||||
|
RUN bash /linux-sparc64.sh
|
||||||
|
|
||||||
|
COPY test-runner-linux /
|
||||||
|
|
||||||
ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \
|
ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \
|
||||||
# TODO: in theory we should execute this, but qemu segfaults immediately
|
CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux sparc64" \
|
||||||
# see https://github.com/rust-lang/libc/issues/822
|
|
||||||
# CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-sparc64 -L /usr/sparc64-linux-gnu" \
|
|
||||||
CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER=true \
|
|
||||||
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
|
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
|
||||||
PATH=$PATH:/rust/bin
|
PATH=$PATH:/rust/bin
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
mkdir -m 777 /qemu
|
||||||
|
cd /qemu
|
||||||
|
|
||||||
|
curl -LO https://cdimage.debian.org/cdimage/ports/debian-9.0-sparc64-NETINST-1.iso
|
||||||
|
7z e debian-9.0-sparc64-NETINST-1.iso boot/initrd.gz
|
||||||
|
7z e debian-9.0-sparc64-NETINST-1.iso boot/sparc64
|
||||||
|
mv sparc64 kernel
|
||||||
|
rm debian-9.0-sparc64-NETINST-1.iso
|
||||||
|
|
||||||
|
mkdir init
|
||||||
|
cd init
|
||||||
|
gunzip -c ../initrd.gz | cpio -id
|
||||||
|
rm ../initrd.gz
|
||||||
|
cp /usr/sparc64-linux-gnu/lib/libgcc_s.so.1 usr/lib/
|
||||||
|
chmod a+w .
|
Loading…
Reference in New Issue