Leichtgewichtige Distributionen zum Ausprobieren

Kurz notiert, ein paar Distributionen, die ich im Laufe der nächsten Wochen und Monate näher kennenlernen möchte. Einige davon haben sich schon auf den alten Laptops bewährt, der Rest setzt sich aus Distributionen zusammen, die immer wieder genannt werden, wenn es um sogenannte leichtgewichtige Software geht. Debian bietet mir schon heute hervorragende Möglichkeiten wirklich jeden noch so alten Rechner zum Laufen zu bringen.
Trotzdem sollte der Blick immer mal wieder über den Tellerrand schweifen. Leichtgewichtig ist für mich nicht alles. Die ideale Distribution läuft nicht nur auf jedem Rechner, sondern lässt sich auch von Menschen bedienen, die nicht schon seit Jahrzehnten in Assembler programmieren und das ISO/OSI Referenzmodell herunter beten können.
Update: Hier gibt es einen Zwischenstand zu meinen favorisierten und leichtgewichtigen Freien Betriebssystemen

Archlinux

Arch gehört seit mehr als zwei Jahren immer wieder zu den Linuxdistributionen, die meinen Weg kreuzen, wenn es darum geht ein möglichst leichtes i686 System aufzusetzen. Schon oft bin ich im ArchLinux Wiki gelandet oder auf Foreneinträge gestoßen, die Arch als die leichtgewichtige Linuxdistribution preisen. In der Tat konzentriert sich ArchLinux darauf nach dem K.I.S.S. Prinzip zu agieren, verschwendet keine Ressourcen an zusätzliche grafische Konfigurationswerkzeuge und zeichnet sich seit langem durch eine Gemeinschaft aus, die Wert auf effiziente Software legt.

ArchBang

ArchBang basiert auf ArchLinux und nutzt in der Standardkonfiguration Openbox als Fenstermanger. Meine Hoffnung ist, dass ArchBang die Installation und Konfiguration einfacher macht. Inwiefern sie sich gegenüber dem Original auszeichnet und hier Akzente setzt bleibt abzuwarten.

ConnochaetOS

Basiert auf ArchLinux, hat aber den großen Vorteil auch auf Rechnern mit i586, sprich Pentium I, und älterer Hardware zu funktionieren.

CrunchBang

Ein anderes Bang. Im Gegensatz zu Archbang setzt Crunchbang auf Debian als Unterbau, konzentriert sich aber ebenfalls auf den Openbox Fenstermanager. Da ich auf meinem Dell Inspiron 4000 schon Debian Sid mit Openbox einsetze, bin ich gespannt wie sich Crunchbang auf dem gleichen Rechner anfühlen wird.

Crux

K.Mandla vergleicht den Performancegewinn zwischen ArchLinux und Crux mit dem Umstieg von Ubuntu auf ArchLinux. Er selbst setzt Crux auf den ältesten Pentium I Rechnern ein. Crux ist sicher nichts für Linuxeinsteiger, aber auch eine gute Möglichkeit tiefer in Linux einzusteigen.

Lubuntu

Lubuntu ist meines Wissens zur Zeit das leichtgewichtigste Derivat der Ubuntu Distribution. Als Desktopumgebung kommt LXDE zum Einsatz, welches bekanntermaßen auf Openbox als Fenstermanger zurückgreift. Lubuntu verspricht die Bedienungsvorteile von Ubuntu mit den Vorteilen des ressourcenschonenden LXDE.

PuppyLinux

Eine Distribution mit dem Ziel alten Computern neues Leben einzuhauchen. Ziel von PuppyLinux ist es, leicht zu installieren zu sein, komplett im RAM zu laufen und ohne Wenn und Aber ältere Rechner produktiv nutzen zu können.

Slitaz

Zur Zeit definitiv eine meiner Lieblingsdistributionen. Slitaz schafft es nachweislich selbst einen 15 Jahre alten Toshiba Satellite 220 CS mit nur 16 MB RAM anzutreiben. Darüber hinaus bietet Slitaz aber auch eine sehr effiziente 30 MB große Live CD und gehört sicherlich zu den Top Distributionen, wenn es um alte Hardware, leichtgewichtige Software und Maximalismus geht. Ich warte gespannt auf die kommende Veröffentlichung Slitaz 4.0.
Das soll nicht alles gewesen sein. Gentoo oder Slackware basierte Distributionen gehören sicherlich mittelfristig noch auf den Merkzettel. Prinzipiell lässt sich jede Distribution auf die Liste setzen, welche einen sparsamen Fenstermanger wie Fluxbox, IceWM, Openbox, Awesome oder ähnliches einsetzt. Für den Anfang muss das aber erst einmal reichen. 🙂

Debian auf dem Toshiba Satellite 220 CS

