Eher ein Merkzettel¶
Das neue Debian ist da.
Prima.
Debian ist ein imho. guter Kompromiss aus Free Software und Nutzbarkeit von geheimgehaltener Hardware:
primär ist nur Freie Software enthalten, aber das Debian-Team stellt auch
non-free Software zur Verfügung, pflegt entsprechende Archive und verhält sich
insgesamt nicht so extremistisch wie einige Verfechter Freier Software, die mir
persönlich etwas auf den Geist gehen.
Also installiert man sein Debian aus einem der üblichen Installer-Images, fügt danach
das Repository non-free hinzu und installiert von dort jene Firmware, die eben nur als
proprietärer Binärcode zu bekommen ist und nicht als Freie Software auch im Source.
Ich arbeite selber für Hersteller von Hard- und Software und kann daher verstehen, warum man
seine Treibersoftware nicht als Quelltext veröffentlichen mag.
Oder zumindest nicht komplett.
Der oft gehörte Grund, dass aus dem Treiber-Quelltext auf Firmengeheimnisse (Interna der
jeweiligen Hardware) geschlossen werden könnte und so teuer bezahlte Entwicklung zu einfach
abgekupfert würde, ist imho valide.
Aber seltener stichhaltig als er angeführt wird; eher ist den Leuten der Source schlicht
peinlich, weil von so grottiger Qualität, dass sie sich nicht trauen, den zu veröffentlichen.
Aber ich schweife - wie gewöhnlich :-) -ab.
was aber, wenn man zum Installieren schon nonfree-Firmware braucht¶
Ich wollte mal-eben-schnell einen Laptop neu einrichten, mit dem neuen Debian (Buster istr grad rausgekommen).
Dessen Ethernet funktioniert nicht (nicht nachfragen - ich war ungeschickt beim
Rumstöpseln verschiedener RJ45-Leitungen - sehr peinlich), der kann also nur WLAN.
Der WLAN-chip ist ein üblicher Intel-Chip und das ist genau einer von denen, für
die es eben nur Binär-Blobs als Firmware gibt.
Doof das.
Aber es stellt sich heraus, dass man die Debian netinst-images relativ einfach selber
modifizieren kann.
Also ein eigenes Image baun, das neben der Freien auch die nonfree-Firmware enthält und das Wifi
direkt nutzen kann.
CD-Image besorgen von netinst Nonfree-Firmware besorgen aus dem Archiv passend zur Version.
CD-Inhalt extrahieren und schreibbar machen mit
bsdtar -C cd/ -xf debian-10.0.0-amd64-netinst.iso
chmod -R +w cd
Hybrid-Boot-Block extrahieren mit
dd if=debian-10.0.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin
Firmware-Paket extrahieren in das Struktur zur CD
cd cd/firmware
tar xvfz ../../firmware.tar.gz
cd ..
Und dann zum neuen Image "brennen":
xorriso -as mkisofs -o test.iso \
-isohybrid-mbr isohdpfx.bin \
-c isolinux/boot.cat -b isolinux/isolinux.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table ./cd
Danach dann test.iso wie gewohnt auf den USB-Stick schreiben.
Die Anleitung zum Modifizieren von installer-Images
macht auch einen Schritt, die MD5-Summen und Paketlisten anzupassen.
Das ist hier nicht nötig, da der Installer die Firmware auch lädt und verwendet, wenn er nicht
angewiesen wird, diese im Zielsystem auch zu installieren.
Aber das sollte man vielleicht auch noch tun; später mal.