Nachdem die allgemeinen Hardwareprobleme wieder im Griff sind, wird es Zeit die Erfahrungen mit TinyCore zusammenzufassen. Ich habe mich nach meinem letzten Beitrag zum Thema "TinyCore remastern" noch etwas mit der Konfiguration dieser minimalistischen Linux-im-RAM-Distribution beschäftigt und lade die gefundenen Erkenntnisse hier einfach mal ab.
TinyCore auf dem Thinkpad 600
Da ich festgestellt habe, dass der standardmäßig installierte XVesa-Treiber nur eine unzureichende Bildschirmauflösung bietet und alles grünlich verzerrt, habe ich den Xorg-Server in Version 7.6 installiert. Als Ausgangsbasis zum weiteren Testen habe ich mir den Vorschlag von Heinz zu Herzen genommen und den Browser "Bon Echo", alias Firefox 2.0 mit GTK1-Bibliothek, Fluff, ein Dateimanager auf Basis von FLTK und kmaps für die deutsche Tastaturbelegung installiert. Nur an der Option "Add app inside intitrd on boot" konnte ich danach nicht mehr festhalten.
Ich denke, es liegt nicht an der Größe meines Arbeitsspeichers, 128 MB sind ausreichend um all diese Erweiterungen direkt beim Booten in den RAM zu kopieren. Dennoch wird der Xorg-Server nicht aktiviert und TinyCore fällt auf den XVesa-Modus zurück. Das Problem ließ sich nur durch Remastern mit der Option "Add app outside initrd on boot" beseitigen. Das bedeutete zwar, dass ich den USB-Stick nicht mehr entfernen konnte, gleichzeitig sinkt dadurch aber auch der benötigte Verbrauch an RAM, weswegen diese Methode für die älteren Rechner mir nun als der bessere Weg erscheint. Die Startzeit beim Booten wird ebenfalls verkürzt, hingegen erhöht sich die Wartezeit beim ersten Aufruf der Erweiterung.
Apps Audit
Natürlich kann man TinyCore auch komplett in Virtualbox remastern und wie im letzten Beitrag zu diesem Thema erwähnt, überflüssige Extensions der Multicore-Version entfernen und Konfigurationsdateien schon vor dem ersten Remastern bearbeiten.
Da das langweilig war, bin ich sofort nach dem Beenden von Ezremaster auf den Thinkpad 600 gewechselt und habe dort dann alle weiteren Anpassungen vorgenommen. Mit Hilfe der Anwendung "Apps Audit", grob vereinfacht eine Mischung aus Ubuntus Softwarecenter und Synaptic :D, lassen sich Extensions entfernen und das System auf den neusten Stand bringen und einstellen, welche Erweiterungen schon beim Booten (OnBoot) und welche erst auf Nachfrage (OnDemand) in den RAM geladen werden.
- Pakete entfernen. Dependencies -> Build Reporting Database -> Extension auswählen -> Mark for Deletion -> Rebooten (mit Backup!)
- System aktualisieren. Updates -> Check for Updates
- Erweiterungen beim Booten laden. OnBoot -> Maintenance -> Extension wählen
- Erweiterung nach Anfrage laden. OnDemand -> Maintenance -> Extension wählen
AppBrowser
Applikationen, Softwarepakete sagen die einen, TinyCore nennt es Extensions. Diese Anwendungen lassen sich mit dem AppBrowser installieren. Er ist denkbar einfach zu bedienen. Mit Connect verbindet man sich zum TinyCore-Repositorium, danach nur noch die Erweiterung auswählen und aus den vier Modi wählen. Ich habe hier wie auch zuvor OnDemand gewählt und als weiteres App Dropbear, den winzigen SSH-Client und -Server installiert.
Alle Erweiterungen werden als Loop-Device eingehängt und dann lediglich mit dem Dateisystem verlinkt. Im Prinzip verhalten sich deshalb TinyCores Extensions ähnlich wie die IMG-Dateien eines Mac. Möchte man Programme deinstallieren genügt es einfach die TCZ-Datei zu löschen.
Netzwerk
Das Letztere wäre ohne funktionierendes Netzwerk nicht möglich gewesen. Ich versuchte es zuerst mit meiner WLAN-Karte ASUS WL-107G mit Ralink-Chipsatz und dem Kerneltreiber rt2500pci. Der Linuxkernel erkannte die Karte wie gewohnt automatisch und da ich sowohl alle Wifi-Programme und auch wpa_supplicant von der Multicore-Version behalten hatte, funktionierte die minimalistische Netzwerkanwendung wifi.tcz problemlos. Zumindest für ca. 30 Sekunden hatte ich danach drahtlosen Internetzugang mit WPA-Verschlüsselung. Danach fror das System leider ein. Auch der Weg über die Kommandozeile half nicht weiter.
Ich tauschte danach die Karte gegen eine der 3com PCMCIA Karten aus, mit der es schließlich problemlos möglich war eine kabelgebundene Verbindung mit eth0 als Schnittstelle aufzubauen.
Persistenz
Ein ganz wichtiges Thema bei TinyCore ist Persistenz. Nach dem Ausschalten des Computers sind gewöhnlich alle Daten, die vorher in den RAM geladen wurden verschwunden. Damit man sowohl seine Erweiterungen als auch wichtige Systemeinstellungen nach dem Reboot weiterverwenden kann, bietet TinyCore zwei grundlegende Möglichkeiten an.
- Dauerhaftes /home-, /opt- und /tce-Verzeichnis. Mit Hilfe von Bootcodes lässt sich TinyCore schon beim Starten anweisen die /home-, /opt- und /tce-Verzeichnisse dauerhaft auf einem Datenträger anzulegen. Beim Remastern mit dem schon vorgestellen Ezremaster ist das Schritt Nr.2. Die Bootparameter lassen sich auch nachträglich ändern. Die entsprechende Datei befindet sich in /mnt/sdb1/boot/extlinux und heißt extlinux.conf, wobei sdb mein eingehängter USB-Stick ist.Die Bootparameter lassen sich an die Zeile APPEND anhängen. Wer wie ich TinyCore auf einen USB-Stick installiert und Extensions außerhalb der initial ramdisk installiert hat, stellt fest, dass das TCE-Verzeichnis automatisch persistent angelegt wurde. D.h. alle Erweiterungen, die man mit dem Appbrowser in /mnt/sdb1/tce/optional installiert, werden gespeichert.
Ausführlicher erklärt wird es im TinyCore-Wiki im Artikel "Persistence for Dummies". - Backup. Die intuitivste und wahrscheinlich auch einfachste Methode ist es ein Backup zu machen. Beim Abmelden kann man zwischen den drei Optionen None, Backup und Safe auswählen, also entweder nicht speichern, ein Backup machen oder ein Backup machen und das alte Backup zusätzlich sichern. Alle Dateien und Informationen werden dann gepackt und im /tce-Verzeichnis als mydata.tgz gesichert. Was genau gespeichert oder nicht gespeichert werden soll, lässt sich in zwei einfachen Textdateien festlegen. Im /opt-Verzeichnis befinden sich die versteckten Dateien .filetool.lst und .xfiletool.lst. Die erste Datei ist eine Whitelist, in der Verzeichnisse und Dateien aufgeführt sind, die gesichert werden sollen. Die .xfiletool.lst ist das Gegenstück dazu, in der Dateien vom Backup ausgeschlossen werden können.Dabei gilt: .xfiletool.lst > .filetool.lst, wodurch es möglich ist Verzeichnisse auf eine Whitelist zu setzen, aber darin enthaltene Dateien vom Backup auszuschließen.
Folgende Dateien und Verzeichnisse habe ich zusätzlich zu den Voreinstellungen zum Backup hinzugefügt oder ausgeschlossen.
.filetool.lst
etc/X11/xorg.conf
opt/eth0.sh
opt/wpa_supplicant.conf
etc/passwd
etc/shadow
etc/dropbear
.xfiletool.lst
.mozilla/
Deutsche Tastaturbelegung
Xorg
Da ich den Xorg-Server benutze, ist es notwendig, dass man die Einstellungen zur deutschen Tastaturbelegung manuell in /etc/X11/xorg.conf ändert. Die Vorgehensweise habe ich vor kurzem etwas ausführlicher beschrieben. Im Prinzip ist es das gleiche Spiel wie bei ConnochaetOS oder Slitaz. Als Eintrag genügt aber in der Regel schon:
Section "InputDevice" Identifier "Keyboard" Driver "kbd" Option "XkbLayout" "de" EndSection
Für Leserinnen und Leser aus der Schweiz und Österreich sollte natürlich auch ch und at funktionieren. 🙂 Nicht vergessen die xorg.conf in die .filetool.lst einzutragen!
Konsole
Für die virtuelle Konsole benötigt man das Paket kmap.tcz und die passende deutsche Keymap. Der folgende Befehl sollte in /opt/bootlocal.sh eingetragen werden. Er wird dann automatisch beim Start ausgeführt.
loadkmap < /usr/share/kmap/qwertz/de-latin1.kmap
Dropbear
Dropbear ist ein kleiner SSH-Client und -Server und der passende Ersatz, wenn man die gleiche Sicherheit wie mit OpenSSH haben möchte, aber auf die sftp Fähigkeit verzichten kann. Zum Starten von Dropbear trägt man den Befehl
/etc/init.d/dropbear start
in die /opt/bootlocal.sh ein. Gleichzeitig muss der Standardbenutzer tc ein Passwort erhalten (passwd) und die Dateien /etc/passwd, /etc/shadow und das gesamte /etc/dropbear Verzeichnis persistent gemacht werden.
Hintergrundbild einrichten
Das Hintergrundbild lässt sich spielend leicht ändern. Kopiert euer bevorzugtes Bild einfach nach /opt/backgrounds. Anschließend lässt sich im Control Panel unter "Wallpaper" das neue Hintergrundbild einrichten. So lässt sich ganz leicht aus TinyCore ein Ubuntu Oneiric Ocelot machen. 😉
Auf ein Wort
Es ist schon erstaunlich, dass es Freie Betriebssysteme gibt, die nicht nur auf 13 Jahre alter Hardware funktionieren, sondern dann auch noch komplett im RAM laufen können.
Ich denke TinyCore ist ein Beispiel dafür, dass man sowohl ältere Hardware als auch innovative Konzepte unter einen Hut bringen kann. TinyCore ist kein Abklatsch irgendeines bekannten Mainstream-Linux, dass sich an der Vorarbeit anderer gütlich tut und nur das Desktopthema austauscht.
Vollkommen zufrieden bin ich aber noch nicht. Die WLAN-Karte muss/sollte funktionieren. TinyCore auf eine Festplatte zu installieren ist zwar möglich, das halte ich aber nicht für den eigentlichen Verwendungszweck dieser Minidistribution. Zu rudimentär ist auch der Installer, als dass er einen ernsthaften Vergleich mit Debian oder Ubuntu standhalten könnte. Ideal ist TinyCore für den privaten Desktopbenutzer, der ein maßgeschneidertes Linux für einen USB-Stick und für den RAM sucht.
TinyCore bietet einige technisch einfache und effiziente Systemprogramme, die ideal für ältere Rechner geeignet sind, da sie kaum Ressourcen in Beschlag nehmen. Sie sehen zwar optisch nicht überwältigend aus, verrichten aber zielgerichtet ihren Dienst.
Debian, Slitaz oder ConnochaetOS halte ich für eine Festplatteninstallation auf dem Thinkpad 600 für die bessere Alternative, keine der Drei lässt sich aber so schnell und einfach mit 128 MB oder weniger in den RAM installieren, wobei man mit TinyCore eine grafische Oberfläche standardmäßig geboten bekommt.
Wenn man also ein bestehendes Betriebssystem nicht verändern möchte und gleichzeitig verschiedene Optionen von "Was man mit alten Computern machen kann" ausprobieren will, bietet sich TinyCore als eine ideale Möglichkeit an.
Wie immer muss man die Vor- und Nachteile für sich selbst abwägen. Fakt ist, TinyCore belegt momentan mit allen Erweiterungen gerade einmal 65 MB Speicherplatz, was es ideal für meinen 128-MB-USB-Stick macht. 😉
Nach dem Booten zeigt mir htop an, dass TinyCore 30 MB RAM in Anspruch nimmt. Mit Bon Echo, Fluff und ein paar Systemprogrammen komme ich auf 68 MB. Mehr als genug gute Gründe, um die Entwicklung von TinyCore in Zukunft weiter zu verfolgen.
Links
TinyCore Wiki
TinyCore Forum
Anleitung zu TinyCore als Webserver