Der neue 2.6.30 Debian-Kernel war erstellt worden und funktionierte in Qemu, nun musste alles noch auf den Toshiba-Laptop übertragen werden.
Ich hatte zwei Versionen zum Testen, einmal ein minimales Debian Squeeze und die Lenny-Sandbox-Version von KMandla, die schon gute Konsolenprogramme enthielt, nachweislich mit 32 MB RAM zurechtkommt und mir die Zeit erspart ein Debian Lenny in Qemu neu zu installieren.
Für Debian Squeeze war leider nach GRUB und dem Versuch /dev einzubinden Schluss. Da Squeeze eine andere Art benutzt um ein Device anzulegen als das noch bei Lenny der Fall war, müssen offenbar noch ein paar Optionen im neuen "Slitaz" 2.6.30 Kernel aktiviert werden, damit diese Funktionalität auch unterstützt wird.
Welche das genau sind und ob ich damit überhaupt richtig liege, entzieht sich momentan meiner Kenntnis. Der Verdacht liegt jedenfalls nahe, denn in einem emulierten System mit Qemu erhalte ich keine Fehlermeldung und alles scheint zu funktionieren.
Nun da war ja noch Lenny. Das 1 GB große Image wurde wieder mit dd auf die Toshiba Festplatte geschrieben und wie erhofft bootete das ganze System.
Da ich schon in Qemu die Wlan-Karte eingerichtet hatte, konnte ich sofort mit dem Ausprobieren beginnen. Die meisten Programme reagierten einzeln genauso wie dies bei Slitaz der Fall war.
Zum ersten Mal haarig wurde es bei dem Versuch mehrere Programme parallel über eine SSH-Verbindung zu nutzen. Der voreingestellte OpenSSH-Server und -Client und die gestarteten Programme reagierten für meinen Geschmack zu träge.
Vielleicht hilft das Austauschen des SSH-Servers mit Dropbear, dachte ich. Also versuchen wir einmal aptitude update.
Eine Stunde später war die Apt-Datenbank aktualisiert. 🙄 Ich entfernte den SSH-Server und installierte Dropbear und wieder dauerte es eine Stunde bis dieser Vorgang abgeschlossen war.
Ich bin zwar bei sehr alter Hardware geduldig, aber zwei Stunden Wartezeit um ein Programm zu installieren und zu entfernen, ist noch nicht der Weisheit letzter Schluss.
Hieran erkennt man, was für ein großer Unterschied ein paar MB RAM und ein schnellerer Prozessor ausmachen können. Die gleiche Operation dauert auf dem vier Jahre jüngeren Toshiba Portégé 3110 CT höchstens 2-3 Minuten und das ist für einen zwölf Jahre alten Laptop eine sehr akzeptable Zeit.
Dropbear reagierte tatsächlich besser, aber dies änderte nichts daran, dass die anderen Konsolenprogramme schwer zu kämpfen hatten. Danach trat das gleiche Problem auf, welches ich schon mit der Slitaz-Minimalinstallation hatte.
Versucht man ein netzwerklastiges Programm wie z.B. Rtorrent oder Moc über SSHfs zu betreiben, friert der Laptop irgendwann ein. Wlan plus WPA-Verschlüsselung und zusätzlich noch starker Netzwerkverkehr überfordern ihn einfach.
Nichts Neues also und auch bei den Systemspezifikationen keine wirkliche Überraschung.
Am Ende muss ich feststellen, dass Slitaz Installationsmethode für so alte Rechner einfach sinnvoller und ressourcenschonender ist, in Sachen Abhängigkeiten auflösen und Mächtigkeit der Anwendung hinter Apt aber zurückfällt.
Das Kompilieren des Debian-Kernels mit der Slitaz-Config hat aber eines gezeigt. Es ist möglich auch Debian auf dem Toshiba Satellite 220 CS zu installieren, wenn der Kernel an 16 MB RAM angepasst ist.
Einen eigenen Debian Kernel mit Hilfe von Slitaz zu bauen war nicht schwer. Ab hier würde aber nun die wirkliche Bastelarbeit beginnen, indem man Kerneloptionen findet, die das System noch weiter optimieren.
Einfacher geht das alles indem man Slitaz direkt installiert. Zumindest bei so wenig RAM spart Slitaz einem eine Menge Ärger. Die Option Squeeze zu installieren wird zumindest auf diesem Modell keinen Vorteil bringen.
Halten wir mal fest: 1:0 für Slitaz, noch einige Möglichkeiten sind offen und in Sachen Kernelkompilierung wurde Wissen wieder aufgefrischt. 😉

Den eigenen Debian-Kernel bauen

Es kommt nicht oft vor, dass ich den Linuxkernel selbst übersetzen muss. In der Regel bietet der generische Debian- oder Ubuntukernel alle Treiber, die man braucht und da die Module nur dann geladen werden, wenn sie tatsächlich benötigt werden, ist der Performancegewinn eines eigenen Kernel für mich auf neuer Hardware kaum spürbar.
Natürlich gibt es aber auch gute Gründe, warum ein eigener Kernel sinnvoll sein kann. Sei es nur um das letzte bisschen Leistung herauszukitzeln, ein neues Kernelfeature zu aktivieren oder unnötige zu deaktivieren.
Der Standardkernel 2.6.32 von Squeeze und auch der 2.6.26 von Lenny funktionieren beide nicht auf meinem Toshiba Satellite 220cs Laptop. Bei nur 16 MB RAM regt sich nach GRUB für gewöhnlich nichts mehr. Meine Versuche mit Slitaz hingegen waren sehr erfolgreich. Sowohl das Betriebssystem als auch der Kernel sind so angepasst, dass selbst 16 Jahre alte Hardware mit aktueller Software funktioniert.
Als Debian-Fan wollte ich unbedingt den Kernel anpassen, um auszuprobieren wie sich Debian auf dem alten Laptop schlägt. Natürlich stand ich wieder mal vor dem Problem, wie ging das eigentlich bei Debian mit dem Kernelkompilieren.
Debians Kernel Handbook zeigt schon die wichtigsten Schritte auf, doch am einfachsten und nachvollziehbarsten werden sie auf www.adminlife.net beschrieben.
Debian bringt nämlich schon ein Werkzeug mit, welches alle wichtigen Schritte der Kernelkompilierung übernimmt und den angepassten Kernel auch gleich in ein .deb Paket umwandelt, welches sich über Debians Apt dann problemlos verwalten lässt.
Die wichtigsten Schritte sind:

  • Notwendige Programme zum Kompilieren installieren
    aptitude install kernel-package build-essential
  • Gewünschte Kernel Quellen installieren. Entweder die Debian Kernel Sourcen nehmen oder direkt von www.kernel.org herunterladen und in /usr/src entpacken. Z.B.
    aptitude install linux-source-2.6.30
  • Symlink anlegen
    ln -s /usr/src/linux-2.6.30 /usr/src/linux
  • Kernelconfig kopieren. Für den Anfang genügt es die aktuelle config aus /boot zu nehmen. Allgemein geht auch zcat /proc/config.gz > kernel.cfg
    cp /boot/config-`uname -r` /usr/src/linux/.config
  • Kernel an die eigenen Bedürfnisse anpassen
    cd /usr/src/linux
    make oldconfig
    make menuconfig
    
  • Den Kernel kompilieren und ein .deb Paket erstellen
    make-kpkg kernel_image --revision 20110217 --initrd

Ich musste auf meinem im letzten Post vorgestellten Debian-Minimalsystem mit debootstrap noch das Paket lzma installieren, damit das Kompilieren erfolgreich war.
Als Kernelconfig hatte ich die Slitaz 2.6.30-loram config ausgewählt. Beim Übersetzen wurde zuerst ein Fehler mit dem Kernelmodul lguest gemeldet, dass ich danach aus der config gestrichen habe.
Erfreulicherweise lief danach die Kernelkompilierung erfolgreich durch. Das entstandene .deb Paket lässt sich bequem mit dpkg -i installieren.
Mit diesem Kernel ließ sich wie erhofft problemlos sowohl ein Squeeze als auch ein Lenny in Qemu booten. Möglichkeiten zum Optimieren gibt es noch einige. Z.B. benötige ich nicht wirklich das ReiserFS-Dateisystem und gefühlte 100 weitere Module auch nicht.
Vielleicht werde ich deswegen auch in Zukunft die Kernelconfig soweit anpassen, dass tatsächlich nur noch die absolut notwendigen Pakete übrig bleiben. Für den Anfang ist "the Debian way ™" und ein Minidebian in Ubuntu eine bequeme Möglichkeit um weiter herum zu experimentieren.
Wie sich der neue Kernel auf dem Toshiba 220cs geschlagen hat, dazu demnächst mehr.

Prinzipien, Ideale und was eine gute Distribution ausmacht

Jeder hat seine Lieblingsdistribution. Meine ist Debian. In den letzten zehn Jahren hat sich in dieser Hinsicht nicht viel getan. Lediglich Ubuntu konnte sich bisher dazwischen drängen und mich 2006 von ihren Zielen überzeugen.
Das bedeutet nicht, dass mich andere Ideen nicht interessieren oder ich fundamentalistisch an einer Distribution festhalten muss. Im Gegenteil: Ich kann zwar nicht versprechen Debian komplett zu vergessen, aber ich bin mir sicher, dass es da noch viele coole Ideen gibt und sei es nur eine Config Datei, die ich für ein Debian System nutzen kann.
Warum aber die Distribution wechseln?
Irgendeinen Grund muss es geben, dass es dort draußen so viele verschiedene Linuxdistributionen gibt, von denen laut distrowatch.com immerhin 129 Stück auf Debian basieren, mit großem Abstand folgen Fedora, Slackware oder Gentoo basierte.
Debian versucht seit neuestem mit einem Zensus mehr Feedback von diesen vielen Derivaten zu erhalten, um Änderungen und Verbesserungen besser in das Hauptprojekt einfließen lassen zu können.
Worin besteht nun der Unterschied zwischen einem Derivat, einer Linuxdistribution oder sogar einem Blend wie Debian Projekte wie Skolelinux, Debian Multimedia oder Debian Science bezeichnet.
Ein Blend oder Flavor ist nichts anderes als eine neue Mischung, eine Untermenge aus allen verfügbaren Softwarepaketen einer Distribution, nur zum Zweck geschaffen eine bestimmte Aufgabe für eine Nutzergruppe möglichst einfach "out-of-the-box" zu erfüllen. Oft sind sie als sogenanntes Metapaket verfügbar.
Derivate sind von einer Distribution abgeleitete Projekte, die im Kern immer noch auf einer wichtigen Komponente des Originals basieren, z.B. der Paketmanager. In anderen Bereichen unterscheiden sie sich aber mehr oder weniger stark von der Originaldistribution. Veröffentlichungen können regelmäßiger oder unregelmäßiger stattfinden, das Erscheinungsbild der Desktopoberfläche ist standardmäßig anders und besonders wichtig, neue Funktionen, Verbesserungen oder Programme, die im Original nicht existieren, wurden hinzugefügt.
Eine Linuxdistribution ist nach Wikipedia eine Zusammenstellung des Linux Kernels mit diverser Software, um hieraus ein Betriebssystem zu bilden.
Im Grunde genommen ist eine Distribution also auch der allgemeine Übergriff, unter dem sich alle anderen aufgezählten Begriffe summieren. Was macht nun aber eine gute Distribution aus?
Für mich persönlich stehen folgende Punkte im Vordergrund:

  • Mehrwert: Eine gute Distribution sollte dem Anwender einen großen zusätzlichen Nutzen bieten. Die Software ließe sich zwar auch manuell Paket für Paket installieren oder kompilieren, doch ein Blend übernimmt diese Aufgabe mit einem Kommando oder Mausklick. Bessere Sprachunterstützung, barrierefreie Bedienung, ein Derivat bietet eine benutzerfreundlichere Installation, vereinfachte Konfiguration oder im Gegenteil eine weiter fortgeschrittene, detailliertere Justierung, kurzum mehr Kontrolle. Auch die Vorinstallation einer bestimmten Desktopumgebung mit darauf ausgerichteter Software und angepassten Einstellungen wäre ein gutes Argument für eine Distribution. Umso mehr Mehrwert desto besser.
  • Klare Ausrichtung: Eine gute Distribution wurde mit einem bestimmten Ziel geschaffen. Linux bekannter und einsteigerfreundlicher machen (Ubuntu), ein universelles, stabiles, von einer Gemeinschaft entwickeltes Betriebssystem schaffen (Debian), eine extrem leichtgewichtige LiveCD kreieren (z.B. Slitaz) oder jede Kompilierungseinstellung selbst steuern können (Gentoo). Gibt es eine Philosophie, ein besonderes Merkmal oder CI um aus der Masse herauszustechen?
  • Tue eine Sache, die aber richtig: Eine gute Distribution schließt eine bisherige Anwendungslücke, ist für einen bestimmten Zweck oder eine Plattform besonders geeignet oder genau das, wonach sich die Welt schon immer gesehnt hat. Egal ob Live Distribution, Server-, Desktop- oder Gaming-Version, wird die Distribution ihren eigenen Anforderungen gerecht und stellt alles andere bisher Dagewesene in den Schatten, führt kein Weg mehr daran vorbei. Kann sie darüber hinaus alles auf hohem Niveau gleichzeitig, dann nenne man sie ab sofort Deb...ähm hervorragende Distribution.
  • Support und Community: Jede Distribution hat mal klein angefangen, meistens typisch in irgendeiner Garage 🙄 . Welche Möglichkeiten bietet sie aus diesem Anfangsstadium herauszukommen? Gibt es eine Website, ein Forum, ein Wiki, eine Newsgroup oder gar Handbücher? Wie verhält sich die Gemeinschaft gegenüber "Newbies", welche Maßnahmen wurden ergriffen um die Qualität und Weiterentwicklung positiv zu gewährleisten? Wie werden Entscheidungen über die Distribution getroffen und wie nachhaltig sind diese?
  • Freie Software versus Proprietäre: Unfreie Software darf niemals freie Software einschränken. Eine gute Distribution überlässt dem Anwender die Entscheidung, welche Software er verwenden will und welche nicht und schafft dafür die Voraussetzungen. Freie, perfekte, fehlerlose Software für jeden Anwendungsfall ist das Ideal. Doch in der unvollkommenen, realen Welt müssen manche Menschen von Einnahmen leben. Kommerzielle Dienstleistungen, die auf freien Standards aufsetzen und dem Nutzer einen Mehrwert bieten, sollten nicht nur toleriert sondern auch gefördert werden.

