How to create Kernel Module Packages (KMPs) to provide external kernel modules/drivers

  • 7017997
  • 29-Aug-2016
  • 29-Aug-2016

Environment

SUSE Linux Enterprise Desktop 12
SUSE Linux Enterprise Desktop 11
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Software Development Kit

Situation

SUSE customers may occasionally need to use “external” kernel modules, i.e., modules/drivers that come from somewhere other than the standard SUSE kernels. SUSE partners and other developers who create such modules therefore need to know how to provide them in a way that will reduce reliability and updatability problems.

Resolution

SUSE encourages anyone who provides external modules to use the Kernel Module Package (KMP) format. By using the KMP format, developers can ensure that their modules will continue to work seamlessly through kABI-compatible kernel updates (such as SLE maintenance and security updates).


For instructions and an example of how to build a KMP using SLE 12 and the SLE 12 SDK, see:


https://www.suse.com/communities/blog/using-sles-and-the-sle-sdk-build-kernel-module-package-kmp/


For instructions and an example of how to build a KMP using the openSUSE Build Service, see:


https://www.suse.com/communities/blog/using-opensuse-build-service-create-and-distribute-kernel-module-packages/


SUSE partners who are interested in SUSE supportability policies with respect to external kernel modules, or who would like additional SUSE assistance with packaging their modules, may also wish to investigate the SUSE SolidDriver Program. The main SUSE SolidDriver Program documentation is available at:


https://drivers.suse.com/doc


For an explanation of the different SolidDriver program levels and how they apply to different types of drivers/kernel modules, see:


https://www.suse.com/communities/blog/suse-soliddriver-program/

Feedback service temporarily unavailable. For content questions or problems, please contact Support.