37 lines
967 B
Docker
37 lines
967 B
Docker
ARG FEDORA
|
|
FROM registry.fedoraproject.org/fedora:${FEDORA} AS build
|
|
|
|
ARG KVER
|
|
|
|
# Download a specific version of kernel-devel from Koji
|
|
RUN --mount=type=cache,destination=/var/cache/dnf \
|
|
dnf install -y koji \
|
|
&& koji download-build --rpm --arch=$(uname -m) kernel-devel-${KVER} \
|
|
&& :
|
|
|
|
# Install kernel-devel and git
|
|
RUN --mount=type=cache,destination=/var/cache/dnf \
|
|
dnf install -y \
|
|
--setopt install_weak_deps=0 \
|
|
./kernel-devel-*.rpm \
|
|
git-core \
|
|
&& :
|
|
|
|
RUN install -o 101 -g 101 -d /usr/src/gasket-driver
|
|
|
|
USER 101:101
|
|
|
|
# Build the gasket kernel module
|
|
RUN git clone https://github.com/robertzaage/gasket-driver.git /usr/src/gasket-driver
|
|
RUN git -C /usr/src/gasket-driver checkout 2b0e08974e486002a70616f3c272ffb2203e044b
|
|
RUN make \
|
|
-C /usr/src/kernels/$(rpm -q --qf %{V}-%{R}.%{ARCH} kernel-devel) \
|
|
M=/usr/src/gasket-driver/src \
|
|
modules
|
|
|
|
FROM busybox
|
|
|
|
COPY --from=build /usr/src/gasket-driver/src/*.ko /
|
|
|
|
CMD insmod gasket.ko && insmod apex.ko
|