aboutsummaryrefslogtreecommitdiffstats
path: root/tools/docker
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-10-12 14:07:06 +0200
committerAleksandr Nogikh <nogikh@google.com>2023-10-12 12:52:38 +0000
commitfc170927228ea774aeb61449ce88220bd3ce0156 (patch)
tree80f05d42faeb68719234c472f5044564c33ea3ed /tools/docker
parent08f99e71bb600f1e2224c9cd9569c98683825701 (diff)
tools/docker: upgrade qemu binaries
qemu 7.4 (default for bookworm) is not able to boot syzbot's arm64 MTE kernels. Use qemu 8 from the backports instead.
Diffstat (limited to 'tools/docker')
-rw-r--r--tools/docker/syzbot/Dockerfile19
1 files changed, 13 insertions, 6 deletions
diff --git a/tools/docker/syzbot/Dockerfile b/tools/docker/syzbot/Dockerfile
index 75a95de91..136cbf34e 100644
--- a/tools/docker/syzbot/Dockerfile
+++ b/tools/docker/syzbot/Dockerfile
@@ -5,7 +5,7 @@
FROM debian:bookworm
-RUN apt-get update --allow-releaseinfo-change
+RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
# Build essentials:
gcc g++ binutils make ccache \
@@ -14,8 +14,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
# These are needed to build Linux kernel:
flex bison bc gawk dwarves cpio texinfo texi2html lzop lbzip2 \
zlib1g-dev libelf-dev libncurses-dev libmpc-dev libssl-dev \
- # This is required to run alien arch binaries in pkg/cover tests:
- qemu-user \
apt-transport-https curl gnupg python-is-python3 \
# Needed for building Cuttlefish images.
rsync libarchive-tools \
@@ -24,9 +22,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
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-12-dev lib32stdc++-12-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
@@ -58,6 +53,18 @@ RUN mkdir -p /usr/grte/v5/bin && ln -s /usr/bin/python3 /usr/grte/v5/bin/python2
# 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/6.2.0/release/bazel-6.2.0-linux-$(uname -m | sed s/aarch64/arm64/) && chmod ugo+x /usr/local/bin/bazel'
+# Install qemu from the backports.
+# The currently stable version (7.4) cannot properly run arm64-MTE kernels.
+RUN add-apt-repository "deb http://deb.debian.org/debian bookworm-backports main"
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -t bookworm-backports -y -q \
+# This is required to run alien arch binaries in pkg/cover tests:
+ qemu-user
+RUN test "$(uname -m)" != x86_64 && exit 0 || \
+ DEBIAN_FRONTEND=noninteractive apt-get install -t bookworm-backports -y -q \
+ # 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
+
# pkg/osutil uses syzkaller user for sandboxing.
RUN useradd --create-home syzkaller
RUN echo "export PS1='\n\W🤖 '" >> /root/.bashrc