From e72977308ce8480d8b3cfa83faaf71a74b9c165d Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 16 Dec 2016 17:04:43 +0000 Subject: [PATCH] alpine: add Makefile/Dockerfile to build the Linux `perf` utility Signed-off-by: Rolf Neugebauer --- alpine/base/perf/.gitignore | 1 + alpine/base/perf/Dockerfile | 17 +++++++++++++++++ alpine/base/perf/Makefile | 9 +++++++++ alpine/base/perf/README.md | 1 + 4 files changed, 28 insertions(+) create mode 100644 alpine/base/perf/.gitignore create mode 100644 alpine/base/perf/Dockerfile create mode 100644 alpine/base/perf/Makefile create mode 100644 alpine/base/perf/README.md diff --git a/alpine/base/perf/.gitignore b/alpine/base/perf/.gitignore new file mode 100644 index 000000000..7447f89a5 --- /dev/null +++ b/alpine/base/perf/.gitignore @@ -0,0 +1 @@ +/bin \ No newline at end of file diff --git a/alpine/base/perf/Dockerfile b/alpine/base/perf/Dockerfile new file mode 100644 index 000000000..f38429595 --- /dev/null +++ b/alpine/base/perf/Dockerfile @@ -0,0 +1,17 @@ +# Tag: 3da0b0ea0da2724232603094e67c75b41adab551 +FROM mobylinux/alpine-build-c@sha256:0236d6599f6c8f7aa42829285e04202fbe99984df2818af0f5a453a59de8b090 + +ARG KERNEL_VERSION=4.8.14 + +# get kernel source and extract it under /linux +ENV KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.xz +RUN curl -fsSL -o linux-${KERNEL_VERSION}.tar.xz ${KERNEL_SOURCE} +RUN cat linux-${KERNEL_VERSION}.tar.xz | tar --absolute-names -xJ && mv /linux-${KERNEL_VERSION} /linux + +RUN mkdir -p /build/perf && \ + make -C /linux/tools/perf O=/build/perf LDFLAGS=-static + +WORKDIR /build/perf +CMD ["tar", "cf", "-", "perf"] + + diff --git a/alpine/base/perf/Makefile b/alpine/base/perf/Makefile new file mode 100644 index 000000000..08a990463 --- /dev/null +++ b/alpine/base/perf/Makefile @@ -0,0 +1,9 @@ +DEPS=Dockerfile + +bin/perf: $(DEPS) + mkdir -p bin + BUILD=$$( docker build -q . ) && \ + docker run --rm --net=none $$BUILD | tar xf - -C bin + +clean: + rm -rf bin diff --git a/alpine/base/perf/README.md b/alpine/base/perf/README.md new file mode 100644 index 000000000..d1fa03a92 --- /dev/null +++ b/alpine/base/perf/README.md @@ -0,0 +1 @@ +Builds a statically linked version of the Linux kernel `perf` utility. You may want to/need to adjust the kernel version in the `Dockerfile` to match your kernel.