Atyfb auf dem Dell Latitude CPx H500GT
Seit geraumer Zeit besitze ich einen schon in etwas die Jahre gekommenen (manch einer würde sagen antiken) Dell Latitude CPx H500GT. Ein 14-Zoll Notebook mit einer 500MHz Pentium-III CPU und 256 MB Ram aus dem Jahr 2000. Zwar ist das nichts mit dem man heute noch irgendwen beeindrucken kann, aber das Ding ist in tadelosem Zustand und auf der Tastatur tippen sich die Blogposts wie in Butter ☺. Installiert ist ein aktuelles Debian "Stretch", ohne X - und was soll ich sagen, alles läuft so wie es soll. Zumindest mittlerweile. Ich hatte nämlich bis dato ziemliche Probleme das richtige Kernelmodul für die verbaute ATI Mach64 Grafikkarte zu laden. Nach langem hin-und-her, habe ich jetzt endlich zumindest einen Workaround gefunden mit dem das atyfb-Kernelmodul geladen werden kann.
Einen ersten Schritt in die richtige Richtung brachte das Einfügen der Zeile
GRUB_TERMINAL=console in der Datei /etc/default/grub. Gesagt getan und
siehe da man kann nun mit sudo modprobe atyfb das richtige Kernelmodul laden.
Das Ganze zu automatisieren war wiederum eine andere Geschichte. Für das Laden
spezifischer Kernelmodule zum Bootzeitpunkt ist der SystemD-Dienst
systemd-modules-load.d.service zuständig, der zunächst im Ordner
/etc/modules-load.d nach *.conf Dateien Ausschau hält und dann die darin
genannten Kernelmodule lädt. So weit zur Theorie. Legt man in diesem
Verzeichnis eine Datei atyfb.conf und schreibt in diese den gleichnamigen
Modulnamen atyfb so sollte dieses beim Systemstart geladen werden.
Eigentlich. Nach langem hin und her und nach einem aufmerksamen durchlesen der
Ausgabe von journalctl -xe | less fand ich den Hinweis, dass das Kernelmodul
nicht geladen werden konnte, weil es auf einer blacklist stand. Das Ganze
brachte mich dann wiederum zu der Frage ob so eine Blacklist noch an anderer
Stelle als unter /etc/modprobe.d geführt wird und siehe da mit der
Brachialmethode grep -r atyfb / 2>/dev/null erschien die verräterische Zeile
/lib/modprobe.d/blacklist-fbdev: blacklist atyfb, die ich nur noch
auskommentieren musste.
Jedenfalls klappt es nun und das richtige Kernelmodul wird beim Systemstart
geladen. So richtig smooth ist diese Methode allerdings noch nicht. Warum auch
immer werden Einstellungen, die ich in der Datei /etc/default/console-setup
vorgenommen habe nicht beim Start geladen. Hier hilft immer nur ein manuelles
systemctl restart console-setup.service. Man kann halt nicht alles haben und
vermutlich ist das der Preis, wenn man auf 17 Jahre alter Hardware unterwegs
ist ☺.