Modul-Patch automatisch anwenden und Kernel kompilieren, wenn aktualisiert?

8

Ich habe kürzlich einen einzeiligen Patch drivers/bluetooth/btusb.cangewendet, um die Kompatibilität mit meinem Bluetooth-Gerät zu ermöglichen. Wenn ich jedoch ein Kernel-Upgrade erhalte, geht der Patch verloren, bis jemand ihn zurückportiert (was nicht wahrscheinlich ist). Gibt es eine Möglichkeit für mich, ein Skript auszuführen und jedes neue Kernel-Upgrade automatisch zu patchen?

DKMS scheint eine gute Lösung zu sein, aber ich bin mir nicht sicher, wie ich die Dinge einrichten soll. Ich möchte nicht jedes Mal, wenn ich ein Update erhalte, den gesamten Linux-Kernel neu kompilieren, aber ich möchte diesen Patch auf das BTUSB-Modul anwenden, neu kompilieren und bei jedem Update in meinen Kernel einfügen. Wie kann ich dies mit der Quelle von tun apt-get source linux-source-3.2.0? Welche Dateien muss ich kopieren? Der kritische makeAufruf ist make M=drivers/bluetooth modules, dies hängt jedoch von anderen Kernel-Dienstprogrammen ab, die zuerst erstellt werden müssen. Wie kann ich dafür ein DKMS-Modul zusammenbauen?

Details zum Anwenden des Patches finden Sie hier auf Ask Ubuntu.

Naftuli Kay
quelle

Antworten:

3

Ja, Sie sollten Ihre Änderungen als DKMS-Modul verpacken. Das Erstellen von Modulen für mehrere installierte Kernel oder das automatische Neuerstellen auf einem aktualisierten Kernel ist das Hauptmerkmal von DKMS.

Ubuntu - Community Dokumention hat einen schönen Artikel zu diesem Thema hier .

gertvdijk
quelle
3
Können Sie ein Beispiel für die Konfiguration von DKMS für meinen speziellen Anwendungsfall geben? Welche Dateien muss ich beispielsweise für mein Modul kopieren? Wie soll ich dkms.conf konfigurieren?
Naftuli Kay