In den nächsten Monaten werde ich einige neue Distributionen ausprobieren und schauen, wer Debian vom Thron stoßen kann.
Mal sehen, ob sich auch meine Prinzipien ändern werden. 😉

Unverhofft kommt oft

Manchmal ist es wie verhext. Man glaubt nichts anderes als beim letzten Mal gemacht zu haben und doch verhält sich das System anders als erwartet.
Da der Toshiba 220 CS wegen KolibriOS eine neue FAT32-Partition erhalten sollte, dachte ich, eine komplette Neuinstallation mit allen vorher entdeckten Optimierungen wäre eine gute Sache.
Also wurde wieder Qemu und das 8 MB große Slitaz-Base-ISO bemüht und alles in ein 300 MB großes Raw-Image geschrieben. Dieses Mal wählte ich Ext2 als Dateisystem, was auf solchen Oldies "gefühlt" schneller arbeitet als Ext3, ohne dass ich dafür irgendwelche Zahlen nennen könnte.
Auch im Hinblick auf den 16 MB großen RAM Speicher hielt ich es für sinnvoll mich auf ein Dateisystem zu konzentrieren.
Das vorgefertigte Muster-Slitaz musste nur noch mit dd auf die Festplatte geschrieben und der restliche verfügbare Speicherplatz mit fdisk zugewiesen werden.
So hatte ich schließlich eine Swap-, Root-, Dos- und Home-Partition und bis auf Dos waren alle mit Ext2 formatiert.
Nach einigen Neustarts, zuvor waren nur 3-4 Standardprogramme installiert worden, hing sich das System nach dem Neustart schon auf, so dass ein Kaltstart die letzte Lösung war.
Merkwürdigerweise passiert mir so etwas immer nur bei Ext2-Dateisystemen, die danach natürlich Fehler melden und in diesem Fall leider auch einen unreparierbaren Schaden.
Anscheinend war eine System- oder Gerätedatei beschädigt,auf jeden Fall gab es als fortlaufende Fehlermeldung "/dev/tty2 could not be opened". Der Fehler ließ sich reproduzieren und trat nur dann auf, wenn ich den restlichen Festplattenspeicher partitionierte.
Dank des vorher angefertigten Backups mit DD ist nun alles wieder beim alten inklusive Ext3 Root-Partition. Solche Fehler sind unheimlich schwer nachzuvollziehen und sind auch nichts, was ich tiefer untersuchen möchte.
Das Ende: Ich verkleinerte die Root-Partition mit resize2fs und habe nun eine ca. 200 MB große Partition für KolibriOS.
Auch wenn man am liebsten schreiben möchte, dass man Ubuntu auf einem 15 Jahre alten Rechner zum Laufen bekommen hat und dort gerade Youtube-Videos mit Flash (pfui) ansieht, während gleichzeitig der mit Blender erzeugte neue Zeichentrickfilm gerendert wird...es läuft nicht immer alles auf Anhieb rund.
Auch der USB-Port scheint nicht zu den zuverlässigsten zu gehören. Mal lässt sich auf den USB-Stick schreiben, dann wieder nicht. Dateisystem wechseln hilft nicht und an anderen Laptops funktioniert er einwandfrei.
Momentan kann ich dafür Slitaz nicht verantwortlich machen, da vieles mehr auf die Hardware zurückzuführen scheint als auf das Betriebssystem. Mal sehen was Debian sagt, sofern ich es schaffe einen Kernel zu erstellen, der mit 16 MB RAM umgehen kann. 😉

Slitaz tunen

Es klingt schon verrückt. Wie kann man eine Distribution, deren komplette Live-CD nur 78 MB im RAM einnimmt und selbst als slitaz-base in der Minimalinstallation gerade einmal 30 MB auf der Festplatte belegt, noch weiter optimieren? Stimmt, geht fast gar nicht. Folgende Optionen könnten dennoch interessant sein.

Framebuffer aktivieren

Für alle, die gerne auf der Konsole arbeiten oder sogar müssen, sollte zuerst der Framebuffer aktiviert werden. Slitaz nutzt noch Grub Legacy, weshalb man diese Einstellung leicht in der /boot/grub/menu.lst vornehmen kann. An die kernel Zeile muss noch vga=788 angehängt werden um eine Auflösung von 800x600x16 zu erreichen. Mehr ist leider mit dem Toshiba Satellite 220cs nicht drin. Slitaz lädt daraufhin automatisch den Kernel Treiber fbdev.

kernel /boot/vmlinuz-2.6.30.6-slitaz root=/dev/hda2 vga=788

Die folgende Tabelle verrät die weiteren Einstellungen für den Framebuffer.

Farbtiefe640x480800x6001024x7681280x10241400x10501600x1200
8 (256)769771773775
15 (32K)784787790793
16 (65K)785788791794834884
24 (16M)786789792795

Für Grub2 lässt sich diese Methode auch in /etc/default/grub benutzen und an GRUB_CMDLINE_LINUX anhängen. Aber Vorsicht diese Option ist überholt und könnte irgendwann ganz abgeschafft werden. Deswegen sollte man auch die Alternative GRUB_GFXMODE ausprobieren.

GRUB_GFXMODE=800x600x16
GRUB_GFXPAYLOAD_LINUX=keep

Um die Änderungen dauerhaft zu machen, muss noch

grub-mkconfig -o /boot/grub/grub.cfg

ausgeführt werden. Mehr Infos hierzu gibt es auch im englischen ArchWiki.

Fast Boot

Slitaz bringt eine Option "Fast Boot" mit, welche sich in der zentralen Konfigurationsdatei /etc/rcS.conf einstellen lässt. Einfach editieren und

FAST_BOOT_X="yes"

eintragen und dbus, hald und slim in RUN_DAEMONS entfernen.
Für die meisten sollte das eine deutliche Verbesserung bei der Bootzeit bringen. Für meinen 220cs sind das immer noch 25 Sekunden, aber für einen 15 Jahre alten Laptop mit einer 4200rpm Festplatte immer noch ein guter Wert. Vollkommen ausreichend für meine Zwecke 😉

