# This Dockerfile extracts the source code and headers from a kernel package, # builds the perf utility, and places it into a scratch image ARG IMAGE FROM ${IMAGE} AS ksrc FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS build RUN apk add \ argp-standalone \ bash \ bc \ binutils-dev \ bison \ build-base \ diffutils \ flex \ gmp-dev \ installkernel \ kmod \ elfutils-dev \ mpc1-dev \ mpfr-dev \ sed \ tar \ xz \ xz-dev \ zlib-dev COPY --from=ksrc /linux.tar.xz /kernel-headers.tar / RUN tar xf linux.tar.xz && \ tar xf kernel-headers.tar WORKDIR /linux RUN mkdir -p /out && \ make -C tools/perf LDFLAGS=-static && \ strip tools/perf/perf && \ cp tools/perf/perf /out FROM scratch ENTRYPOINT [] CMD [] WORKDIR / COPY --from=build /out/perf /usr/bin/perf