mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 01:06:27 +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>
49 lines
1.5 KiB
Docker
49 lines
1.5 KiB
Docker
# Make modules from a recentish kernel available
|
|
FROM linuxkit/kernel:6.6.71 AS kernel
|
|
|
|
FROM linuxkit/alpine:35b33c6b03c40e51046c3b053dd131a68a26c37a AS build
|
|
RUN apk add --no-cache git kmod
|
|
|
|
# Clone the firmware repository
|
|
# Make sure you also update the FW_COMMIT in ../firmware-all/Dockerfile
|
|
ENV FW_URL=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
|
|
ENV FW_COMMIT=edf390c23a4e185ff36daded36575f669f5059f7
|
|
WORKDIR /
|
|
RUN git clone ${FW_URL} && \
|
|
cd /linux-firmware && \
|
|
git checkout ${FW_COMMIT}
|
|
|
|
# Copy files we always need/want: Licenses, docs and AMD CPU microcode
|
|
WORKDIR /linux-firmware
|
|
RUN set -e && \
|
|
mkdir -p /out/lib/firmware && \
|
|
cp README WHENCE /out/lib/firmware && \
|
|
cp GPL-? LICENSE.* LICENCE.* /out/lib/firmware && \
|
|
case $(uname -m) in \
|
|
x86_64) \
|
|
cp -r amd-ucode /out/lib/firmware; \
|
|
;; \
|
|
esac
|
|
|
|
# Create copy of files with symlinks based on WHENCE
|
|
RUN cd /linux-firmware && \
|
|
./copy-firmware.sh /linux-firmware-whence
|
|
|
|
# Extract kernel modules for
|
|
WORKDIR /
|
|
COPY --from=kernel /kernel.tar /kernel.tar
|
|
RUN tar xf /kernel.tar
|
|
|
|
# Copy files required by the modules
|
|
RUN set -e && \
|
|
for fw in $(find /lib/modules -name \*.ko -exec modinfo --field=firmware {} \;); do \
|
|
mkdir -p "/out/lib/firmware/$(dirname $fw)" && \
|
|
[ -e "/linux-firmware-whence/$fw" ] && cp "/linux-firmware-whence/$fw" "/out/lib/firmware/$fw"; \
|
|
done
|
|
|
|
FROM scratch
|
|
WORKDIR /
|
|
ENTRYPOINT []
|
|
COPY --from=build /out/lib/ /lib/
|
|
|