Systemuhr synchronisieren

Für Laptop Oldies nicht ganz unwichtig: Die Systemzeit muss angepasst werden. Meistens sind die Batterien hoffnungslos am Ende, weswegen der Zeitabgleich mit einem Server im Internet sinnvoll ist.
Slitaz bringt hier das superkleine Programm ntpclient mit. Um die Systemzeit zu aktualisieren einfach

ntpclient -s -h pool.ntp.org

im Terminal eingeben und danach eine ausführbare Datei der Wahl mit diesem Befehl anlegen und beim Booten ausführen lassen.
Für Debian heißt die Alternative ntpdate.

Virtuelle Terminals reduzieren

Um wertvollen RAM frei zu machen, lohnt es sich die Anzahl der virtuellen Terminals tty in /etc/inittab zu reduzieren.

tty1::respawn:/sbin/getty 38400 tty1

In solcher Form finden sich mehrere Zeilen in der inittab. Für die Arbeit mit der Konsole reichen mir tty1 und tty2 und screen. Den Rest einfach mit der # kommentieren.
Das gleiche gilt auch für Arbeitsflächen in einer grafischen Umgebung. Meistens sind zwei Arbeitsflächen ausreichend.

Die richtigen Programme installieren

Slitaz hat schon eine sehr gute Auswahl für leichtgewichtige Software getroffen. Ich bezweifle, dass man auf einem Rechner mit mehr als 256 MB RAM überhaupt in Verlegenheit kommt oft über Alternativen nachzudenken. 🙂
Für den Satellite 220cs und für wirkliche RAM-Krücken zählt aber oft noch jedes KB an Speicher. Es klingt vielleicht merkwürdig bei Konsolenprogrammen, aber bei mir hat schon der Wechsel des Textbrowsers von elinks zu retawq geholfen.
Es muss aber nicht immer nur eine einzelne Anwendung sein. Auch der Wechsel des Fenstermanagers kann schon entscheidende Verbesserungen bringen. Für alle, die X benutzen aber einen Rechner mit wenig RAM besitzen (<=64 MB), könnte schon der Wechsel von Openbox auf DWM einiges herausholen. Grafische Programme mit Konsolenprogrammen austauschen ist ein weiterer Schlüssel zum Erfolg. Wie so oft, die Mischung machts.

Audiowiedergabe mit dem Toshiba Satellite 220cs funktioniert

Endlich geschafft! Nachdem der alte Toshiba-Laptop sich beharrlich geweigert hatte auch nur eine Note abzuspielen, gibt es ab sofort Musik mit mplayer oder moc.
Seit ich Slitaz installiert hatte, wusste ich schon, dass sich eine ISA-Soundkarte mit dem Yamaha-Opl3sa2-Chipsatz im Inneren des Satellite 220cs befindet. Eine Suche nach alsa + opl3sa2 brachte mich dann der Lösung näher.
ISA-Soundkarten sind unter Linux etwas trickreich einzurichten. Meistens scheitert es daran, dass an den Linuxtreiber noch weitere Parameter übergeben werden müssen, die nicht zwingend auf jedem Computer gleich sind und auch im BIOS beliebig verstellt werden können.
In meinem Fall spuckte das BIOS folgende Informationen aus. (Man erreicht es übrigens, wenn man beim Start ESC gedrückt hält und danach F1 drückt, scheinbar ein Toshiba Feature)

wss/io = 530h
sb_port = 220h
synth(fm_port) = 388h
irq = 5
dma1 = 1
dma2 = 0
port = 370h
midi_port = 330h

Da ich immer noch mit der absoluten Slitaz-Minimalinstallation experimentiere, mussten die Pakete

linux-sound
alsa-utils

nachinstalliert werden, indem sich die Soundtreiber für Slitaz und wichtige Hilfsprogramme für Alsa befinden.
Der Rest ist ein Einzeiler.

modprobe snd_opl3sa2 index=0 id=CARD_0 port=0x370 sb_port=0x220 wss_port=0x530 midi_port=0x330 fm_port=0x388 irq=5 dma1=1 dma2=0 isapnp=0

Potentielle Fehlerquellen gibt es hier viele. Nicht nur müssen die Namen der Parameter und die Werte stimmen, auch der Bezeichner id darf nicht fehlen, damit die Karte später von alsa richtig angesprochen werden kann.
Das mitgelieferte soundconf-Programm nimmt diese Einstellungen leider nicht automatisch vor. Ebenso sollte man vorher mit lsmod überprüfen, ob der Treiber snd_opl3sa2 nicht schon vorher ohne Parameter geladen worden ist.
Startet man als root alsamixer können nun die verschiedenen Input/Output-Signale geregelt und die Lautstärke angepasst werden.
Dabei sollte man nicht vergessen durch Drücken der Taste "m" die einzelnen Kanäle zu "entmuten" 🙄
Die ganzen Einstellungen lassen sich danach mit dem Befehl

alsactl store CARD_0

dauerhaft in /etc/asound.state sichern und mit

alsactl restore CARD_0

wiederherstellen.
Normalerweise werden die Parameter in einer Datei im Ordner /etc/modprobe.d/ gespeichert und beim Bootvorgang dann automagisch mit an den Treiber übergeben. Dachte ich zumindest.
Slitaz lässt sich bisher von solchen Versuchen nicht beeindrucken. Auch der Eintrag des Treibers + Parametern in Slitaz zentraler Konfigurationsdatei /etc/rcS.conf bewirkte nichts.
Höchstwahrscheinlich ein Bedienungsfehler, weshalb ich nicht mehr lange weiterprobierte und den Modprobe- und Alsactl-Restore-Befehl in ein ausführbares Skript eingetragen habe, welches ich nach Start dann einmal als root aufrufe.
Nicht sehr elegant, aber wirkungsvoll.
Achja, die Musik klingt nach Anschluss an externe Boxen gar nicht so schlecht. Für den Wohnzimmer-Betrieb vollkommen ausreichend. Mplayer und Moc funktionieren problemlos.
Einziger Wermutstropfen ist das Abspielen von Musik über eine ssh Verbindung mit sshfs, meine bevorzugte Variante um Dateisysteme zu mounten. Nach kurzer Zeit friert der Rechner komplett ein und nur noch ein Kaltstart holt ihn wieder aus der Starre.
Da andere Dateioperationen scheinbar fehlerfrei funktionieren, könnte der Satellite 220cs damit einfach überfordert sein. Mal schaun, ob sich dafür noch eine Lösung finden lässt 😉

Slitaz: Minimalinstallation auf dem Toshiba Satellite 220cs

Nachdem ich mit Slitaz eine schnelle und effiziente Live-CD gefunden hatte, probierte ich die verschiedenen "flavor" Versionen aus, bei denen sich Slitaz selbst mit weniger als 16 MB RAM zufrieden gibt.
Mein Testobjekt war der Toshiba Satellite 220cs, ein Laptop aus dem Jahr 1996 mit PI 133 MHz CPU und 16 MB RAM. Bei diesem Alter geben alle großen Distributionen klein bei. Keine Chance mit Ubuntu, Fedora oder SuSe so einen Rechner aus dem Stand mit der Installations-CD zum Laufen zu bewegen. Und selbst für den debian-installer sind 16 MB RAM einfach zu wenig.
Als erstes probierte ich sowohl die Loram-Version des aktuellen stabilen Slitaz 3.0 aus als auch die alte 2.0 Ausgabe. Hauptgrund hierfür war ein Tip im Slitaz-Forum, dass damit eventuell ein Problem mit Ndiswrapper behoben werden könnte. Neben zwei PCMCIA-Cardbus-Slots besaß der alte Toshiba auch noch einen USB 1.0 Port, ungewöhnlich für diese Zeit als noch Windows 95 das Maß aller Dinge war.
Die Loram-cdrom-3.0 CD bootete ohne weitere Parameter und startete tatsächlich ohne Unterbrechung sofort in eine X-Umgebung mit Slim als Login- und Openbox als Fenstermanager. Hier war aber schon klar, dass diese Standardvorgabe für 16 MB RAM wirklich nur zum Vorführen reichte. Für eine sinnvolle Nutzung reagierten die voreingestellten Programme einfach zu langsam.
Da das Nachladen von CD-ROM auch viel Leistung kostete, kam nur eine Festplatteninstallation in Frage. Hierzu muss man als erstes die Festplatte mit fdisk partitionieren, da Slitaz diese Operation nicht automatisch beim Installieren ausführt. Nach der Partitionierung sollte die Swap-Partition (z.B. /dev/hda1) sofort mit

mkswap /dev/hda1
swapon /dev/hda1

aktiviert werden.
Anschließend genügt ein

slitaz-installer

als Root um die Installation zu starten. Diese ist im positiven Sinne sehr einfach gehalten. Man gibt lediglich die vorher partitionierte Root-Partition an, wählt Namen und Passwort der Systembenutzer und die Systemsprache aus. Der Rest geschieht automatisch.
Nach dem Neustart sollte man als erstes Openbox und slim mit dem Paketmanager Tazpkg entfernen und danach die Internetverbindung einrichten. Für den Laptop kamen für mich entweder mein USB-WLAN Stick oder die PCMCIA-WLAN-Karte WPC54G von Linksys in Frage. Letztere lässt sich ohne weiteres mit dem Kernelmodul b43 in Betrieb nehmen. Eine ausführliche Beschreibung für Slitaz gibt es sogar im englischen Forum.
Den USB-Stick mit Ndiswrapper und dem Windowstreiber zum Laufen zu bekommen scheiterte aber. Obwohl ich mit iwlist den Router "sah", konnte keine Verbindung aufgebaut werden egal ob mit oder ohne Verschlüsselung. Hinzu kamen seltsame Fehlermeldungen. Auch bei der alten Slitaz-2.0-Version gab es das gleiche Ergebnis. 🙁
Da die PCMCIA-Karte aber problemlos nach der manuellen Installation der richtigen Slitaz Pakete und der Firmware funktionierte, musste ich nicht mehr weitersuchen. Im übrigen lässt sich der WLAN-Zugang mit WPA bei Slitaz ohne GUI am einfachsten in der Datei /etc/network.conf einrichten und danach mit dem Ausführen von /etc/init.d/network.sh starten. Auf das zusätzliche Editieren der wpa_supplicant.conf kann man verzichten.
Danach genügte ein

tazpkg recharge
tazpkg get-install "Paketname"
oder tazpkg remove "Paketname"

um das System weiter anzupassen. Dabei fällt besonders auf, dass Slitaz eine sehr effiziente Lösung gefunden hat um die Software zu verwalten. Selbst auf einem alten Laptop funktioniert das De- und Installieren ohne Schwächeanfall.

Minimalinstallation mit der Slitaz-3.0-Base-Version

Das "Base-ISO" von Slitaz ist gerade einmal 8 MB groß, was geradezu verschwenderisch anmutet um es auf eine CD zu brennen. Ich habe mich deshalb auch entschieden diese Version mit Qemu auf meinem Dell Inspiron 4000 zu installieren und die notwendigen Pakete für die WLAN-Karte dieses mal bequem über eine bestehende Internetverbindung zu installieren.
Das tolle an Qemu ist die Möglichkeit ein Image im Raw-Format zu erstellen, welches sich wiederum problemlos mit dd wieder auf die Festplatte des Toshiba-220cs-Laptops schreiben lässt. Normalerweise halte ich den Ausbau der Festplatte für die letzte Lösung, mittlerweile denke ich aber, dass es sogar die einfachste war.
Die Festplatte lässt sich bei diesem speziellen Laptop direkt an der Frontseite einfach herausziehen, ohne dass man auch nur eine Schraube irgendwo lockern musste. Mit einem 10 € teuren IDE/S-ATA- zu USB-Adapter lässt sich die Festplatte dann per USB an jeden anderen Rechner anschließen und das vorher erstellte Qemu Image installieren.
Herauskommt eine Basisinstallation, die nicht einmal 30 MB Speicher auf der Festplatte belegt. Von hier aus lässt sich dann mit dem TAZ-Paketmanager weiter experimentieren.

To-Do

Eine grafische Desktopumgebung mit Xorg und Openbox ist für 16 MB RAM zu schwerfällig. Selbst dwm, einer der kleinsten und ressourcenschonendsten Fenstermanager, die ich kenne, holt hier auch nicht mehr heraus. Eine Alternative könnte Xvesa anstelle von Xorg sein.
Auf jedem Fall stehen einem schon heute alle Konsolenprogramme offen um den Toshiba 220cs produktiv zu nutzen. Unter anderem natürlich E-Mails schreiben mit Alpine, Chatten mit Irssi oder Centerim und Dateien verwalten mit dem Midnight-Commander. Dazu bietet sich Screen an, leider aber noch ohne den Patch für das vertikale Teilen des Bildschirms.
Hiermal ein erster (wenig beeindruckender) Screenshot, der eine Screen-Session über SSH auf meinem Dell-Laptop zeigt. Laut Htop werden 6 MB RAM benutzt. Vielleicht war dieser Schock auch der Grund, warum Htop sich nach wenigen Sekunden automatisch beendet..

Auch ein Upgrade von der stabilen auf die Cooking-Version ist eine weitere Alternative. Und dann wäre da noch die ISA-Soundkarte und der Opl3sa2-Treiber, die trotz ausreichender Informationen im Internet noch nicht richtig wollen.
Update
Mittlerweile finden sich hier Informationen zur Einrichtung der Audiowiedergabe auf dem Toshiba Satellite 220cs und noch ein paar Anmerkungen zur Installation von Slitaz in den Kommentaren.
Es gibt also noch einiges zum Testen bei Slitaz. Und danach..
Ich wollte schon immer mal das winzige KolibriOS ausprobieren. 😉

Live mit Slitaz unterwegs

Seit einiger Zeit war ich auf der Suche nach einer Linux-Distribution, die sich in mehreren Punkten von dem großen Standardeinerlei abhebt. Und dann bin ich auf Slitaz gestoßen. Genauer gesagt fiel mir diese Mini-Distribution schon bei der Suche nach Software auf, um einen altertümlichen Highscreen 486 SLC Laptop wiederzubeleben. Dass die Auferstehung schließlich scheiterte lag weniger an Slitaz, sondern vielmehr an den kümmerlichen 2 MB RAM, die eine sinnvolle Verwendung verhinderten.
Slitaz gehört zu den wenigen Distributionen, die mehrere positive Eigenschaften vereinen, die ich an einer guten Distri schätze. Slitaz ist als Live-Distribution konzipiert, die vollständig im RAM laufen kann, lässt sich aber auch ohne Probleme auf eine Festplatte installieren. Dabei ist Slitaz sehr effizient, flexibel und sogar in der Lage 486er Computer mit 8 MB RAM anzutreiben. Neben der Core-Version, der momentanen stabilen 3.0-Live-CD, existieren noch weitere "flavor" Versionen, die insbesondere für alte Computer mit wenig Arbeitsspeicher geeignet sind.
Trotz der Fähigkeit (oder gerade deswegen) selbst auf sehr alter Hardware lauffähig zu bleiben, ist die Core Version leicht zu bedienen, nicht unnötig kompliziert und bietet mit Openbox als Fenstermanager und dem Lxpanel eine leichtgewichtige, grafische Desktopumgebung, die vollständig im Arbeitsspeicher funktionieren kann, blitzschnell reagiert und dazu noch schick aussieht.

Als Nutzer hat man hier die Möglichkeit wichtige Systemfunktionen wie das Installieren neuer Software oder die Konfiguration der Desktopumgebung entweder grafisch zu lösen oder aber in Textdateien manuell einstellen zu können.
Slitaz verwendet mit dem TAZ-Paketmanager eine eigene Lösung zum Installieren neuer Software, die sich aber stark an bekannte Anwendungen wie z.B. Debians Apt anlehnt. Interessant ist vor allem die Verwendung von Software und Bibliotheken, wie Busybox, Dropbear und der uClibc-Bibliothek, die man vor allem in Embedded-Systemen finden kann.
Bei einer 30 MB großen ISO-Datei darf man natürlich nicht erwarten, dass jedes große Softwarepaket sofort installiert worden ist. Sofort verfügbar ist aber z.B. der Midori-Browser (mit dem ich gerade diesen Artikel schreibe), der PCMan-Dateimanager, wichtige Systemwerkzeuge, Transmission, ein IRC-Client, Alsaplayer und ein Brennprogramm. Benötigt man in seiner Liveumgebung weitere Programme, so lassen sich diese mit dem Paketmanager in den Arbeitsspeicher nachinstallieren.
Möchte man Konfigurationseinstellungen dauerhaft speichern, benötigt man hierzu nur einen weiteren USB-Stick und muss beim Booten Slitaz mit der Option

slitaz home=usb

starten.
An Slitaz Live-CD schätze ich, dass sie klein aber fein ist, extrem schnell reagiert und ohne Murren sowohl auf meinem Intel Core Duo als auch dem Dell-Inspiron-4000-Laptop läuft. Insbesondere bei letzterem hat mich überrascht, dass Slitaz in der Lage war die X-Umgebung überhaupt automatisch, wenn auch mit kleinen Abstrichen, zum Laufen zu bringen, was bisher sowohl Debian als auch Ubuntu verwehrt blieb.
In der heutigen Zeit ist es fast zur Regel geworden, dass alle großen Distributionen ihre eigene Live-CD herausbringen. Knoppix kommt mir immer noch zuerst in den Sinn, wenn ich an eine leistungsfähige Linux-Live-CD denke. Mit Slitaz hat man dafür aber eine Linux-Distribution speziell für ältere Rechner in der Hand, mit der ich sogar einen Toshiba 220 CS mit 16 MB RAM zum Laufen bewegen konnte.
Soweit die ersten Eindrücke der stabilen 3.0-Live-CD von Slitaz. Demnächst mehr zu einer absoluten Slitaz-Minimalinstallation auf dem Toshiba 220 CS.

Wie alles begann

