diff options
| author | Andrei Vagin <avagin@google.com> | 2023-01-06 15:59:54 -0800 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2023-01-19 12:02:04 +0100 |
| commit | 1b826a2fe2446ed915700676b74498c15b35c44d (patch) | |
| tree | 36c4155ceb3ab36a3b7a2bf5ce03a3a8ae8cee41 /tools/docker/syzbot/Dockerfile | |
| parent | 7374c4e509b18f2c3fbcd98d7228c4f940a6d00b (diff) | |
tools/docker: adjust the syzbot dockerfile for arm64
Signed-off-by: Andrei Vagin <avagin@google.com>
Diffstat (limited to 'tools/docker/syzbot/Dockerfile')
| -rw-r--r-- | tools/docker/syzbot/Dockerfile | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tools/docker/syzbot/Dockerfile b/tools/docker/syzbot/Dockerfile index a553c738e..af1f19772 100644 --- a/tools/docker/syzbot/Dockerfile +++ b/tools/docker/syzbot/Dockerfile @@ -19,18 +19,20 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ zlib1g-dev libelf-dev libncurses-dev libmpc-dev libssl-dev \ # This is required to run alien arch binaries in pkg/cover tests: qemu-user \ - # These are required to run foreign arch kernels: - qemu-utils qemu-system-misc qemu-system-x86 qemu-system-arm qemu-system-aarch64 \ - qemu-system-s390x qemu-system-mips qemu-system-ppc \ - # Cross-compilation: - g++-arm-linux-gnueabi g++-aarch64-linux-gnu g++-powerpc64le-linux-gnu \ - g++-mips64el-linux-gnuabi64 g++-s390x-linux-gnu g++-riscv64-linux-gnu \ - libc6-dev-i386 libc6-dev-i386-amd64-cross lib32gcc-10-dev lib32stdc++-10-dev \ apt-transport-https curl gnupg python-is-python3 \ # Needed for building Cuttlefish images. rsync libarchive-tools +RUN test "$(uname -m)" != x86_64 && exit 0 || \ + DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ + libc6-dev-i386 libc6-dev-i386-amd64-cross lib32gcc-10-dev lib32stdc++-10-dev \ + # These are required to run foreign arch kernels: + qemu-utils qemu-system-misc qemu-system-x86 qemu-system-arm qemu-system-aarch64 \ + qemu-system-s390x qemu-system-mips qemu-system-ppc \ + # Cross-compilation: + g++-arm-linux-gnueabi g++-aarch64-linux-gnu g++-powerpc64le-linux-gnu \ + g++-mips64el-linux-gnuabi64 g++-s390x-linux-gnu g++-riscv64-linux-gnu -RUN curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | tar -C /usr/local -xz +RUN curl https://dl.google.com/go/go1.17.linux-$(uname -m | sed 's/aarch64/arm64/;s/x86_64/amd64/').tar.gz | tar -C /usr/local -xz ENV PATH /usr/local/go/bin:$PATH # The default clang-11 is too old, install the latest one. @@ -57,10 +59,8 @@ RUN ln -s /usr/local/clang-${CLANG_KMSAN_VER} /usr/local/clang-kmsan RUN mkdir -p /usr/grte/v5/bin && ln -s /usr/bin/python3 /usr/grte/v5/bin/python2.7 # Install bazel -RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | \ - sudo tee /etc/apt/sources.list.d/bazel.list && \ - curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - -RUN apt-get update --allow-releaseinfo-change && DEBIAN_FRONTEND=noninteractive apt-get install -y -q bazel +# Download the official bazel binary. The APT repository isn't used because there is not packages for arm64. +RUN sh -c 'curl -o /usr/local/bin/bazel https://releases.bazel.build/5.3.2/release/bazel-5.3.2-linux-$(uname -m | sed s/aarch64/arm64/) && chmod ugo+x /usr/local/bin/bazel' # pkg/osutil uses syzkaller user for sandboxing. RUN useradd --create-home syzkaller |
