Linux - DKMS - Headerfiles?

2 Antworten

Erst mal was zum Verständnis:

Dynamic Kernel Module Support (DKMS) is a program/framework that enables generating Linux kernel modules whose sources generally reside outside the kernel source tree. The concept is to have DKMS modules automatically rebuilt when a new kernel is installed.

https://wiki.archlinux.org/title/Dynamic_Kernel_Module_Support

Was bedeutet das: Die Treiber liegen auf dem Rechner als externes Kernel-Modul und im Soruce-Code vor. Beim Kernel-Update werden die Module aus dem Source-Code neu erstellt. Dafür benötigt der Compiler (üblicherweise gcc) die Headerdateien, um die benötigten Systembibliotheken einzubinden.

Die Header-Dateien sollten also als erstes installiert werden.

Die Headerdateien benötigst Du ebenfalls, wenn Du Programme selber kompilieren musst, da sie nur im Source-Code verfügbar sind.

https://de.wikipedia.org/wiki/Dynamic_Kernel_Module_Support

Zitat aus der Quelle:

Dynamic Kernel Module Support, kurz DKMS, ist ein Framework für den Betriebssystem-KernelLinux.

dkms steht also für dynamic kernel module support.

Dynamisch bedeutet auch Temporär . Wenn man diese aber statisch also Dauerhaft haben will muss man das dem Kernel mitteilen.

Die Header werden benötigt um die Quellen mitunter festzulegen von wo man die Infos sich ziehen soll.

Meistens werden DKMS Module für den Kernel für Testzwecke genutzt um zu sehen inwiefern es Probleme gibt und wo was gemacht werden muss. Weil sie genau wie geladen auch ausladen kann und so keine Probleme befürchten muss.

Woher ich das weiß:Berufserfahrung – Linux Administrator
Manfred958 
Fragesteller
 11.02.2023, 16:50

Sorry, ich versteh es einfach nicht.

Soweit ich verstehe, gibt es Programme, die seperat Treiber benötigen. Diese werden dann auch nur durch DKMS bei einem Kernelupdate/Upgrade automatisch weider eingebunden, sonst nicht.

Das ist doch soweit richtig oder?

Wozu brauch ich dann die Header-Files des Kernel? Damit die Module vom jetzigen Kernel gefunden werden? Liegen die sonst nur rum, obwohl sie installiert wurden?

Die DKMS Module brauchen eine Verbindung zum Kernel, dafür sorgen dann die Headerfiles?

Also mit DKMS installiert man Module und mit Headerfiles baut man somit eine Verbinddung zum Kernel auf? Kann man das so oberflächlich sagen?

0