Original-URL des Artikels: https://www.golem.de/news/linux-fehlende-kconfig-details-veraergern-distro-maintainer-1404-105906.html    Veröffentlicht: 16.04.2014 11:27    Kurz-URL: https://glm.io/105906

Linux

Fehlende Kconfig-Details verärgern Distro-Maintainer

Entwickler bei Linux-Distributionen müssen oft raten, welche Linux-Module sie brauchen. Ursache sind unvollständige Informationen zu Treibern und der von ihnen benötigten Architekturen. Jetzt gibt es Beschwerden.

Jean Delvare bei Suse hat sich über fehlende oder ungenaue Informationen in den Konfigurationsdateien für den Linux-Kernel beschwert. Er richtete in der Kernel-Mailingliste einen Appell an die Kernel-Entwickler, mehr Details zu Treibern - unter Linux Module genannt - zu liefern. Denn Linux hat Tausende Treiber - Tendenz steigend. Viele davon werden beispielsweise nur für spezielle Plattformen benötigt, etwa ARM.

Delvare zufolge muss er die Linux-Kernel so konfigurieren, dass sie für die einzelnen Architekturen geeignet sind. Dafür müssen Treiber in dem Konfigurationswerkzeug Kconfig deaktiviert werden. Andere erhalten den Status "m", sie werden also nicht direkt in den Kernel hineinkompiliert. Der Linux-Kernel besteht aus einer einzigen Binärdatei, die meist so klein wie möglich gehalten wird, und deshalb nur die für den Start eines Systems nötigen Treiber enthält. Optionale Treiber liegen als einzelne Dateien bei, meist im Verzeichnis /lib/modules.

Reichlich Optionen

Kconfig hat mittlerweile über 6.000 Optionen, die alle durchgegangen werden müssen, wenn ein vollkommen frischer Kernel kompiliert werden soll. Sämtliche Einträge enthalten weitergehende Informationen zu den Modulen, die normalerweise auch darüber Auskunft geben, für welche Architektur sie gedacht sind. Das ist aber offensichtlich nicht immer der Fall, wie Delvare jetzt bemerkt haben will. Oft wird erst in einem Untermenü klar, ob ein Modul geeignet ist oder nicht.

Letztendlich könnte ein Kernel auch mit sämtlichen Modulen kompiliert werden. Der Speicherbedarf würde zumindest auf Rechnern nicht übermäßig steigen. Da Module nur dann geladen werden, wenn das entsprechende Geräte angeschlossen ist, wird auch der Arbeitsspeicher nicht knapp.

Bessere Infos und schnellere Rechner

Anders auf eingebetteten Systemen; hier müssen Linux-Kernel meist so wenig Ballast wie möglich mitbringen. Auch für Linux-Distributionen, die oft mehrere verschiedene Kernel erstellen müssen, ist es mühsam, jedes Mal die Konfigurationsdatei durchzugehen. Ein angepasster Kernel ist hingegen schneller kompiliert, auch wenn Kernel-Entwickler Greg Kroah-Hartman darauf hinweist, dass sein herkömmlicher Laptop den gesamten Kernel in etwa 20 Minuten kompiliere.

Zwar gibt es den Befehl make oldconfig, bei dem die bestehende Konfigurationsdatei für eine neuere Kernel-Version übernommen wird. Wegen unzureichender Informationen in den Treibern muss sich Delvare nach eigenen Angaben mit Fragen herumschlagen, die oft irrelevant sind.

Delvare schlägt vor, dem jeweiligen Treiber-Code zumindest mehr COMPILE_TEST-Abhängigkeiten hinzuzufügen, die die benötige Architektur des Treiber ausweisen. Außerdem sollten die Abhängigkeiten in Kconfig klarer definiert werden. Der Fedora-Entwickler Josh Boyer pflichtet ihm ebenso bei wie Kroah-Hartman, der allerdings auch empfiehlt, schnellere Rechner fürs Kompilieren zu besorgen.  (jt)


Verwandte Artikel:
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Librem 5: Purism-Smartphone bekommt Smartcard für Verschlüsselung   
(09.03.2018, https://glm.io/133248 )
Bilderkennung: Roboter löst Rubik's Cube in 380 Millisekunden   
(08.03.2018, https://glm.io/133228 )
Lizenzbestimmungen: Linux-Kläger zieht Antrag gegen Elektronikhersteller zurück   
(08.03.2018, https://glm.io/133215 )
Lizenzbestimmungen: Linux-Abmahnungen verunsichern Elektronikbranche   
(05.03.2018, https://glm.io/133139 )

© 1997–2020 Golem.de, https://www.golem.de/