17.1. Neue Hardware

Die Auswahl der installierten Pakete auf Ihrem System orientiert sich an den Hardwarekomponenten, die im System verbaut wurden und in Benutzung sind. Ändert sich daran etwas — bspw. Hardware wird ausgetauscht oder hinzugefügt — werden mitunter auch andere Kernelmodule zur Unterstützung dieser neuen Komponenten benötigt.

Etwas mühselig ist es, durch eigene Experimente Gewissheit zu bekommen, welche Pakete aufgrund des Komponentenwechsels entfernt und ergänzt werden müssen. In diesem Fall kommen die beiden Pakete isenkram [Debian-Paket-isenkram] und isenkram-cli [Debian-Paket-isenkram-cli] des norwegischen Entwicklers Petter Reinholdtsen ins Spiel. Dieses hat zwar bereits den Status stable, steht aber unter sehr aktiver Entwicklung.

Hinter Isenkram — dänisch und norwegisch für Eisenwaren (Hardware) — verbirgt sich eine Art Benachrichtigungsdienst, der überprüft, ob die benötigten Pakete für die neue Hardware bereits auf ihrem System installiert sind. Falls nicht, werden diese (automatisch) nachgezogen. Dazu klinkt es sich als zusätzliches Modul in die Konfiguration von Tasksel ein (siehe Abschnitt 6.3.1, „tasksel“).

Das Modul wird vom Paket isenkram-cli [Debian-Paket-isenkram-cli] bereitgestellt und nach dessen Installation unter unter /usr/share/tasksel/descs/isenkram.desc abgelegt. Es beinhaltet die notwendige Beschreibung für den Menüeintrag, den Tasksel dann anzeigt, nachfolgend beispielhaft für den Eintrag isenkram-firmware zu sehen.

Menüeintrag zu Isenkram für Tasksel (Ausschnitt). 

$ cat /usr/share/tasksel/descs/isenkram.desc
...
Task: isenkram-firmware
Section: hardware
Description: Hardware specific firmware packages (autodetected by isenkram)
 Based on the detected hardware various hardware specific firmware
 packages are proposed.
Test-new-install: mark show
Relevance: 8
Packages: for-current-hardware-firmware
$

Abbildung 17.1. Zusätzliche Menüeinträge in Tasksel

praxis/fehlende-pakete-bei-bedarf-hinzufuegen/tasksel-isenkram.png

Als nächstes stellen wir Ihnen die einzelnen Werkzeuge und deren Funktionen genauer vor, die sich in den Paketen befinden.

17.1.1. Passende Pakete mit isenkram-lookup finden

Das Werkzeug isenkram-lookup aus dem Paket isenkram-cli [Debian-Paket-isenkram-cli] gleicht die Hardware ihres Systems mit den Einträgen in den Paketlisten ab und sucht daraus die Pakete heraus, die für ihre Maschine relevant sind. Ein Durchlauf auf einem Lenovo ThinkPad unter Debian 12.6 Bookworm brachte nachfolgende Liste hervor, die bspw. Pakete wie tpb [Debian-Paket-tbp], thinkfan [Debian-Paket-thinkfan] und gkrellm-thinkbat [Debian-Paket-gkrellm-thinkbat] zur Steuerung ThinkPad-spezifischer Komponenten beinhaltet. Das Paket cheese ist enthalten, da das Gerät über eine Kamera verfügt, die über USB angeschlossen ist.

Module mit isenkram-lookup finden. 

$ isenkram-lookup
bluez
cheese
ethtool
gkrellm-thinkbat
hdapsd
media-player-info
pidgin-blinklight
thinkfan
tlp
tp-smapi-dkms
tpb
$

Obige Liste kommt zustande, nachdem isenkram-lookup zuerst alle Werte von modalias [modalias] aus dem Verzeichnis /proc ausgelesen hat. Es versucht im Anschluss daran, passende Pakete zu diesen modalias-Werten zu finden. Die ausgegebene Liste ist alphabetisch anhand des Paketnames sortiert und umfasst keine weiteren Angaben zum identifizierten Paket.

17.1.2. Hardware-spezifische Pakete mit isenkram-pkginstall lokalisieren

Das Werkzeug isenkram-pkginstall aus dem Paket isenkram-cli [Debian-Paket-isenkram-cli] bietet alle zuvor von isenkram-lookup gefundenen Hardware-spezifischen Pakete zur Installation an, die zur aktuellen Maschine passen.

ToDo:

  • kommt beim Debian-Installer zum Einsatz, um zu erkennen, welche Pakete beim Setup benötigt werden
  • wie unterscheiden sich isenkram-pkginstall und isenkram-autoinstall-firmware voneinander?

    • isenkram-autoinstall-firmware wertet dmesg aus und sucht darin nach Ausgaben zu fehlenden Treibern
    • aktiviert dazu die Distributionsbereiche contrib, non-free und non-free-firmware in den Paketquellen, um an alle Pakete zu den Treibern zu kommen

17.1.3. Fehlende Firmware mit isenkram-autoinstall-firmware nachziehen

Mit dem Werkzeug isenkram-autoinstall-firmware aus dem Paket isenkram-cli [Debian-Paket-isenkram-cli] gleichen Sie den laufenden Linuxkernel mit der Hardware ihres Systems ab und installieren fehlende Firmware-Pakete. Im folgenden Beispiel ist es das Paket firmware-misc-nonfree [Debian-Paket-firmware-misc-nonfree] und daraus das Modul firmware-realtek-rtl8723cs-bt für den Realtek-Chipsatz.

Nachinstallation von Paketen nach Ausführung von isenkram-autoinstall-firmware

# isenkram-autoinstall-firmware
info: looking for firmware file iwl-debug-yoyo.bin requested by kernel
info: looking for firmware file iwl-debug-yoyo.bin requested by kernel
...
info: locating packages with the requested firmware files
info: determining whether enabling other components is required
info: trying to install firmware-misc-nonfree
firmware-realtek-rtl8723cs-bt
Vormals nicht ausgewähltes Paket firmware-misc-nonfree wird gewählt.
(Lese Datenbank ... 419694 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../firmware-misc-nonfree_20230210-5_all.deb ...
Entpacken von firmware-misc-nonfree (20230210-5) ...
Vormals nicht ausgewähltes Paket firmware-realtek-rtl8723cs-bt wird gewählt.
Vorbereitung zum Entpacken von .../firmware-realtek-rtl8723cs-bt_20181104-2_all.deb ...
Entpacken von firmware-realtek-rtl8723cs-bt (20181104-2) ...
firmware-misc-nonfree (20230210-5) wird eingerichtet ...
firmware-realtek-rtl8723cs-bt (20181104-2) wird eingerichtet ...
Trigger für initramfs-tools (0.142) werden verarbeitet ...
update-initramfs: Generating /boot/initrd.img-6.1.0-23-amd64
#

17.1.4. Passende Hardware identifizieren

Nicht immer ist es einfach, herauszufinden, ob eine gewünschte Hardware auf ihrem Linux-System unterstützt wird. Die folgenden beiden Projekte helfen Ihnen bei der Vorauswahl: