Auch auf älteren flachbrüstigen Geräten, wie dem Libretto 100CT, lässt sich Linux installieren.
Linux-Distributionen gibt es wie Sand am Meer und so ist die Auswahl relativ schwer. Eingeschränkt wird die Auswahl allerdings durch den Pentium-Prozessor. Da der Libretto über einen herkömmlichen Pentium und keinen Pentium Pro verfügt, scheiden sämtliche x86/i686 Distributionen aus. i585/i386 haben heutzutage nur noch relativ wenige Distributionen - eine für den Zweck wohl geeignete wären:
Alternativ käme auch in Frage:
Nun ist nur noch die Frage, welche Distribution am ehesten passt.
openSuSE mochte ich persönlich noch nie und würde ich auch nicht auf dem Libretto installieren. Grund hier ist, dass ich finde, dass SuSE ein unheimlich überladenes und demnach auch träges System ist. Debian Linux wäre sicherlich eine gute Wahl, doch ich wollte ein minimalistischeres System, das ich durch Anpassung abspecken kann. Hierfür wäre eigentlich Gentoo die richtige Wahl, doch ich muss ganz ehrlich sagen, dass ich mich damit überhaupt nicht auskenne. CRUX Linux ist eine für i586/i686 optimierte minimalistische Linux-Distribution, die Gentoo ein wenig ähnelt. Bei CRUX Linux wird nur ein kleiner Teil an vorkompilierter Software mitgeliefert, eben um ein Grundsystem zur Verfügung zu stellen. Zusätzliche Software und der Kernel müssen selbst kompiliert werden. Hierfür gibt es auch einen Paketmanager, der sich prt-get nennt und ein wenig an apt-get angelehnt ist. Der Paketmanager bezieht die Quellcodes und kompiliert die Software selbständig. Die Installation eines CRUX-Systems nimmt einige Zeit in Anspruch, zahlt sich aber aus. Mithilfe von CRUX-Linux ist es mir schon gelungen, ein Linux-System auf einem alten Notebook mit 90 Mhz Taktfrequenz und 24 MB RAM zum Laufen zu bekommen.
Alternativ stehen auch einige Mini-Distributionen mit i586/i386-Unterstützung zur Auswahl, beispielsweise SliTaz, TinyCoreLinux oder DamnSmallLinux. Nun, ich wollte ein vollwertiges System und kein Mini-System, weswegen ich mich hier gegen die Mini-Distributionen entschieden habe.
Mit BSD und LFS kenne ich mich nicht, außerdem wollte ich mir nicht unbedingt eine eigene Linux-Distribution zusammenbauen..
Entschieden habe ich mich also für CRUX Linux, welches zum Zeitpunkt meiner Recherchen in der Version 2.6 zum Download bereit steht.
Benötigt wird:
Wichtig ist auch die Software-Auswahl. Gänzlich dämlich wäre es, eine schlanke Distribution zu verwenden und dann KDE zu installieren - oder so ähnlich. Da mein Libretto (derzeit) leider nur 32 MB RAM hat, habe ich mich für ein einfaches Grundsystem ohne X mit folgenden Anwendungen entschieden:
Die Partionierung der Festplatte werde ich hier nicht detailiert beschreiben, das kann notfalls in der CRUX Dokumentation (siehe Internetverweise!) nachgelesen werden.
Bei der Paketauswahl im Installationsmenü habe ich folgende Anpassungen vorgenommen:
core
Entfernt:
opt
Entfernt:
prt-get depinst openvpn
prt-get depinst moc
Die Abhängigkeiten für MP3-, Flac- und Vorbis-Wiedergabe werden automatisch installiert.
prt-get depinst links
Links aus dem Ecarux-Userrepo wird automatisch mit Framebuffer-Support kompiliert, wird selbst kompiliert muss das Flag -enable-directfb gesetzt werden.
Das wichtigste und kniffligste ist der Kernel - er muss die benötigten Treiber und Module für Geräte, Dateisysteme, etc.. beherbergen. Besonders wichtige Module, wie das IDE-Modul des Mainboards oder das Root-Dateisystem, wie beispielsweise ext3, müssen fest im Kernel integriert werden, da der Kernel diese Module nicht nachladen kann (wie denn auch, wenn er nicht auf die Platte und Partition zugreifen kann?).
Der Kernel sollte auf einem anderen System kompiliert werden, da 166 Mhz doch ein bisschen wenig hierfür sind - es sei denn man hat einige Stunden Zeit.
Für die Hardware des Librettos sind zahlreiche Anpassungen notwendig, ich habe diese Änderungen in einer benutzerdefinierten Konfiguration zusammengetragen. Sie kann hier (t100ct_kernel.conf) heruntergeladen werden.
Meine Kernel-Konfiguration bezieht sich auf die Version 2.6.35.4, wird eine ältere Version benutzt, müssen die Änderungen manuell vorgenommen werden. Für den Fall hier meine Vorgehensweise:
...TODO...
Erscheint im Kernel-Log…
dmesg | less
…der Hinweis, dass Cardbus-Karten nicht supportet wird, muss im BIOS folgende Einstellung geändert werden:
PC CARD => Controller Mode => CardBus/16-bit
Diese Einstellung stand bei meinem Libretto vorher auf Auto-Selected.
Nun sollten auch Cardbus-Karten unter Linux funktionieren.