mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
* add riscv64 kernels to kernel/Makefile and kernel/Dockerfile.*, riscv64 kernel config, bump alpine version for kernel builds Signed-off-by: Avi Deitcher <avi@deitcher.net> * update bcc to v0.32.0 to include needed fixes Signed-off-by: Avi Deitcher <avi@deitcher.net> * bump kernel builder alpine base to version including llvm19 Signed-off-by: Avi Deitcher <avi@deitcher.net> * in kernel-bcc, automatically determine python path Signed-off-by: Avi Deitcher <avi@deitcher.net> * in kernel-perf, suppress newer gcc errors Signed-off-by: Avi Deitcher <avi@deitcher.net> * riscv path in kernel build was incorrect Signed-off-by: Avi Deitcher <avi@deitcher.net> * remove bcc compilation from kernel Signed-off-by: Avi Deitcher <avi@deitcher.net> * update usages of kernel/6.6.13 to kernel/6.6.71 Signed-off-by: Avi Deitcher <avi@deitcher.net> * next run of updating kernel config Signed-off-by: Avi Deitcher <avi@deitcher.net> * update test dependencies on kernel hash version Signed-off-by: Avi Deitcher <avi@deitcher.net> --------- Signed-off-by: Avi Deitcher <avi@deitcher.net>
83 lines
1.8 KiB
Docker
83 lines
1.8 KiB
Docker
ARG BUILD_IMAGE
|
|
ARG KERNEL_VERSION
|
|
ARG PKG_HASH
|
|
|
|
FROM linuxkit/kernel:${KERNEL_VERSION}-${PKG_HASH} as ksrc
|
|
|
|
FROM ${BUILD_IMAGE} AS build
|
|
RUN apk update && apk upgrade -a && \
|
|
apk add --no-cache \
|
|
argp-standalone \
|
|
autoconf \
|
|
automake \
|
|
bison \
|
|
build-base \
|
|
clang \
|
|
clang-dev \
|
|
clang-static \
|
|
cmake \
|
|
curl \
|
|
elfutils-dev \
|
|
flex-dev \
|
|
gettext-dev \
|
|
git \
|
|
iperf3 \
|
|
libedit-dev \
|
|
libtool \
|
|
libxml2 \
|
|
llvm19 \
|
|
llvm19-dev \
|
|
llvm19-static \
|
|
llvm19-gtest \
|
|
m4 \
|
|
musl-fts-dev \
|
|
python3 \
|
|
py3-pip \
|
|
xz \
|
|
zip \
|
|
zlib-dev \
|
|
&& true
|
|
|
|
WORKDIR /build
|
|
|
|
COPY --from=ksrc /kernel-headers.tar /build
|
|
COPY --from=ksrc /kernel-dev.tar /build
|
|
COPY --from=ksrc /kernel.tar /build
|
|
RUN tar xf /build/kernel-headers.tar && \
|
|
tar xf /build/kernel-dev.tar && \
|
|
tar xf /build/kernel.tar
|
|
|
|
RUN mkdir -p /out/usr/ && \
|
|
cp -a /build/usr/src /out/usr/ && \
|
|
cp -a /build/usr/include /out/usr
|
|
RUN mkdir -p /out/usr/lib && \
|
|
cp -a /usr/lib/libelf* /out/usr/lib/ && \
|
|
cp -a /usr/lib/libstdc* /out/usr/lib/ && \
|
|
cp -a /usr/lib/libintl* /out/usr/lib/
|
|
|
|
RUN PYTHONPATH=$(python3 -c "import sysconfig; print(sysconfig.get_path('stdlib'))") && mkdir -p /out${PYTHONPATH} && \
|
|
cp -a ${PYTHONPATH}/site-packages /out/${PYTHONPATH}
|
|
FROM ${BUILD_IMAGE} as mirror
|
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
|
RUN apk update && apk upgrade -a && \
|
|
apk add --no-cache --initdb -p /out \
|
|
bcc \
|
|
bcc-dev \
|
|
bcc-tools \
|
|
busybox \
|
|
python3 \
|
|
zlib \
|
|
&& true
|
|
|
|
# lua/luajit is not available on all platforms, but we do not consider it blocking
|
|
RUN apk add --no-cache -p /out luajit || true
|
|
RUN apk add --no-cache -p /out bcc-lua || true
|
|
|
|
FROM scratch
|
|
ENTRYPOINT []
|
|
CMD []
|
|
WORKDIR /
|
|
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
|
|
COPY --from=mirror /out /
|
|
COPY --from=build /out /
|