Umgang mit Closed-Source-Modulen bei der Konfiguration eines neuen Kernel-Builds

Umgang mit Closed-Source-Modulen bei der Konfiguration eines neuen Kernel-Builds

Ich fand diesen Befehl sehr nützlich:

make localmodconfig

Das Vorhandensein einiger Closed-Source-Treiber/Module stellt jedoch ein Problem dar, da dieser Befehl keine geeignete Methode zum Einbinden der Konfigurationsparameter für meine Closed-Source-Software findet.

Meine Frage lautet: Wie kann ich beispielsweise fglrxmeinen Kernel-Build konfigurieren, wenn ich das Modul installiert habe?

Antwort1

Closed-Source-Treiber sind nicht Teil der Linux-Kernel-Quellverteilung und können daher nicht ohne weiteres mit dem Linux-Kernel-Makefile erstellt werden.
Sie werden vom Hersteller normalerweise separat als Dateipaket geliefert, einschließlich der erforderlichen Skripte, die gemäß den bereitgestellten Anweisungen ausgeführt werden müssen, damit der Treiber ordnungsgemäß auf dem System installiert wird.

Im besonderen Fall des (mittlerweile veralteten)proprietärer fglrx-Treiber, die benötigten Dateien würden im .rpm-Format gepackt und würden Folgendes bereitstellen:

Readme-Datei oder ein Satz Dokumentationsseiten,
DRI-kompatibles Treibermodul für 2D-Unterstützung,
DRI-kompatibles Treibermodul für OpenGL-Unterstützung,
Kernelmodul (vorkompilierte Binärdateien plus Quelle/Bibliothek zum Selbstbau)

und diverse andere Dienstprogramme

Alternativ und abhängig von Ihrer Linux-Distribution und der Verbreitung der angetriebenen Hardware könnte das zugehörige Repository ein spezielles Paket anbieten, mit dem der proprietäre Treiber installiert werden kann. Dabei werden die Anweisungen des entsprechenden Paketmanagers verwendet, wie beispielsweise in Bezug auf den fglrx-Treiber, als dieser noch nicht veraltet war:

emerge media-video/ati-drivers # gentoo portage way
apt-get install fglrx-driver # debian way

Dies ist bei weitem die bevorzugte Methode, da hierdurch eine perfekte Integration mit bereits installierter Software sichergestellt wird, ggf. Upgrades für Abhängigkeiten (Dependencies) vorgeschlagen werden und der Paketmanager ggf. Treiber-Upgrades vorschlagen kann, wenn diese verfügbar sind.

Einige Kernel-CONFIG_*-Optionen müssen möglicherweise angepasst werden, damit der proprietäre Treiber ordnungsgemäß funktioniert. Dies ist insbesondere dann der Fall, wenn Open-Source-Alternativen zum proprietären Treiber im Kernel kompiliert werden, was zu Konfliktsituationen führen kann. Dies
würde beim fglrx-Treiber passieren, wennCONFIG_DRM_RADEON=[y]

Alle besten Distributionen dokumentieren diese Anforderungen im Detail. Wenn an dieser Stelle Änderungen erforderlich sind, muss der Kernel natürlich neu erstellt werden.

verwandte Informationen