Erstellen von Kernelmodulen für verschiedene Linux-Versionen

Ich bin neu im Schreiben von Kernelmodulen und stehe vor wenigen nicht-technischen Problemen.

Da zum Erstellen des Kernelmoduls für eine bestimmte Kernelversion (z. B. 3.0.0-10, 10 ist die Patch-Nummer) dieselben Kernel-Header-Versionen erforderlich sind, sollten Sie die Kernel-Header installieren und die Entwicklung dort beginnen. Kernel-Header für die gepatchte Kernel-Version sind jedoch nicht verfügbar. Da ich einen Gast-Kernel vmlinuz-3.0.0-10 habe, der auf der Maschine läuft und beim Herunterladen von Kernel-Headern heißt, dass er nicht gefunden wurde.

Ein anderer Ansatz ist, die Quelle für diesen speziellen Kernel zu ermitteln, aber das Problem ist, dass dieselbe Quelle für den gepatchten Kernel nicht verfügbar ist (es ist nicht erforderlich, Quellen für linux-kernel-3.0.0-10 oder sogar linux-kernel-3.0.0 zu ermitteln) und 10. Patch). In einigen Situationen ist es möglich, die Quelle des laufenden Kernels zu ermitteln, jedoch nicht immer.

Eine andere Möglichkeit besteht darin, einen anderen Kernel als den laufenden Kernel zu erstellen und den erstellten Kernel auf dem Computer zu platzieren. Es ist jedoch erforderlich, die Module des Kernels zu erstellen, die zeit- und platzaufwendig sind.

Die Absicht, dies zu erfragen, ist es, die Vorlieben der Kerneltreiber-Entwickler zu kennen. Gibt es noch andere Alternativen?

Ist es möglich, das Kernelmodul in einer Version zu kompilieren und in einer anderen Version auszuführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage