mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * hardware_enablement/kmm-kernel-module-management.adoc
|
|
|
|
:_mod-docs-content-type: PROCEDURE
|
|
[id="kmm-using-driver-toolkit_{context}"]
|
|
|
|
= Using the Driver Toolkit
|
|
|
|
The Driver Toolkit (DTK) is a convenient base image for building build kmod loader images.
|
|
It contains tools and libraries for the OpenShift version currently running in the cluster.
|
|
|
|
Use DTK as the first stage of a multi-stage Dockerfile.
|
|
|
|
.Procedure
|
|
|
|
. Build the kernel modules.
|
|
|
|
. Copy the `.ko` files into a smaller end-user image such as https://catalog.redhat.com/software/containers/ubi9/ubi-minimal[`ubi-minimal`].
|
|
|
|
. To leverage DTK in your in-cluster build, use the `DTK_AUTO` build argument.
|
|
The value is automatically set by KMM when creating the `Build` resource. See the following example.
|
|
+
|
|
[source,dockerfile]
|
|
----
|
|
ARG DTK_AUTO
|
|
FROM ${DTK_AUTO} as builder
|
|
ARG KERNEL_FULL_VERSION
|
|
WORKDIR /usr/src
|
|
RUN ["git", "clone", "https://github.com/rh-ecosystem-edge/kernel-module-management.git"]
|
|
WORKDIR /usr/src/kernel-module-management/ci/kmm-kmod
|
|
RUN KERNEL_SRC_DIR=/lib/modules/${KERNEL_FULL_VERSION}/build make all
|
|
FROM ubi9/ubi-minimal
|
|
ARG KERNEL_FULL_VERSION
|
|
RUN microdnf install kmod
|
|
COPY --from=builder /usr/src/kernel-module-management/ci/kmm-kmod/kmm_ci_a.ko /opt/lib/modules/${KERNEL_FULL_VERSION}/
|
|
COPY --from=builder /usr/src/kernel-module-management/ci/kmm-kmod/kmm_ci_b.ko /opt/lib/modules/${KERNEL_FULL_VERSION}/
|
|
RUN depmod -b /opt ${KERNEL_FULL_VERSION}
|
|
----
|