Irgendwann im Jahre 2001 brachte der berühmte Tropfen das Fass zum Überlaufen. Ich war bis dahin stolzer Besitzer eines typischen Komplett-PCs von der Stange mit einer für damalige Verhältnisse superschnellen GeForce-2-Grafikkarte, die man heute nicht mal mehr als Briefbeschwerer nutzen würde.
Ebenfalls typisch für die Zeit war das Betriebssystem Windows 98, mein erster Schritt in das große Internetzeitalter. Ich glaube damals war es noch normal, dass man mindestens ein halbes Dutzend verschiedener Programme zum Registry säubern, Viren vernichten und Adware entfernen installiert hatte. Irgendwo auf der Festplatte gab es einen Ort, wo man regelmäßig die neuesten Versionen diverser Freeware- und Sharewareprogramme aus dem Netz sammelte und einen Extra-Ordner nur für Videocodecpacks angelegt hatte.
Es war die Zeit als ein Browser namens Netscape dem Internet Explorer verstärkt Konkurrenz machte. Es war die Zeit des Bluescreens. Besonders immer dann, wenn man gerade bei CS 1.3 einen 10:0 Lauf hatte...
Nachdem die Entropie des Chaos beinahe stündlich auf meinem PC zuzunehmen schien, kam in mir die verzweifelte Frage auf: "War das alles, gibt es keine Alternative?"
Irgendjemand hatte mal von einem anderen Betriebssystem namens Linux gesprochen. Dies sei kostenlos und Open Source, so mit grafischer Oberfläche und Programmen wie bei Windows. "Aha, und wo kann man das herunterladen?" "Da gibt es verschiedene Distributionen von" "Distrib...wie bitte?"
Mit ziemlicher Sicherheit suchte ich damals unter anderem mit Suchbegriffen wie "Was ist die beste Linux-Distribution". Ich war ziemlich ahnungslos, wo nun die Vor- und Nachteile zu suchen waren. Jeder hatte eine andere Meinung, also musste ich zwangsläufig alle ausprobieren.
Die Suche nach Informationen zu Linux setzte sich bis in das Jahr 2002 fort. Meine ersten Distributionen waren RedHat Linux (heute Fedora), SuSe Linux, Mandrake (heute Mandriva) und Debian GNU/Linux. Am meisten lernte ich zuerst von RedHat und SuSe. Bis heute setzen beide auf das RPM-Format zum Installieren von Programmen. Dass sich plötzlich alles zentral über einen Paketmanager verwalten ließ, war ein Quantensprung.
RedHat konzentrierte sich damals auf die Gnome-Desktopumgebung während SuSe KDE bevorzugte. An Gnome mochte ich die Übersichtlichkeit, da aber zu dieser Zeit viele Programme noch mit GTK1-Bibliothek existierten, war das Erscheinungsbild gewöhnungsbedürftig. Lediglich bei Mandrake hatte ich immer das Gefühl, dass hier am besten mit der Konfiguration von Schriften und Aussehen umgegangen wurde.
Deswegen war ich auch anfangs bekennender Fan von KDE, das damals einfach besser aussah und auch viele nützliche Programme hatte, die ich in dieser Form bei Gnome vermisste. Dies änderte sich später mit Debian und Ubuntu wieder und heute ist meine Rundum-Sorglos-Desktopumgebung wieder Gnome, obwohl Xfce und vor allem die reinen Fenstermanager Openbox, Fluxbox und Awesome auf älterer Hardware klar vorne liegen.
Wie schon erwähnt setzte SuSe auf KDE, weshalb ich anfangs viel mit dieser Distribution experimentierte. Das zentrale Konfigurationswerkzeug YAST stach bei SuSe sofort ins Auge. Als Newbie wusste man bei SuSe sofort, wenn man etwas ändern möchte, muss man YAST benutzen. Da aber nie auf Anhieb alles klappte und viele Anleitungen im Netz immer vorschlugen irgendetwas an der Textdatei xy zu ändern, war man bei YAST aufgeschmissen, wenn mal etwas nicht funktionierte.
Zur damaligen Zeit wurden die meisten Infos zu Linux auf privaten Heimseiten und in Foren gesammelt und wissenswerte Informationen gab es meistens nur in Englisch. Auch in dieser Hinsicht punktete SuSe, denn die Kaufversion enthielt eine gute Dokumentation, die viele Fragen beantwortete.
Jep, ich kaufte mir SuSe Linux. Auch heute bin ich der Überzeugung, dass es kein Widerspruch ist für freie Software Geld auszugeben und die Ausgabe war es sicher wert. Und wenn wir gerade von Geld ausgeben sprechen, auch einen dicken Wälzer zu Linux kaufte ich mir. Michael Koflers Linux-Bibel steht bei mir noch heute in der 6. Auflage im Schrank. Als Nachschlagewerk würde ich es selbst heute noch empfehlen, auch wenn viele Informationen natürlich nicht mehr auf der Höhe der Zeit sind. Sicher gibt es mittlerweile aber schon eine viel aktuellere Auflage.
Dann kam irgendwann der Tag, an dem ich auf einer Netzwerkparty in die Geheimnisse von Debian GNU/Linux eingeweiht worden bin. *epische Musik im Hintergrund*
Anfangs konnte ich mit Debian wenig anfangen, da insbesondere das Installationsprogramm dselect Guru-Kenntnisse voraussetzte und die Bedienung im Gegensatz zu anderen Linux-Distributionen wenig intuitiv war. Heutzutage hat sich das Bild vollkommen gewandelt, der debian-installer ist logisch und leicht zu bedienen und ist einer der vielen Stärken von Debian geworden.
Auf der LAN-Party lernte ich dann mit apt umzugehen inklusive dist-upgrade auf sid und wie man den Kernel selbst baut. Alles andere war ja langweilig 🙂
Entscheidender war, dass ich mit Debian zum ersten Mal eine Distribution gefunden hatte, wo man nach einiger Zeit sofort wusste, an welcher Stelle man suchen musste, wenn etwas nicht so funktionierte, wie man es erwartete. Mit apt wurde das Ausprobieren neuer Software zum Kinderspiel und wenn Debian läuft vergisst man schnell, warum es früher notwendig war den PC zig mal neuzustarten nur um ein Update aufzuspielen.
Heute würde ich jedem Linux-Neugierigen Ubuntu als Einstieg empfehlen und danach Debian zum Vertiefen. Vor allem gibt es mittlerweile viele gute Wikis und Informationen, die den Umstieg auf Linux einfach machen.
Danach sollte man sich auf jeden Fall einmal umschauen, was es sonst noch so gibt, denn es gibt noch ca 300-400 Distributionen zum Ausprobieren 😉
Momentan ist Ubuntu auf meinem Intel Core Duo Rechner installiert. Mit Debian experimentiere ich zur Zeit am meisten. Aber insbesondere kleine Distributionen wie z.B. Slitaz, die selbst noch einen alten Toshiba 220 CS zum Laufen bewegen, werden für mich immer interessanter. Dazu später mehr.
Achja und last but not least, LinuxMintDebian wird derzeit in Virtualbox getestet. Je nach dem wie sich Ubuntu mit der nächsten Version entwickelt, wage ich den Umstieg auf LMDE. Wer rastet, der rostet 🙂