diff options
| author | Pimyn Girgis <pimyn@google.com> | 2025-11-27 15:19:52 +0000 |
|---|---|---|
| committer | Tahuti <pimyn@google.com> | 2025-12-03 09:02:54 +0000 |
| commit | 7cea5f2c6000fc39497806150333e1dacee708e6 (patch) | |
| tree | d4914518651c88983381412d36daa6d68e99c948 /tools | |
| parent | d4611817041647831162ed6dedfa7bc0ad160387 (diff) | |
tools/docker: update to debian trixie
Update our docker containers to Debian Trixie.
Fixes #6432
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/docker/env/Dockerfile | 32 | ||||
| -rw-r--r-- | tools/docker/syzbot/Dockerfile | 63 |
2 files changed, 45 insertions, 50 deletions
diff --git a/tools/docker/env/Dockerfile b/tools/docker/env/Dockerfile index 5d466a9b3..88a453090 100644 --- a/tools/docker/env/Dockerfile +++ b/tools/docker/env/Dockerfile @@ -4,7 +4,7 @@ # See /tools/docker/README.md for details. # Construct a /syzkaller folder. -FROM debian:bookworm as syzkaller-folder +FROM debian:trixie AS syzkaller-folder WORKDIR /syzkaller RUN apt-get update --allow-releaseinfo-change RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q curl @@ -45,7 +45,7 @@ RUN curl https://storage.googleapis.com/syzkaller/fuchsia-toolchain.tar.gz | tar RUN curl https://storage.googleapis.com/syzkaller/netbsd-toolchain.tar.gz | tar -C /syzkaller -xz # Now build the actual syz-env container. -FROM debian:bookworm +FROM debian:trixie LABEL homepage="https://github.com/google/syzkaller" @@ -54,8 +54,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends sudo make nano unzip curl ca-certificates binutils g++ \ 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-12-dev lib32stdc++-12-dev \ - python3 python-is-python3 git \ + libc6-dev-i386 libc6-dev-i386-amd64-cross lib32gcc-14-dev lib32stdc++-14-dev \ + python3 python-is-python3 python3-legacy-cgi git \ # These are needed to build Linux kernel: flex bison bc libelf-dev libssl-dev \ # qemu-user is required to run alien arch binaries in pkg/cover tests. @@ -77,17 +77,17 @@ ENV GOPATH /gopath ENV GOMODCACHE /syzkaller/.cache/gomod # Install clang. -RUN apt-get install -y -q gnupg software-properties-common apt-transport-https -RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - -RUN echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main" | sudo tee /etc/apt/sources.list.d/llvm-20.list +RUN apt-get install -y -q gnupg apt-transport-https +RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /usr/share/keyrings/llvm-snapshot.gpg +RUN echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/llvm-snapshot.gpg] http://apt.llvm.org/trixie/ llvm-toolchain-trixie-21 main" | sudo tee /etc/apt/sources.list.d/llvm-21.list RUN apt-get update --allow-releaseinfo-change -RUN apt-get install -y -q --no-install-recommends clang-20 clang-format-20 clang-tidy-20 lld-20 +RUN apt-get install -y -q --no-install-recommends clang-21 clang-format-21 clang-tidy-21 lld-21 RUN apt-get install -y -q --no-install-recommends flatbuffers-compiler -RUN sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100 -RUN sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 100 -RUN sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-20 100 -RUN sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-20 100 -RUN sudo update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/lld-20 100 +RUN sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-21 100 +RUN sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-21 100 +RUN sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-21 100 +RUN sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-21 100 +RUN sudo update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/lld-21 100 RUN apt autoremove -y -q # Install the Spanner emulator. @@ -116,15 +116,13 @@ ENV SOURCEDIR_NETBSD /syzkaller/netbsd ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo ENV PATH=/usr/local/cargo/bin:$PATH -ENV RUST_VERSION=1.87.0 +ENV RUST_VERSION=1.91.1 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $RUST_VERSION RUN rustup component add rust-src RUN cargo install --locked bindgen-cli # Use the latest libdw-dev release, otherwise we get compilation error when CONFIG_RUST=y. -RUN echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" > /etc/apt/sources.list.d/bookworm-backports.list -RUN apt-get update -RUN apt-get install -y --no-install-recommends libdw-dev/bookworm-backports libelf-dev/bookworm-backports +RUN apt-get install -y --no-install-recommends libdw-dev libelf-dev # Install node to pass act jobs (https://github.com/nektos/act) RUN apt-get install -y -q nodejs diff --git a/tools/docker/syzbot/Dockerfile b/tools/docker/syzbot/Dockerfile index 04d42de87..298a08428 100644 --- a/tools/docker/syzbot/Dockerfile +++ b/tools/docker/syzbot/Dockerfile @@ -3,18 +3,18 @@ # See /tools/docker/README.md for details. -FROM debian:bookworm +FROM debian:trixie RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ # Build essentials: gcc g++ binutils make ccache \ # Some common utilities: - unzip curl sudo procps psmisc nano vim git bzip2 dh-autoreconf software-properties-common \ + unzip curl sudo procps psmisc nano vim git bzip2 dh-autoreconf fdisk \ # These are needed to build Linux kernel: flex bison bc gawk dwarves cpio texinfo texi2html lzop lbzip2 \ zlib1g-dev libncurses-dev libmpc-dev libssl-dev \ - apt-transport-https curl gnupg python-is-python3 \ + apt-transport-https curl gnupg python-is-python3 python3-legacy-cgi \ # Needed for building Cuttlefish images. rsync libarchive-tools \ # These are various fsck-like commands needed for prog/fsck: @@ -25,7 +25,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ crossbuild-essential-amd64 crossbuild-essential-arm64 libbpf-dev 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 \ + libc6-dev-i386 libc6-dev-i386-amd64-cross lib32gcc-14-dev lib32stdc++-14-dev \ # 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 @@ -35,28 +35,31 @@ RUN test "$(uname -m)" != x86_64 && exit 0 || \ RUN curl https://dl.google.com/go/go1.24.4.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-14 is too old, install the latest one. -RUN apt-get install -y -q gnupg software-properties-common apt-transport-https -RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - -RUN echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main" | sudo tee /etc/apt/sources.list.d/llvm-20.list +# Install the latest clang +RUN apt-get install -y -q gnupg apt-transport-https +RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | tee /usr/share/keyrings/llvm-snapshot.gpg +RUN echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/llvm-snapshot.gpg] http://apt.llvm.org/trixie/ llvm-toolchain-trixie-21 main" | tee /etc/apt/sources.list.d/llvm-21.list RUN apt-get update --allow-releaseinfo-change -RUN apt-get install -y -q --no-install-recommends llvm-20 clang-20 clang-format-20 clang-tidy-20 lld-20 +RUN apt-get install -y -q --no-install-recommends llvm-21 clang-21 clang-format-21 clang-tidy-21 lld-21 RUN apt autoremove -y -q -RUN sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100 -RUN sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 100 -RUN sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-20 100 -RUN sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-20 100 -RUN sudo update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/lld-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-objcopy llvm-objcopy /usr/bin/llvm-objcopy-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-addr2line llvm-addr2line /usr/bin/llvm-addr2line-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-readelf llvm-readelf /usr/bin/llvm-readelf-20 100 -RUN sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-20 100 +RUN sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-21 100 +RUN sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-21 100 +RUN sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-21 100 +RUN sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-21 100 +RUN sudo update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/lld-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-objcopy llvm-objcopy /usr/bin/llvm-objcopy-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-addr2line llvm-addr2line /usr/bin/llvm-addr2line-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-readelf llvm-readelf /usr/bin/llvm-readelf-21 100 +RUN sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-21 100 # Also install clang-15 to keep bisections alive. -RUN apt-get install -y -q --no-install-recommends clang-15 +RUN echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/llvm-snapshot.gpg] http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-15 main" | sudo tee /etc/apt/sources.list.d/llvm-bookworm-15.list +RUN apt-get update --allow-releaseinfo-change +RUN apt-get install -y -q --no-install-recommends -t llvm-toolchain-bookworm-15 clang-15 +RUN apt-get install libelf-dev libdwarf-dev # Not really GRTE, but it's enough to run some scripts that hardcode the path. RUN mkdir -p /usr/grte/v5/bin && ln -s /usr/bin/python3 /usr/grte/v5/bin/python2.7 @@ -68,35 +71,29 @@ RUN curl -s https://api.github.com/repos/bazelbuild/bazelisk/releases/latest \ | curl -L -o /usr/local/bin/bazel -K - \ && chmod +x /usr/local/bin/bazel -# Install qemu from the backports. -# The currently stable version (7.2) 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 \ +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ # This is required to run alien arch binaries in pkg/cover tests: qemu-user # QEMU packages required to run x86/arm64 kernels - install them for both x86 and arm64. -RUN DEBIAN_FRONTEND=noninteractive apt-get install -t bookworm-backports -y -q \ +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ qemu-utils qemu-system-misc qemu-system-x86 qemu-system-arm qemu-system-aarch64 # Install QEMU packages for other arches on x86 machines only. RUN test "$(uname -m)" != x86_64 && exit 0 || \ - DEBIAN_FRONTEND=noninteractive apt-get install -t bookworm-backports -y -q \ + DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ qemu-system-s390x qemu-system-mips qemu-system-ppc # Rust toolchain for kernel builds. ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo ENV PATH=/usr/local/cargo/bin:$PATH -ENV RUST_VERSION=1.87.0 +ENV RUST_VERSION=1.91.1 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $RUST_VERSION RUN rustup component add rust-src RUN cargo install --locked bindgen-cli -# Use the latest libdw-dev release, otherwise we get compilation error when CONFIG_RUST=y. -RUN echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" > /etc/apt/sources.list.d/bookworm-backports.list -RUN apt-get update -RUN apt-get install -y --no-install-recommends libdw-dev/bookworm-backports libelf-dev/bookworm-backports +RUN apt-get install -y --no-install-recommends libdw-dev libelf-dev # Install gcloud https://cloud.google.com/sdk/docs/install#deb. RUN apt-get install -y -q ca-certificates \ |
