aboutsummaryrefslogtreecommitdiffstats
path: root/tools/docker
Commit message (Collapse)AuthorAgeFilesLines
* tools/docker/syzbot: set llvm-link as an alias for llvm-link-21Pimyn Girgis2026-01-201-0/+1
| | | | Fixes a build error for android-6.12 where llvm-link is not found.
* tools/docker: install binutils-goldAndrei Vagin2026-01-131-1/+1
| | | | | | It is required to build gvsior. Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/create-image.sh: update default Debian release to trixieAndrew Donnellan2025-12-111-1/+1
| | | | | | | | | | Debian bullseye is now oldoldstable, so update the default release to trixie. While we're at it, update documentation references to old Debian releases to match. Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
* tools/docker: update to debian trixiePimyn Girgis2025-12-032-50/+45
| | | | | Update our docker containers to Debian Trixie. Fixes #6432
* tools/docker: install bazelisk instead of bazelKonstantin Bogomolov2025-08-281-3/+6
| | | | | | | The needed Bazel version to build gVisor got bumped. However, instead of doing the same bump in two places whenever this happens, we can simply use bazelisk in syzkaller to determine which bazel version to use automatically.
* tools/docker: update golang to 1.24.4Taras Madan2025-07-012-2/+2
|
* tools/docker: add rust compilerAleksandr Nogikh2025-05-202-4/+30
| | | | | Add the new dependencies necessary for generating RUST=y Linux configs and for building RUST=y kernels.
* tools/docker/env: update gcloud to 519Taras Madan2025-04-291-19/+7
| | | | | It requires appengine dependency update to match golang versions. gcloud-appengine-python patching is needed to fix #4785.
* tools/docker: migrate to llvm-20Aleksandr Nogikh2025-04-242-21/+24
| | | | | | | clang-15 is now the minimum required version, so we're already on the verge of not being able to compile the Linux kernel. But keep clang-15 anyway - it will be used during bisections.
* tools/docker: add ld.lld to envAleksandr Nogikh2025-04-171-1/+2
| | | | | We use the env container to update kernel configs and the lack of ld.lld in it prevents the usage of LLVM=1.
* tools/docker: golang toolchain is autoupdated since 1.21Taras Madan2025-02-063-0/+6
| | | | "go mod go@1.23" updates go.mod to the latest 1.23.*.
* tools/docker: add libdw-dev to the syzbot containerAleksandr Nogikh2025-02-031-1/+3
| | | | | | | | | | | | | | Linux-next now offers a choice between using `CONFIG_GENDWARFKSYMS` and `CONFIG_GENKSYMS`. See: Docs: https://www.kernel.org/doc/html/next/kbuild/gendwarfksyms.html Series: https://patchwork.kernel.org/project/linux-kbuild/list/?series=922143 We could either enforce CONFIG_GENKSYMS=y and keep things as they used to be or we could add a libdw-dev dependency to the container and be more flexible. CONFIG_GENDWARFKSYMS offers a slight advantage in that it will be better if/when we start fuzzing Rust code in the kernel.
* tools/docker/syz-env: persist GOMODCACHEAleksandr Nogikh2025-01-231-1/+2
| | | | | Prevent Go from downloading all external dependencies each time syz-env is called. It will become a problem once vendor/ is deleted.
* tools/docker: recommend setting DOCKER_BUILDKITAleksandr Nogikh2025-01-141-1/+1
| | | | | DOCKER_BUILDKIT=1 ensures that the Docker builder parallelizes the build steps (whenever it's possible).
* tools/docker/env: download toolchains in a separate builderAleksandr Nogikh2025-01-141-40/+48
| | | | This allows for better caching and parallelization.
* tools/docker/env: add a Spanner emulatorAleksandr Nogikh2025-01-141-0/+8
|
* tools/docker/env: build python in a separate containerAleksandr Nogikh2025-01-141-6/+15
| | | | | It allows for better caching/parallelization. Also, the resulting image is now ~100MB smaller.
* Revert "tools/docker: add qemu-user-binfmt to syz-env"Alexander Potapenko2024-12-061-1/+1
| | | | | | | This reverts commit 8c86a475f5d807fe4cf26fb366871a55402e38d6. Apparently binfmt_misc cannot be mounted within the Docker container, so we don't need these hooks.
* tools/docker: add qemu-user-binfmt to syz-envAlexander Potapenko2024-12-051-1/+1
| | | | This is needed to be able to run alien binaries in tests under qemu-user
* tools/docker: add various fsck-like commands to the environmentFlorent Revest2024-11-292-0/+8
| | | | | | As part of #5518, I'm adding fsck logs as annotation to the mounted file system assets. For this, I need a variety of fsck-like commands in the ci environment as well as eventually in the production environment.
* tools/docker: add QEMU packages to ARM64 docker containerAlexander Potapenko2024-10-211-3/+7
| | | | | | | | ARM64 instances may require running QEMU, so add them to the container. Do not install packages for MIPS/PPC/s390, as we currently do not need them. Also fix a minor nit in the comment: Debian Bookworm seems to be providing QEMU 7.2, not 7.4.
* tooks/docker/syzbot: git config --system not --globalTaras Madan2024-10-181-1/+1
| | | | | | We need these changes to be available for syzkaller user. Let's make it a system wide config to also enable it for root. It'll be easier to copy-paste it later to syz-env (just in case).
* tools/docker/syzbot: add llvm-strip and llvm-readelf alternativesFlorent Revest2024-10-141-0/+2
| | | | | Some builds require these tools and update-alternatives lets us use these tools without hardcoding the LLVM version suffix.
* syz-ci: introduce gitArchive parametersTaras Madan2024-10-101-0/+7
| | | | | | | Some commits don't live long remotely. It sometimes happens we need them later to: 1. Merge coverage. 2. Mention during communication.
* tools/docker: update Go in the containersAleksandr Nogikh2024-09-103-3/+3
| | | | Use 1.22.7.
* all: add npm package to syz-envJoey Jiao2024-08-291-0/+3
| | | | | | | | | | act(https://github.com/nektos/act) is used to build github workflow locally. When running `act -j build` in local host, it reports: exec failed: unable to start container process: exec: "node": executable file not found in $PATH: unknown. Adding nodejs package can fix the build error. Updated docs with act usage too.
* tools/docker/syzbot: add run-syz-command.shTaras Madan2024-06-072-0/+17
| | | | | It enables us to use CloudRun. The goal is to run syzkaller tools as a gcp job.
* tools/docker/old-env: switch to Ubuntu 20.04Dmitry Vyukov2024-06-031-11/+22
| | | | | | | | | 16.04 has extremly old gcc (5.4), which don't support C++17. Switch to 20.04 (gcc 9). Split apt commands to separate lines to improve docker caching, otherwise it's takes lots of time to iterate on package set and unclear what exact package causes problems.
* tools/docker/syzbot: update bazel to 7.1.2Andrei Vagin2024-05-131-1/+1
| | | | Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: add flatbuffers packagesDmitry Vyukov2024-05-031-1/+2
| | | | | | Also update to Go1.22 while we are here. We've bumped min Go version to 1.21 in old-env, so we ought to test with 1.22 in other containers.
* tools/docker: update old-env to Go 1.21Dmitry Vyukov2024-04-261-1/+1
| | | | | | | | | | Go 1.22 is already released. We try to support up 2 latest Go releases, so we can switch to 1.21 for old-env. Go 1.21 has a number of useful things like new slices/maps/cmp/slog packages, min/max builtin functions, PGO builds.
* all: remove akaros supportDmitry Vyukov2024-04-151-1/+0
| | | | | | | Akaros support is unused, it was shutdown on syzbot for a while, the akaros development seems to be frozen for years as well. We have a bunch of hacks for Akaros since it supported only super old gcc and haven't supported Go. Remove it.
* pkg/symbolizer: use llvm-addr2lineDmitry Vyukov2024-04-091-0/+1
| | | | | | | | | Use llvm-addr2line instead of addr2line if it's available. llvm-addr2line seems to be way faster than llvm-addr2line and consumes less memory on syzbot's vmlinux. Also move the detection logic to sys/targets since that's where we generally do this type of logic. This also allows to reuse addr2line binary in other packages if needed.
* tools/docker/syzbot: add libbpf-dev to DockerfileKevin Krakauer2023-12-181-1/+1
| | | | | | | | | | | | | | gVisor relies on eBPF since the following 2 commits, so libbpf-dev is required when building: - https://github.com/google/gvisor/commit/2ae19ffb - https://github.com/google/gvisor/commit/f6d380ad Without this change, syzkaller can't build gVisor and gets the following error: tools/xdp/cmd/bpf/redirect_host.ebpf.c:15:10: fatal error: 'bpf/bpf_endian.h' file not found FAILED: Build did NOT complete successfully
* go: update to 1.20.11 and 1.21.4Taras Madan2023-11-283-3/+3
| | | | 1.22 release is expected in Feb 2024. We'll go 1.21 - 1.22 then.
* tools/docker: upgrade qemu binariesAleksandr Nogikh2023-10-121-6/+13
| | | | | | | qemu 7.4 (default for bookworm) is not able to boot syzbot's arm64 MTE kernels. Use qemu 8 from the backports instead.
* tools/docker: install llvm package and add some tools to pathSpace Meyer2023-08-011-1/+5
| | | | These are required for building linux with LLVM=1.
* tools/docker/env: use Go 1.20Aleksandr Nogikh2023-07-201-2/+0
| | | | | By mistake, we're installing Go twice in this Dockerfile. Remove the 1.19 installation and only leave the 1.20 one.
* all: remove mentions of big-envAleksandr Nogikh2023-07-122-4/+3
| | | | Use just env instead of that.
* tools/docker: merge big-env into envAleksandr Nogikh2023-07-122-68/+59
| | | | There's not much sense to keep both.
* tools/docker/env: use the default gitAleksandr Nogikh2023-07-121-6/+1
| | | | | As we're using a new Debian image now, there's no sense to take git from backports. It's new enough.
* tools/docker: update to bookworm imagesAleksandr Nogikh2023-07-113-25/+22
| | | | | | | Closes #3973. As Python 2.7 is no longer present in the packages, build it directly in Dockerfile. It's rather small and doesn't take much time.
* tools/docker: update bazel to 6.2.0Andrei Vagin2023-05-171-1/+1
| | | | | | | gVisor requires at least 5.4.0. Reported-by: syzbot+50dd4616360299e7de26@syzkaller.appspotmail.com Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: update git versionMarco Vanotti2023-05-042-2/+8
| | | | | | The git version used in bullseye is too old and is not compatible with Fuchsia. This change modifies the dockerfile to install git from bullseye-backports, which is more recent.
* tools/docker: add unzip dependency to syz-envMarco Vanotti2023-05-041-1/+1
|
* tools/docker: use pahole v1.22 from backportsSpace Meyer2023-03-211-0/+6
|
* tools/docker: install cross tools for amd64 and arm64 (#3734)Andrei Vagin2023-03-071-1/+3
| | | | | They are required to compile gVisor. Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: use go1.19.6 and go1.20.1Taras Madan2023-02-244-3/+6
| | | | | env and syzbot containers will use go1.20.1 big-env and old-env containers will use go1.19.6
* tools/docker: delete clang-kmsanAlexander Potapenko2023-02-082-12/+0
| | | | We are using stock Clang to build KMSAN now
* tools/docker: switch to Clang 15Alexander Potapenko2023-02-072-17/+14
| | | | | | This is a prerequisite for building KMSAN-instrumented kernels. Now that https://github.com/google/syzkaller/pull/3649 is landed, the tests should be passing.