From a35c4419efbc63c5769865c032754331e9765be0 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 14:47:26 -0200 Subject: [PATCH 01/24] Add qemu-system for armv7-unknown-linux-gnueabihf --- .travis.yml | 2 +- .../armv7-unknown-linux-gnueabihf/Dockerfile | 21 ++++++++++++++----- docker/linux-image.sh | 4 ++++ docker/linux-runner | 4 ++++ 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4525f9c79..84b2cf079 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ matrix: # Linux - env: TARGET=aarch64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" CROSS_DEBUG=1 - env: TARGET=arm-unknown-linux-gnueabi CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - - env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 + - env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=i586-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 diff --git a/docker/armv7-unknown-linux-gnueabihf/Dockerfile b/docker/armv7-unknown-linux-gnueabihf/Dockerfile index fbb5a02ac..6ea948fc6 100644 --- a/docker/armv7-unknown-linux-gnueabihf/Dockerfile +++ b/docker/armv7-unknown-linux-gnueabihf/Dockerfile @@ -16,15 +16,26 @@ COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ bash /cmake.sh 3.5.1 -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-arm-linux-gnueabihf \ - libc6-dev-armhf-cross && \ - bash /openssl.sh linux-armv4 arm-linux-gnueabihf- && \ - bash /qemu.sh arm + libc6-dev-armhf-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-armv4 arm-linux-gnueabihf- + +COPY qemu.sh / +RUN bash /qemu.sh arm linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh armv7 + +COPY linux-runner / ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ - CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER=qemu-arm \ + CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="/linux-runner armv7" \ CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \ CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ \ OPENSSL_DIR=/openssl \ diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 23ecc65ba..bf0498c62 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -11,6 +11,10 @@ main() { arch=arm64 kernel=$kversion-arm64 ;; + armv7) + arch=armhf + kernel=4.9.0-4-armmp + ;; *) echo "Invalid arch: $arch" exit 1 diff --git a/docker/linux-runner b/docker/linux-runner index ad38574d5..cb585c245 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -42,6 +42,10 @@ case "$arch" in aarch64) opt="-machine virt -cpu cortex-a57" ;; + armv7) + opt="-machine virt" + arch="arm" + ;; esac ( From 41582512bc2a5bba8d31de08e5d835fab57bcf2a Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 16:18:34 -0200 Subject: [PATCH 02/24] Add qemu-{user,system} for i686-unknown-linux-gnu --- .travis.yml | 2 +- docker/i686-unknown-linux-gnu/Dockerfile | 21 +++++++++++++++++---- docker/linux-image.sh | 6 +++++- docker/linux-runner | 17 ++++++++++++++++- 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 84b2cf079..a984ca1aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ matrix: - env: TARGET=arm-unknown-linux-gnueabi CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=i586-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - - env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 + - env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="native qemu-user qemu-system" - env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 diff --git a/docker/i686-unknown-linux-gnu/Dockerfile b/docker/i686-unknown-linux-gnu/Dockerfile index 0c4602209..cdf9191fd 100644 --- a/docker/i686-unknown-linux-gnu/Dockerfile +++ b/docker/i686-unknown-linux-gnu/Dockerfile @@ -16,11 +16,24 @@ COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ bash /cmake.sh 3.5.1 -COPY openssl.sh / RUN apt-get install -y --no-install-recommends \ - g++-multilib && \ - bash /openssl.sh linux-elf "" -m32 + g++-multilib + +COPY openssl.sh / +RUN bash /openssl.sh linux-elf "" -m32 + +COPY qemu.sh / +RUN bash /qemu.sh i386 linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh i686 + +COPY linux-runner / -ENV OPENSSL_DIR=/openssl \ +ENV CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner i686" \ + OPENSSL_DIR=/openssl \ OPENSSL_INCLUDE_DIR=/openssl/include \ OPENSSL_LIB_DIR=/openssl/lib diff --git a/docker/linux-image.sh b/docker/linux-image.sh index bf0498c62..0dac89ca1 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -13,7 +13,11 @@ main() { ;; armv7) arch=armhf - kernel=4.9.0-4-armmp + kernel=$kversion-armmp + ;; + i686) + arch=i386 + kernel=$kversion-686 ;; *) echo "Invalid arch: $arch" diff --git a/docker/linux-runner b/docker/linux-runner index cb585c245..69729d16f 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -13,6 +13,17 @@ fi arch=$1 shift +# select qemu arch +qarch=$arch +case "$arch" in + armv7) + qarch="arm" + ;; + i686) + qarch="i386" + ;; +esac + case "$CROSS_RUNNER" in native) exec "${@}" @@ -44,7 +55,11 @@ case "$arch" in ;; armv7) opt="-machine virt" - arch="arm" + ;; + i686) + opt="-append console=ttyS0" + driver9p="virtio-9p-pci" + drivernet="virtio-net-pci" ;; esac From d15c941e08b03c2cb0840552059db0fd497e6921 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 21:02:21 -0200 Subject: [PATCH 03/24] Add qemu-system for {mips,mipsel}-unknown-linux-gnu --- .travis.yml | 4 +-- docker/linux-image.sh | 3 ++ docker/linux-runner | 34 ++++++++++++++++++---- docker/mips-unknown-linux-gnu/Dockerfile | 21 +++++++++---- docker/mipsel-unknown-linux-gnu/Dockerfile | 21 +++++++++---- 5 files changed, 65 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index a984ca1aa..57b4a52a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,10 +12,10 @@ matrix: - env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=i586-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="native qemu-user qemu-system" - - env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 + - env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" + - env: TARGET=mipsel-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - - env: TARGET=mipsel-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 0dac89ca1..748944d87 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -19,6 +19,9 @@ main() { arch=i386 kernel=$kversion-686 ;; + mips|mipsel) + kernel=$kversion-4kc-malta + ;; *) echo "Invalid arch: $arch" exit 1 diff --git a/docker/linux-runner b/docker/linux-runner index 69729d16f..07fa0d527 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -61,6 +61,15 @@ case "$arch" in driver9p="virtio-9p-pci" drivernet="virtio-net-pci" ;; + mips|mipsel) + # avoid kernel error + # https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/ + opt="-append nokaslr" + # fails if > 1 + n=1 + driver9p="virtio-9p-pci" + drivernet="virtio-net-pci" + ;; esac ( @@ -111,9 +120,22 @@ esac ) 200>$LOCK -dbclient \ - -t \ - -p 10022 \ - -y -y \ - root@localhost \ - "${@}" +prog="$1" +dir=$(dirname "$1") +shift + +ssh="dbclient -t -p 10022 -y -y root@localhost" +# In some system, programs in 9p file system fails to execute. +# The workaround is to copy the file to the ramdisk fs and then execute it. +# See https://github.com/chaos/diod/issues/35 +case "$arch" in + mips|mipsel) + $ssh mkdir -p "/tmp/$dir" ";" cp "$prog" "/tmp/$prog" ";" "/tmp/$prog" "${@}" + R=$! + $ssh rm -f "/tmp/$prog" + exit $R + ;; + *) + exec $ssh "$prog" "${@}" + ;; +esac diff --git a/docker/mips-unknown-linux-gnu/Dockerfile b/docker/mips-unknown-linux-gnu/Dockerfile index cff70d41d..c46d47fe4 100644 --- a/docker/mips-unknown-linux-gnu/Dockerfile +++ b/docker/mips-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-mips-linux-gnu \ - libc6-dev-mips-cross && \ - bash /openssl.sh linux-mips32 mips-linux-gnu- && \ - bash /qemu.sh mips + libc6-dev-mips-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-mips32 mips-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh mips linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh mips + +COPY linux-runner / ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \ - CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER=qemu-mips \ + CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner mips" \ CC_mips_unknown_linux_gnu=mips-linux-gnu-gcc \ CXX_mips_unknown_linux_gnu=mips-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ diff --git a/docker/mipsel-unknown-linux-gnu/Dockerfile b/docker/mipsel-unknown-linux-gnu/Dockerfile index c941b9522..9f43dff34 100644 --- a/docker/mipsel-unknown-linux-gnu/Dockerfile +++ b/docker/mipsel-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-mipsel-linux-gnu \ - libc6-dev-mipsel-cross && \ - bash /openssl.sh linux-mips32 mipsel-linux-gnu- && \ - bash /qemu.sh mipsel + libc6-dev-mipsel-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-mips32 mipsel-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh mipsel linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh mipsel + +COPY linux-runner / ENV CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER=mipsel-linux-gnu-gcc \ - CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_RUNNER=qemu-mipsel \ + CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner mipsel" \ CC_mipsel_unknown_linux_gnu=mipsel-linux-gnu-gcc \ CXX_mipsel_unknown_linux_gnu=mipsel-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ From 7710561b289a224be63b0776c7073c41fa81b13e Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 21:41:10 -0200 Subject: [PATCH 04/24] Add qemu-system for mips64el-unknown-linux-gnuabi64 --- .travis.yml | 2 +- docker/linux-image.sh | 3 +++ docker/linux-runner | 12 +++++++++-- .../Dockerfile | 21 ++++++++++++++----- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 57b4a52a9..0568e617f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ matrix: - env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=mipsel-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 + - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 748944d87..ad5ab7b81 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -22,6 +22,9 @@ main() { mips|mipsel) kernel=$kversion-4kc-malta ;; + mips64el) + kernel=$kversion-5kc-malta + ;; *) echo "Invalid arch: $arch" exit 1 diff --git a/docker/linux-runner b/docker/linux-runner index 07fa0d527..bfafb2ee5 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -70,6 +70,14 @@ case "$arch" in driver9p="virtio-9p-pci" drivernet="virtio-net-pci" ;; + mips64el) + # avoid kernel error + # https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/ + opt="-append nokaslr -cpu MIPS64R2-generic" + n=1 + driver9p="virtio-9p-pci" + drivernet="virtio-net-pci" + ;; esac ( @@ -125,11 +133,11 @@ dir=$(dirname "$1") shift ssh="dbclient -t -p 10022 -y -y root@localhost" -# In some system, programs in 9p file system fails to execute. +# In some system, programs in 9p file system fails to execute (Socket operation on non-socket) # The workaround is to copy the file to the ramdisk fs and then execute it. # See https://github.com/chaos/diod/issues/35 case "$arch" in - mips|mipsel) + mips|mipsel|mips64el) $ssh mkdir -p "/tmp/$dir" ";" cp "$prog" "/tmp/$prog" ";" "/tmp/$prog" "${@}" R=$! $ssh rm -f "/tmp/$prog" diff --git a/docker/mips64el-unknown-linux-gnuabi64/Dockerfile b/docker/mips64el-unknown-linux-gnuabi64/Dockerfile index d54a04040..e275615ff 100644 --- a/docker/mips64el-unknown-linux-gnuabi64/Dockerfile +++ b/docker/mips64el-unknown-linux-gnuabi64/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-mips64el-linux-gnuabi64 \ - libc6-dev-mips64el-cross && \ - bash /openssl.sh linux64-mips64 mips64el-linux-gnuabi64- && \ - bash /qemu.sh mips64el + libc6-dev-mips64el-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux64-mips64 mips64el-linux-gnuabi64- + +COPY qemu.sh / +RUN bash /qemu.sh mips64el linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh mips64el + +COPY linux-runner / ENV CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc \ - CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER=qemu-mips64el \ + CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER="/linux-runner mips64el" \ CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc \ CXX_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-g++ \ OPENSSL_DIR=/openssl \ From f1c1a64ce7e50d5dd899a0c309e4ef5dc185afb2 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 22:23:45 -0200 Subject: [PATCH 05/24] Add qemu-system for powerpc64le-unknown-linux-gnu --- .travis.yml | 2 +- docker/linux-image.sh | 4 ++++ docker/linux-runner | 12 +++++++++++ .../powerpc64le-unknown-linux-gnu/Dockerfile | 21 ++++++++++++++----- docker/qemu.sh | 6 +++++- 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0568e617f..89db6ec5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ matrix: - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 + - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 - env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index ad5ab7b81..ebf2bf02f 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -25,6 +25,10 @@ main() { mips64el) kernel=$kversion-5kc-malta ;; + powerpc64le) + arch=ppc64el + kernel=$kversion-powerpc64le + ;; *) echo "Invalid arch: $arch" exit 1 diff --git a/docker/linux-runner b/docker/linux-runner index bfafb2ee5..2d489d83c 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -22,6 +22,13 @@ case "$arch" in i686) qarch="i386" ;; + powerpc64le) + if [ "$CROSS_RUNNER" = "qemu-user" ]; then + qarch="ppc64le" + else + qarch="ppc64" + fi + ;; esac case "$CROSS_RUNNER" in @@ -78,6 +85,11 @@ case "$arch" in driver9p="virtio-9p-pci" drivernet="virtio-net-pci" ;; + powerpc64le) + opt="-append console=hvc0 --nodefaults -serial stdio" + driver9p="virtio-9p-pci" + drivernet="virtio-net-pci" + ;; esac ( diff --git a/docker/powerpc64le-unknown-linux-gnu/Dockerfile b/docker/powerpc64le-unknown-linux-gnu/Dockerfile index 0531bd0aa..134d1facf 100644 --- a/docker/powerpc64le-unknown-linux-gnu/Dockerfile +++ b/docker/powerpc64le-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-powerpc64le-linux-gnu \ - libc6-dev-ppc64el-cross && \ - bash /openssl.sh linux-ppc64le powerpc64le-linux-gnu- && \ - bash /qemu.sh ppc64le + libc6-dev-ppc64el-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-ppc64le powerpc64le-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh ppc64le linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh powerpc64le + +COPY linux-runner / ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \ - CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64le \ + CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner powerpc64le" \ CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc \ CXX_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ diff --git a/docker/qemu.sh b/docker/qemu.sh index 45b1a4bb4..704f7288a 100644 --- a/docker/qemu.sh +++ b/docker/qemu.sh @@ -126,7 +126,11 @@ EOF local virtfs="" case "$softmmu" in softmmu) - targets="$targets,$arch-softmmu" + if [ "$arch" = "ppc64le" ]; then + targets="$targets,ppc64-softmmu" + else + targets="$targets,$arch-softmmu" + fi virtfs="--enable-virtfs" ;; "") From e9d72985295f114187ba0afa3f59174f4d6388f7 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 22:38:04 -0200 Subject: [PATCH 06/24] Add qemu-system for s390x-unknown-linux-gnu cargo run works, but cargo test fails... qemu or rust bug? --- docker/linux-image.sh | 4 ++++ docker/linux-runner | 6 +++++- docker/s390x-unknown-linux-gnu/Dockerfile | 21 ++++++++++++++++----- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index ebf2bf02f..3c93419a8 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -29,6 +29,10 @@ main() { arch=ppc64el kernel=$kversion-powerpc64le ;; + s390x) + arch=s390x + kernel=$kversion-s390x + ;; *) echo "Invalid arch: $arch" exit 1 diff --git a/docker/linux-runner b/docker/linux-runner index 2d489d83c..2e28da31c 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -72,7 +72,6 @@ case "$arch" in # avoid kernel error # https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/ opt="-append nokaslr" - # fails if > 1 n=1 driver9p="virtio-9p-pci" drivernet="virtio-net-pci" @@ -90,6 +89,11 @@ case "$arch" in driver9p="virtio-9p-pci" drivernet="virtio-net-pci" ;; + s390x) + n=1 + driver9p="virtio-9p-ccw" + drivernet="virtio-net-ccw" + ;; esac ( diff --git a/docker/s390x-unknown-linux-gnu/Dockerfile b/docker/s390x-unknown-linux-gnu/Dockerfile index 4ebd51e76..a939d7515 100644 --- a/docker/s390x-unknown-linux-gnu/Dockerfile +++ b/docker/s390x-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-s390x-linux-gnu \ - libc6-dev-s390x-cross && \ - bash /openssl.sh linux64-s390x s390x-linux-gnu- && \ - bash /qemu.sh s390x + libc6-dev-s390x-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux64-s390x s390x-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh s390x linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh s390x + +COPY linux-runner / ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \ - CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER=qemu-s390x \ + CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner s390x" \ CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \ CXX_s390x_unknown_linux_gnu=s390x-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ From de9c6e24426fa09c725c91bc233cd254a03b6e49 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Fri, 1 Dec 2017 23:20:03 -0200 Subject: [PATCH 07/24] Add qemu-{user,system} for x86_64-unknown-linux-gnu --- .travis.yml | 2 +- docker/linux-image.sh | 7 ++++++- docker/linux-runner | 19 +++++++------------ docker/x86_64-unknown-linux-gnu/Dockerfile | 22 ++++++++++++++++++---- 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 89db6ec5e..43d056561 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ matrix: - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 - - env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1 + - env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1 RUNNERS="native qemu-user qemu-system" # Linux musl - env: TARGET=aarch64-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 3c93419a8..c5bf50fb6 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -33,6 +33,10 @@ main() { arch=s390x kernel=$kversion-s390x ;; + x86_64) + arch=amd64 + kernel=$kversion-amd64 + ;; *) echo "Invalid arch: $arch" exit 1 @@ -65,6 +69,7 @@ main() { cp /etc/dpkg/dpkg.cfg.d/multiarch /etc/dpkg/dpkg.cfg.d/multiarch.bak fi dpkg --add-architecture $arch || echo "foreign-architecture $arch" > /etc/dpkg/dpkg.cfg.d/multiarch + # Add debian keys apt-key adv --recv-key --keyserver keyserver.ubuntu.com EF0F382A1A7B6500 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 9D6D8F6BC857C906 @@ -79,7 +84,7 @@ main() { dropbear-bin:$arch \ libc6:$arch \ libgcc1:$arch \ - libssl1*:$arch \ + libssl1.1:$arch \ libstdc++6:$arch \ linux-image-$kernel:$arch \ ncurses-base \ diff --git a/docker/linux-runner b/docker/linux-runner index 2e28da31c..49fa8085e 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -52,47 +52,42 @@ esac n=$(nproc) n=$(( n > 8 ? 8 : n )) memory=1G -driver9p="virtio-9p-device" -drivernet="virtio-net-device" +driver9p="virtio-9p-pci" +drivernet="virtio-net-pci" # select qemu parameters case "$arch" in aarch64) opt="-machine virt -cpu cortex-a57" + driver9p="virtio-9p-device" + drivernet="virtio-net-device" ;; armv7) opt="-machine virt" ;; i686) opt="-append console=ttyS0" - driver9p="virtio-9p-pci" - drivernet="virtio-net-pci" ;; mips|mipsel) # avoid kernel error # https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/ opt="-append nokaslr" n=1 - driver9p="virtio-9p-pci" - drivernet="virtio-net-pci" ;; mips64el) # avoid kernel error # https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/ opt="-append nokaslr -cpu MIPS64R2-generic" n=1 - driver9p="virtio-9p-pci" - drivernet="virtio-net-pci" ;; powerpc64le) opt="-append console=hvc0 --nodefaults -serial stdio" - driver9p="virtio-9p-pci" - drivernet="virtio-net-pci" ;; s390x) n=1 - driver9p="virtio-9p-ccw" - drivernet="virtio-net-ccw" + ;; + x86_64) + opt="-append console=ttyS0" ;; esac diff --git a/docker/x86_64-unknown-linux-gnu/Dockerfile b/docker/x86_64-unknown-linux-gnu/Dockerfile index 201a98e3a..1bde1a194 100644 --- a/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -16,12 +16,26 @@ COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ bash /cmake.sh 3.5.1 -COPY openssl.sh / RUN apt-get install -y --no-install-recommends \ g++ \ - zlib1g-dev && \ - bash /openssl.sh linux-x86_64 + zlib1g-dev + +COPY openssl.sh / +RUN bash /openssl.sh linux-x86_64 + +COPY qemu.sh / +RUN bash /qemu.sh x86_64 linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh x86_64 + +COPY linux-runner / + -ENV OPENSSL_DIR=/openssl \ +ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner x86_64" \ + OPENSSL_DIR=/openssl \ OPENSSL_INCLUDE_DIR=/openssl/include \ OPENSSL_LIB_DIR=/openssl/lib From 8a45c9591afa58ada1cfe738674b1bf9cae8657f Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sat, 2 Dec 2017 11:09:49 -0200 Subject: [PATCH 08/24] Add qemu-system for powerpc64-unknown-linux-gnu --- .travis.yml | 2 +- docker/linux-image.sh | 20 +++++++++++++----- docker/linux-runner | 5 ++++- docker/powerpc64-unknown-linux-gnu/Dockerfile | 21 ++++++++++++++----- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 43d056561..36cb0016e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ matrix: - env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 - - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 + - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index c5bf50fb6..a80c36560 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -5,6 +5,9 @@ main() { local arch=$1 \ kversion=4.9.0-8 + local debsource="deb http://http.debian.net/debian/ stretch main" + debsource="$debsource\ndeb http://security.debian.org/ stretch/updates main" + # select debian arch and kernel version case $arch in aarch64) @@ -25,6 +28,14 @@ main() { mips64el) kernel=$kversion-5kc-malta ;; + powerpc64) + arch=ppc64 + kernel=4.14.0-1-powerpc64 + debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" + debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" + # sid version of dropbear requeries this depencendies + deps="libtommath1:ppc64 libtomcrypt1:ppc64 libgmp10:ppc64" + ;; powerpc64le) arch=ppc64el kernel=$kversion-powerpc64le @@ -59,10 +70,7 @@ main() { # Download packages mv /etc/apt/sources.list /etc/apt/sources.list.bak - echo "deb http://http.debian.net/debian/ stretch main" > \ - /etc/apt/sources.list - echo "deb http://security.debian.org/ stretch/updates main" >> \ - /etc/apt/sources.list + echo -e "$debsource" > /etc/apt/sources.list # Old ubuntu does not support --add-architecture, so we directly change multiarch file if [ -f /etc/dpkg/dpkg.cfg.d/multiarch ]; then @@ -75,11 +83,13 @@ main() { apt-key adv --recv-key --keyserver keyserver.ubuntu.com 9D6D8F6BC857C906 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8B48AD6246925553 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 7638D0442B90D010 + apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8BC3A7D46F930576 # ports apt-get update mkdir -p -m 777 /qemu/$arch cd /qemu/$arch - apt-get -t stretch -d --no-install-recommends download \ + apt-get -d --no-install-recommends download \ + $deps \ busybox:$arch \ dropbear-bin:$arch \ libc6:$arch \ diff --git a/docker/linux-runner b/docker/linux-runner index 49fa8085e..e4a786a60 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -22,6 +22,9 @@ case "$arch" in i686) qarch="i386" ;; + powerpc64) + qarch="ppc64" + ;; powerpc64le) if [ "$CROSS_RUNNER" = "qemu-user" ]; then qarch="ppc64le" @@ -80,7 +83,7 @@ case "$arch" in opt="-append nokaslr -cpu MIPS64R2-generic" n=1 ;; - powerpc64le) + powerpc64|powerpc64le) opt="-append console=hvc0 --nodefaults -serial stdio" ;; s390x) diff --git a/docker/powerpc64-unknown-linux-gnu/Dockerfile b/docker/powerpc64-unknown-linux-gnu/Dockerfile index 7b858e02b..9216c0f3a 100644 --- a/docker/powerpc64-unknown-linux-gnu/Dockerfile +++ b/docker/powerpc64-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-powerpc64-linux-gnu \ - libc6-dev-ppc64-cross && \ - bash /openssl.sh linux-ppc64 powerpc64-linux-gnu- && \ - bash /qemu.sh ppc64 + libc6-dev-ppc64-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-ppc64 powerpc64-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh ppc64 linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh powerpc64 + +COPY linux-runner / ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \ - CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64 \ + CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner powerpc64" \ CC_powerpc64_unknown_linux_gnu=powerpc64-linux-gnu-gcc \ CXX_powerpc64_unknown_linux_gnu=powerpc64-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ From bb540e09b91ce1c420df53b02351588d1d982480 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sat, 2 Dec 2017 11:42:45 -0200 Subject: [PATCH 09/24] Add qemu-system for sparc64-unknown-linux-gnu cargo test fails, but cargo run works. qemu or rust bug? --- docker/linux-image.sh | 13 ++++++++++++- docker/linux-runner | 8 ++++++-- docker/sparc64-unknown-linux-gnu/Dockerfile | 21 ++++++++++++++++----- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index a80c36560..1c8835250 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -44,6 +44,12 @@ main() { arch=s390x kernel=$kversion-s390x ;; + sparc64) + kernel=4.14.0-1-sparc64 + debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" + debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" + deps="libtommath1:sparc64 libtomcrypt1:sparc64 libgmp10:sparc64" + ;; x86_64) arch=amd64 kernel=$kversion-amd64 @@ -109,7 +115,12 @@ main() { done # kernel - cp $root/boot/vmlinu* kernel + if [ "$arch" = "sparc64" ]; then + # the but fails if the kernel is compressed + zcat $root/boot/vmlinu* > kernel + else + cp $root/boot/vmlinu* kernel + fi # initrd mkdir -p $root/modules diff --git a/docker/linux-runner b/docker/linux-runner index e4a786a60..b02111d6b 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -89,6 +89,9 @@ case "$arch" in s390x) n=1 ;; + sparc64) + n=1 + ;; x86_64) opt="-append console=ttyS0" ;; @@ -147,11 +150,12 @@ dir=$(dirname "$1") shift ssh="dbclient -t -p 10022 -y -y root@localhost" -# In some system, programs in 9p file system fails to execute (Socket operation on non-socket) +# In some system, programs in 9p file system fails to execute +# (mips: Socket operation on non-socket, sparc64: Level 2 not synchronized) # The workaround is to copy the file to the ramdisk fs and then execute it. # See https://github.com/chaos/diod/issues/35 case "$arch" in - mips|mipsel|mips64el) + mips|mipsel|mips64el|sparc64) $ssh mkdir -p "/tmp/$dir" ";" cp "$prog" "/tmp/$prog" ";" "/tmp/$prog" "${@}" R=$! $ssh rm -f "/tmp/$prog" diff --git a/docker/sparc64-unknown-linux-gnu/Dockerfile b/docker/sparc64-unknown-linux-gnu/Dockerfile index b023a2a45..56da10687 100644 --- a/docker/sparc64-unknown-linux-gnu/Dockerfile +++ b/docker/sparc64-unknown-linux-gnu/Dockerfile @@ -12,15 +12,26 @@ RUN apt-get update && \ COPY xargo.sh / RUN bash /xargo.sh -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-sparc64-linux-gnu \ - libc6-dev-sparc64-cross && \ - bash /openssl.sh linux64-sparcv9 sparc64-linux-gnu- && \ - bash /qemu.sh sparc64 + libc6-dev-sparc64-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux64-sparcv9 sparc64-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh sparc64 linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh sparc64 + +COPY linux-runner / ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \ - CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER=qemu-sparc64 \ + CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner sparc64" \ CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \ CXX_sparc64_unknown_linux_gnu=sparc64-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ From 0c048e7c697c45e90f437b8ff24b7447741d50ad Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sat, 2 Dec 2017 17:11:56 -0200 Subject: [PATCH 10/24] Add qemu-system for powerpc-unknown-linux-gnu --- .travis.yml | 2 +- docker/linux-image.sh | 15 +++++++++++++-- docker/linux-runner | 7 +++++++ docker/powerpc-unknown-linux-gnu/Dockerfile | 21 ++++++++++++++++----- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 36cb0016e..d7d093d55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ matrix: - env: TARGET=mipsel-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 - env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 + - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 1c8835250..58793fae3 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -8,6 +8,8 @@ main() { local debsource="deb http://http.debian.net/debian/ stretch main" debsource="$debsource\ndeb http://security.debian.org/ stretch/updates main" + local dropbear="dropbear-bin" + # select debian arch and kernel version case $arch in aarch64) @@ -28,6 +30,14 @@ main() { mips64el) kernel=$kversion-5kc-malta ;; + powerpc) + # there is no stretch powerpc port, so we use jessie + # use a more recent kernel from backports + kernel=4.9.0-0.bpo.4-powerpc + debsource="deb http://http.debian.net/debian/ jessie main" + debsource="$debsource\ndeb http://http.debian.net/debian/ jessie-backports main" + dropbear="dropbear" + ;; powerpc64) arch=ppc64 kernel=4.14.0-1-powerpc64 @@ -90,6 +100,7 @@ main() { apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8B48AD6246925553 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 7638D0442B90D010 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8BC3A7D46F930576 # ports + apt-key adv --recv-key --keyserver keyserver.ubuntu.com CBF8D6FD518E17E1 apt-get update mkdir -p -m 777 /qemu/$arch @@ -97,10 +108,10 @@ main() { apt-get -d --no-install-recommends download \ $deps \ busybox:$arch \ - dropbear-bin:$arch \ + $dropbear:$arch \ libc6:$arch \ libgcc1:$arch \ - libssl1.1:$arch \ + libssl1.0:$arch \ libstdc++6:$arch \ linux-image-$kernel:$arch \ ncurses-base \ diff --git a/docker/linux-runner b/docker/linux-runner index b02111d6b..b2e4fcac4 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -22,6 +22,9 @@ case "$arch" in i686) qarch="i386" ;; + powerpc) + qarch="ppc" + ;; powerpc64) qarch="ppc64" ;; @@ -83,6 +86,10 @@ case "$arch" in opt="-append nokaslr -cpu MIPS64R2-generic" n=1 ;; + powerpc) + opt="-append console=ttyPZ0" + n=1 + ;; powerpc64|powerpc64le) opt="-append console=hvc0 --nodefaults -serial stdio" ;; diff --git a/docker/powerpc-unknown-linux-gnu/Dockerfile b/docker/powerpc-unknown-linux-gnu/Dockerfile index cea91e3f7..cd485d477 100644 --- a/docker/powerpc-unknown-linux-gnu/Dockerfile +++ b/docker/powerpc-unknown-linux-gnu/Dockerfile @@ -16,15 +16,26 @@ COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ bash /cmake.sh 3.5.1 -COPY openssl.sh qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-powerpc-linux-gnu \ - libc6-dev-powerpc-cross && \ - bash /openssl.sh linux-ppc powerpc-linux-gnu- && \ - bash /qemu.sh ppc + libc6-dev-powerpc-cross + +COPY openssl.sh / +RUN bash /openssl.sh linux-ppc powerpc-linux-gnu- + +COPY qemu.sh / +RUN bash /qemu.sh ppc linux softmmu + +COPY dropbear.sh / +RUN bash /dropbear.sh + +COPY linux-image.sh / +RUN bash /linux-image.sh powerpc + +COPY linux-runner / ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \ - CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc \ + CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner powerpc" \ CC_powerpc_unknown_linux_gnu=powerpc-linux-gnu-gcc \ CXX_powerpc_unknown_linux_gnu=powerpc-linux-gnu-g++ \ OPENSSL_DIR=/openssl \ From 6895fc03fb56559faf109f67d5edacae9febc893 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sat, 2 Dec 2017 18:29:42 -0200 Subject: [PATCH 11/24] Use 9p2000.u protocol in qemu-system Remove the workaround of copying files before execute --- docker/linux-image.sh | 2 +- docker/linux-runner | 23 +++-------------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 58793fae3..51093d279 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -214,7 +214,7 @@ ifconfig eth0 10.0.2.15 route add default gw 10.0.2.2 eth0 mkdir /target -mount -t 9p -o trans=virtio target /target -oversion=9p2000.L || true +mount -t 9p -o trans=virtio target /target -oversion=9p2000.u || true exec dropbear -F -E -B EOF diff --git a/docker/linux-runner b/docker/linux-runner index b2e4fcac4..d4dd2757a 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -95,6 +95,8 @@ case "$arch" in ;; s390x) n=1 + driver9p="virtio-9p-ccw" + drivernet="virtio-net-ccw" ;; sparc64) n=1 @@ -152,23 +154,4 @@ esac ) 200>$LOCK -prog="$1" -dir=$(dirname "$1") -shift - -ssh="dbclient -t -p 10022 -y -y root@localhost" -# In some system, programs in 9p file system fails to execute -# (mips: Socket operation on non-socket, sparc64: Level 2 not synchronized) -# The workaround is to copy the file to the ramdisk fs and then execute it. -# See https://github.com/chaos/diod/issues/35 -case "$arch" in - mips|mipsel|mips64el|sparc64) - $ssh mkdir -p "/tmp/$dir" ";" cp "$prog" "/tmp/$prog" ";" "/tmp/$prog" "${@}" - R=$! - $ssh rm -f "/tmp/$prog" - exit $R - ;; - *) - exec $ssh "$prog" "${@}" - ;; -esac +exec dbclient -t -p 10022 -y -y root@localhost "${@}" From c6e54a29f9f79113fcf3dffb985fcc42de67892e Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sat, 2 Dec 2017 19:21:54 -0200 Subject: [PATCH 12/24] Print the boot time of qemu-system using $SECONDS --- docker/linux-runner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-runner b/docker/linux-runner index d4dd2757a..3f94261ff 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -150,7 +150,7 @@ esac fi fi - echo Booted in $(dbclient -K 1 -p 10022 -y -y root@localhost "cut -d' ' -f1 /proc/uptime") seconds + echo Booted in $SECONDS seconds ) 200>$LOCK From 4f98b4d92a2265a1c63fccdc115cab2a168fc9bb Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Sun, 3 Dec 2017 19:18:49 -0200 Subject: [PATCH 13/24] Fix qemu-system for armv7, powerpc and x86_64 --- docker/linux-image.sh | 7 ++++++- docker/linux-runner | 4 ++-- docker/x86_64-unknown-linux-gnu/Dockerfile | 1 - 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 51093d279..94d6d9928 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -9,6 +9,7 @@ main() { debsource="$debsource\ndeb http://security.debian.org/ stretch/updates main" local dropbear="dropbear-bin" + local libssl="libssl1.0.2" # select debian arch and kernel version case $arch in @@ -37,8 +38,10 @@ main() { debsource="deb http://http.debian.net/debian/ jessie main" debsource="$debsource\ndeb http://http.debian.net/debian/ jessie-backports main" dropbear="dropbear" + libssl="libssl1.0.0" ;; powerpc64) + # there is no stable port arch=ppc64 kernel=4.14.0-1-powerpc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" @@ -55,9 +58,11 @@ main() { kernel=$kversion-s390x ;; sparc64) + # there is no stable port kernel=4.14.0-1-sparc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" + # sid version of dropbear requeries this depencendies deps="libtommath1:sparc64 libtomcrypt1:sparc64 libgmp10:sparc64" ;; x86_64) @@ -111,7 +116,7 @@ main() { $dropbear:$arch \ libc6:$arch \ libgcc1:$arch \ - libssl1.0:$arch \ + $libssl:$arch \ libstdc++6:$arch \ linux-image-$kernel:$arch \ ncurses-base \ diff --git a/docker/linux-runner b/docker/linux-runner index 3f94261ff..eabb9d2dd 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -65,11 +65,11 @@ drivernet="virtio-net-pci" case "$arch" in aarch64) opt="-machine virt -cpu cortex-a57" - driver9p="virtio-9p-device" - drivernet="virtio-net-device" ;; armv7) opt="-machine virt" + driver9p="virtio-9p-device" + drivernet="virtio-net-device" ;; i686) opt="-append console=ttyS0" diff --git a/docker/x86_64-unknown-linux-gnu/Dockerfile b/docker/x86_64-unknown-linux-gnu/Dockerfile index 1bde1a194..a56d18d1c 100644 --- a/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -34,7 +34,6 @@ RUN bash /linux-image.sh x86_64 COPY linux-runner / - ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner x86_64" \ OPENSSL_DIR=/openssl \ OPENSSL_INCLUDE_DIR=/openssl/include \ From 355d6083a4e12f989dc056b1c20e802cb288512e Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Thu, 21 Dec 2017 16:55:55 -0200 Subject: [PATCH 14/24] Create /tmp in qemu system linux images --- docker/linux-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 94d6d9928..6428dd902 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -125,7 +125,7 @@ main() { # Install packages root=root-$arch - mkdir -p $root/{bin,etc/dropbear,root,sys,dev,proc,sbin,usr/{bin,sbin},var/log} + mkdir -p $root/{bin,etc/dropbear,root,sys,dev,proc,sbin,tmp,usr/{bin,sbin},var/log} for deb in $arch/*deb; do dpkg -x $deb $root/ done From 3aa6e6d3fa66b57276fd060eeb6908415d40306d Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Wed, 24 Jan 2018 10:58:01 -0200 Subject: [PATCH 15/24] Update spach64 kernel version --- docker/linux-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 6428dd902..ded8432c3 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -59,7 +59,7 @@ main() { ;; sparc64) # there is no stable port - kernel=4.14.0-1-sparc64 + kernel=4.14.0-3-sparc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" # sid version of dropbear requeries this depencendies From 7cf59f3b13ad36777ab124ef1b9868b84a38c27e Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 20 Mar 2018 17:18:28 -0300 Subject: [PATCH 16/24] Use qarch in QEMU_CMD --- docker/linux-runner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-runner b/docker/linux-runner index eabb9d2dd..acdd3e182 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -111,7 +111,7 @@ esac echo Booting QEMU virtual machine with $n cpus... - QEMU_CMD="qemu-system-$arch \ + QEMU_CMD="qemu-system-$qarch \ -m $memory \ -smp $n \ -nographic \ From c416c228e59d1768c2d48aba25a964609d9f9973 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 20 Mar 2018 19:18:30 -0300 Subject: [PATCH 17/24] Update sparc64 and powerpc64 kernel --- docker/linux-image.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index ded8432c3..747574863 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -43,7 +43,7 @@ main() { powerpc64) # there is no stable port arch=ppc64 - kernel=4.14.0-1-powerpc64 + kernel=4.15.0-2-powerpc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" # sid version of dropbear requeries this depencendies @@ -59,7 +59,7 @@ main() { ;; sparc64) # there is no stable port - kernel=4.14.0-3-sparc64 + kernel=4.15.0-1-sparc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" # sid version of dropbear requeries this depencendies @@ -106,6 +106,7 @@ main() { apt-key adv --recv-key --keyserver keyserver.ubuntu.com 7638D0442B90D010 apt-key adv --recv-key --keyserver keyserver.ubuntu.com 8BC3A7D46F930576 # ports apt-key adv --recv-key --keyserver keyserver.ubuntu.com CBF8D6FD518E17E1 + apt-key adv --recv-key --keyserver keyserver.ubuntu.com 06AED62430CB581C apt-get update mkdir -p -m 777 /qemu/$arch From cec4fd516b4fe27203c7e9fe63e2b158ea402952 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 20 Mar 2018 19:19:26 -0300 Subject: [PATCH 18/24] Only limit the cpu number for aarch64 --- docker/linux-runner | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/linux-runner b/docker/linux-runner index acdd3e182..00220d495 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -54,9 +54,7 @@ case "$CROSS_RUNNER" in ;; esac -# 8 is the max number of cpu supported by qemu-aarch64 n=$(nproc) -n=$(( n > 8 ? 8 : n )) memory=1G driver9p="virtio-9p-pci" drivernet="virtio-net-pci" @@ -64,6 +62,8 @@ drivernet="virtio-net-pci" # select qemu parameters case "$arch" in aarch64) + # 8 is the max number of cpu supported by qemu-aarch64 + n=$(( n > 8 ? 8 : n )) opt="-machine virt -cpu cortex-a57" ;; armv7) From af3db9baaf8b04a94d8335d6a14b6537c1916d8d Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 11:48:27 -0300 Subject: [PATCH 19/24] Fix typo --- docker/linux-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 747574863..ca8f949b0 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -133,7 +133,7 @@ main() { # kernel if [ "$arch" = "sparc64" ]; then - # the but fails if the kernel is compressed + # boot fails if the kernel is compressed zcat $root/boot/vmlinu* > kernel else cp $root/boot/vmlinu* kernel From d8c912b042ec9bf4d7d32c59ae1c4047e9e0f9fb Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 13:17:10 -0300 Subject: [PATCH 20/24] Update qemu-system kernel of sparc64 and powerpc64 to 4.18.0-2 --- docker/linux-image.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index ca8f949b0..ba2a9e199 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -43,7 +43,7 @@ main() { powerpc64) # there is no stable port arch=ppc64 - kernel=4.15.0-2-powerpc64 + kernel=4.18.0-2-powerpc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" # sid version of dropbear requeries this depencendies @@ -59,7 +59,7 @@ main() { ;; sparc64) # there is no stable port - kernel=4.15.0-1-sparc64 + kernel=4.18.0-2-sparc64 debsource="deb http://ftp.ports.debian.org/debian-ports/ unreleased main" debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports/ unstable main" # sid version of dropbear requeries this depencendies @@ -142,12 +142,14 @@ main() { # initrd mkdir -p $root/modules cp \ + $root/lib/modules/*/kernel/drivers/net/net_failover.ko \ $root/lib/modules/*/kernel/drivers/net/virtio_net.ko \ $root/lib/modules/*/kernel/drivers/virtio/* \ $root/lib/modules/*/kernel/fs/9p/9p.ko \ $root/lib/modules/*/kernel/fs/fscache/fscache.ko \ $root/lib/modules/*/kernel/net/9p/9pnet.ko \ $root/lib/modules/*/kernel/net/9p/9pnet_virtio.ko \ + $root/lib/modules/*/kernel/net/core/failover.ko \ $root/modules || true # some file may not exist rm -rf $root/boot rm -rf $root/lib/modules @@ -205,6 +207,8 @@ mkdir /dev/pts mount -t devpts none /dev/pts/ # some archs does not have virtio modules +insmod /modules/failover.ko || true +insmod /modules/net_failover.ko || true insmod /modules/virtio.ko || true insmod /modules/virtio_ring.ko || true insmod /modules/virtio_mmio.ko || true From 0c486fd353dd6d0b036ce0528c9449d7006efa8d Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 13:18:44 -0300 Subject: [PATCH 21/24] Use correct arch for qemu-user runner --- docker/linux-runner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-runner b/docker/linux-runner index 00220d495..3b00e4ab6 100755 --- a/docker/linux-runner +++ b/docker/linux-runner @@ -42,7 +42,7 @@ case "$CROSS_RUNNER" in exec "${@}" ;; qemu-user | "") - exec qemu-$arch "${@}" + exec qemu-$qarch "${@}" ;; qemu-system) true From 6d112a26a41491b51c96bdad1fe892781167eca6 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 15:06:18 -0300 Subject: [PATCH 22/24] Enable run tests for s390x-unknown-linux-gnu sparc64-unknown-linux-gnu --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d7d093d55..ffecd94d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,8 @@ matrix: - env: TARGET=powerpc-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 - - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 + - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-system" + - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-system" - env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1 RUNNERS="native qemu-user qemu-system" # Linux musl From b8aaa3ca83c1bbed64c097d713d28c0a985a4c25 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 16:39:16 -0300 Subject: [PATCH 23/24] Test sparc64-unknown-linux-gnu with openssl 0.7.17 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ffecd94d8..b0de9d030 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ matrix: - env: TARGET=powerpc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=powerpc64le-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-user qemu-system" - env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-system" - - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1 RUNNERS="qemu-system" + - env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1 RUNNERS="qemu-system" - env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1 RUNNERS="native qemu-user qemu-system" # Linux musl From 831f073eaac9d82dc3b19830a24a24525da29ae4 Mon Sep 17 00:00:00 2001 From: Marco A L Barbosa Date: Tue, 16 Oct 2018 16:40:03 -0300 Subject: [PATCH 24/24] Update qemu-system kernel of powerpc to 4.9.0-0.bpo.6 --- docker/linux-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux-image.sh b/docker/linux-image.sh index ba2a9e199..7edb8ceeb 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -34,7 +34,7 @@ main() { powerpc) # there is no stretch powerpc port, so we use jessie # use a more recent kernel from backports - kernel=4.9.0-0.bpo.4-powerpc + kernel=4.9.0-0.bpo.6-powerpc debsource="deb http://http.debian.net/debian/ jessie main" debsource="$debsource\ndeb http://http.debian.net/debian/ jessie-backports main" dropbear="dropbear"