github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/syz-cluster/workflow/boot-step/Dockerfile (about) 1 # syntax=docker.io/docker/dockerfile:1.7-labs 2 # Copyright 2025 syzkaller project authors. All rights reserved. 3 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 4 5 # Build syzkaller. 6 FROM gcr.io/syzkaller/env as syzkaller-builder 7 WORKDIR /build 8 # First query the modules to facilitate caching. 9 COPY go.mod go.sum ./ 10 RUN go mod download 11 COPY --exclude=syz-cluster . . 12 RUN make TARGETARCH=amd64 13 14 FROM golang:1.24-alpine AS boot-step-builder 15 WORKDIR /build 16 17 # Copy the code and the dependencies. 18 COPY go.mod go.sum ./ 19 RUN go mod download 20 COPY pkg/ pkg/ 21 COPY prog/ prog/ 22 COPY vm/ vm/ 23 COPY executor/ executor/ 24 COPY dashboard/dashapi/ dashboard/dashapi/ 25 # Copying from the builder to take the `make descriptions` result. 26 COPY --from=syzkaller-builder /build/sys/ sys/ 27 COPY syz-cluster/workflow/boot-step/*.go syz-cluster/workflow/boot-step/ 28 COPY syz-cluster/pkg/ syz-cluster/pkg/ 29 30 RUN go build -o /bin/boot-step /build/syz-cluster/workflow/boot-step 31 32 FROM debian:bookworm 33 34 RUN apt-get update && \ 35 apt-get install -y qemu-system openssh-client 36 37 # pkg/osutil uses syzkaller user for sandboxing. 38 RUN useradd --create-home syzkaller 39 40 COPY --from=syzkaller-builder /build/bin/ /syzkaller/bin/ 41 COPY --from=boot-step-builder /bin/boot-step /bin/boot-step 42 43 ENTRYPOINT ["/bin/boot-step"]