FreeDOS: Multiboot-System mit dem Toshiba Satellite 220cs

Es macht Spaß FreeDOS in einer virtuellen Maschine unter Linux auszuprobieren oder das sehr praktische DOSEMU zum Starten von DOS-Programmen und Spielen zu benutzen. Ich denke, das ist die einfachste Möglichkeit um mit FreeDOS den Einstieg in die DOS-Welt zu wagen. Natürlich war mein nächstes Ziel das Freie Betriebssystem auch auf dem Toshiba Satellite 220cs zum Laufen zu bringen, was schon fast als logische Konsequenz für einen Laptop aus dem Jahr 1996 mit 16 MB RAM anmutet.

Installation

Ich habe mich erneut für die Installation mit Qemu entschieden, die Festplatte des 220cs ausgebaut und mit Hilfe des USB-IDE-Adapters und mit dd ein Abbild der Festplatte erzeugt. Der große Vorteil liegt darin, dass man gleichzeitig ein Backup hat und bedenkenlos experimentieren kann. Eine einfache Lösung ist sicherlich ein leeres Raw-Image zu erstellen, FreeDOS zu installieren und mit dd auf die Festplatte zu schreiben. Wie es geht, hatte ich bei meiner Vorstellung von FreeDOS gezeigt.
Da ich die bestehenden Betriebssysteme Slitaz und KolibriOS behalten wollte, habe ich das Dateisystem meiner Slitazinstallation verkleinert und anschließend die Partition mit fdisk verändert. Mit Hilfe der Debian Netzinstallations-CD habe ich im Rettungsmodus folgendes gemacht.

e2fsck - f /dev/hda2
resize2fs -p /dev/hda2 600M


Mit fdisk wurde die Partition hda2 neu angelegt und auf 700M verkleinert und zusätzlich hda3 als dritte primäre Partition mit W95 FAT32 erstellt. Nach einem Neustart in Slitaz konnte ich dort erneut

resize2fs -p /dev/hda2


ausführen, damit das Dateisystem exakt an die neue Partitionsgröße angepasst wurde. Bei der Operation muss auf jeden Fall das Dateisystem vor der Partitionierung verkleinert werden, ansonsten kommt es zum Datenverlust. Mit dem zusätzlichen "resize2fs"-Schritt ohne Angabe der Größe wird das Dateisystem schließlich exakt an die Partitionsgröße angepasst.
Hat man diese Vorbereitungen abgeschlossen, kann man FreeDOS mit Hilfe von Qemu installieren, wobei das Installationsprogramm automatisch die erste FAT32-Partition als Laufwerk C: erkennt. Wem das nicht geheuer ist, kann es auch mit xfdisk überprüfen.

qemu -hda toshiba.img -cdrom fdfullcd.iso -boot d

Da ich schon ein vollständiges FreeDOS-Abbild hatte, verzichtete ich dieses Mal auf die meisten zusätzlichen Anwendungen und installierte nur base, games und media.

GRUB-Menü in Slitaz anpassen

Slitaz 3.0 benutzt noch GRUB 1. Meine /boot/grub/menu.lst sieht momentan so aus.

title Slitaz GNU/Linux (Kernel 2.6.30.6-slitaz)
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.6-slitaz root=/dev/hda2 vga=788
title KolibriOS
root (hd0,1)
kernel /boot/memdisk
initrd /boot/kolibri/kolibri.img
title FreeDOS
rootnoverify (hd0,2)
chainloader +1
makeactive

FreeDOS-Einstellungen

Ein paar Änderungen der Voreinstellungen halfen mir auf dem 220cs Laptop weiter. Wer gerne Startzeiten von Betriebssystemen vergleicht, wird sich bei FreeDOS über die 2 Sekunden von GRUB bis zum Prompt freuen. Dazu sollte in der fdconfig.sys
MENUDEFAULT=3,0
stehen. Dabei stellt die Zahl 3 sicher, dass FreeDOS mit dem HIMEM-XMS-Memory-Treiber geladen wird, um Programme im erweiterten Speicher ausführen zu können und mit 0 wird die Verzögerung bei der Wahl des Menüpunkts auf 0 Sekunden gesetzt.
Standardmäßig werden zwei Treiber in den XMS-Speicher geladen, die 12 MB von 16 MB RAM belegten. Um später das Musikprogramm Mpxplay starten zu können, musste ich zumindest einen davon in der fdconfig.sys für Auswahl 3 deaktivieren.
12?DEVICEHIGH=C:FDOSbincdrcache.sys FDC0001 CDRCACH0 6000
Erwähnenswert ist auch, dass man die Energiesparfunktionen mit fdapm APMbios oder fdapm APMoff des BIOS ein- und ausschalten kann, was verhindert, dass die Festplatte nach jedem Kommando in den Ruhezustand versetzt wird. FreeDOS APM-Modus lässt sich mit fdapm APMdos wieder einschalten.

Mpxplay

FreeDOS bringt das Freie Musikprogramm Mpxplay mit, mit welchem sich zahlreiche Formate wie z.B. mp3, ogg oder FLAC abspielen lassen. Damit Mpxplay funktionierte, änderte ich die DMA-Einstellung für den Soundblaster-Treiber in der autoexec.bat für die Yamaha-Opl3sa2-Soundkarte von 1 auf 0.
SET BLASTER A220 I5 D0 H5 P330
Soundkarte und Lautsprecher des Toshiba Laptops sind zwar nach wie vor vermutlich nicht die beste Lösung für eine audiophile Umgebung, um einen Raum zu beschallen sind sie aber ausreichend. Leider habe ich noch nicht das Screenshotprogramm gefunden, deswegen hier nur ein Foto. Ich bin auf jeden Fall beeindruckt. MP3- und OGG-Dateien ließen sich problemlos abspielen.

USB und Netzwerk

USB und Internet waren in den 80igern und Anfang der 90iger noch in weiter Ferne. Erst mit Windows 95 gab es später eher schlecht als recht USB-Support. Umso mehr überrascht es deswegen vielleicht, dass es sowohl USB-Support als auch Netzwerkunterstützung für FreeDOS gibt. Im folgenden finden sich einige Links zu Seiten, die ich für lesenswert halte und für die Zukunft hier dokumentiere.

  • USB with DOS - Ein Artikel von 2003 zum USB Support mit DOS
  • cholla.mmto.org - Englischer Beitrag zum Thema Netzwerken mit DOS
  • FreeDOS on a Compaq Contura Aero - Englische Anleitung zur FreeDOS Installation auf einem Compaq Laptop von Ulrich Hansen (empfehlenswert)
  • Networking FreeDOS - Ulrich Hansens 40 Seiten umfassende Arbeit zum Thema FreeDOS und Networking im Wiki Format (beeindruckend, sehr empfehlenswert, es gibt auch ein nahezu identisches pdf Dokument namens dosnet.pdf, welches sich leicht im Netz finden lässt)
  • Das Dokument wurde auch ins Deutsche übersetzt und befindet sich in der FreeDOS Hilfe und lässt sich dort als Netzwerken unter FreeDOS finden.
  • FreeDOS Hilfe in Deutsch

Scheinbar wird darin sogar die Inbetriebnahme einer meiner 3com-Netzwerkkarten beschrieben, weswegen ich zuversichtlich bin, dass ich später einmal mit FreeDOS im Internet unterwegs bin. 😉
Ich denke die Installation der Treiber und das Einrichten des Netzwerks ist momentan mit Slitaz zwar einfacher. KolibriOS und FreeDOS ergänzen den Laptop jedoch um einige coole Funktionen. Die Installation von FreeDOS empfand ich als eher einfach, die Soundkarte war mit einer kleinen Änderung sofort einsatzbereit und zahllose Spiele für FreeDOS gibt es obendrauf. Für ein Multibootsystem auf jeden Fall mehr als einen Blick wert.

Eine Reise in die Vergangenheit: Der Wert der Laptops gestern und heute

Was machst du von heute an in zehn Jahren? Wie wird dein Leben aussehen? Wo wirst du wohnen, arbeiten, deine Zeit verbringen? Wenn du ein Medium mit Interessen für ältere Computer und Linux bist und durch einen aberwitzigen Zufall auf diese Seite geraten sein solltest, kennst du die Antwort vielleicht schon. Für Normalsterbliche ist ein Blick in die Glaskugel mitunter jedoch ziemlich trübe. Auch ich weiß nicht, was in der Zukunft passieren wird, weshalb ich mich in diesem Post einer verlässlicheren Größe zuwende - der Vergangenheit.
Ich hatte Lust mir alte Rezensionen zu meiner Hardware anzuschauen und herauszufinden wie hoch die Verkaufspreise damals ausfielen. Hier also ohne Wertung ein paar Informationen dazu.

Dell Inspiron 4000

Der Inspiron kam Ende 2000 zum ersten Mal in den Handel. Auf pcpro.co.uk kostete er damals 1.996 Englische Pfund (1999: 1 Pfund = ca. 3DM) . Bei Testberichten auf dooyoo.de variierte der Preis im Jahr 2001 zwischen 5500DM (2.812€) bis ca. 1.700€ im gleichen Jahr. Ich kaufte ihn im Jahr 2008 gebraucht für 100€ inklusive Zubehör. Die meisten Kommentatoren hoben das helle und gute Display hervor und störten sich manchmal am Gehäuse oder den Lautsprecherboxen. Insgesamt sei er ein solider Laptop und diesen Eindruck kann ich auch heute noch bestätigen.

Toshiba Portégé 3110CT

Das Toshiba Subnotebook erschien im Jahr 1999 und wurde am 1.10.1999 auf pcpro.co.uk vorgestellt. Es kostete damals ca. 1.992 Englische Pfund. Auf dooyoo.de wurde er als ideal für Präsentationen oder als "mobile office" angepriesen. Auch im Jahr 2001 scheint er noch stolze 5000DM gekostet zu haben. Wer aber den 3110CT mal in Echt gesehen hat, wundert sich bei der kompakten Bauweise aus dem Jahr 1999 auch nicht mehr über den damaligen Preis. 2008 habe ich ihn netterweise für lau als Geschenk erhalten.

Toshiba Satellite 220cs

Cnet.com preist das "multimedia excitement and versatility" an. Auf expertreviews.co.uk wird das verbesserte 800x600 Pixel Display gegenüber den älteren 640x480 Pixeln hervorgehoben. Preislich musste man dafür am 01.09.1997 1.757 Englische Pfund hinlegen, was ca. 2500€ damals entsprochen hätte. Den 220cs habe ich letztes Jahr für 18 € bei ebay ersteigert.

IBM Thinkpad 600

Den Cnet.com Artikel zum Thinkpad 600 hatte ich schon vorgestellt. Der Artikel ist voll des Lobes über den nur 5 Pfund schweren Laptop mit einem "schreiend schnellen Pentium II Prozessor". Ersteigert habe ich ihn vor wenigen Monaten für 27,50 € bei ebay. In der offiziellen Pressemitteilung von IBM aus dem Jahr 1998 wird ein Verkaufspreis von 3199$ offeriert. Das war noch zu einer Zeit als der Dollar etwas mehr wert war als heute. 😉

Erkenntnisse bei 16 MB RAM und weniger

Er ist nicht vergessen, nur etwas ruhiger ist es um ihn geworden. In der Zwischenzeit hat er einen neuen Platz neben meinem Router gefunden, um nun direkt mit Hilfe einer PCMCIA zu LAN-Karte ins Netz zu gehen. Ab und an probiere ich ein paar Programme und Einstellungen aus um herauszufinden, was tatsächlich möglich und vor allem sinnvoll ist bei einem 16 Jahre alten, Toshiba 220cs, Laptop. Zwar ist 16 MB RAM weit davon entfernt ein komfortables Polster zu sein, doch verhalten sich einige Konsolenprogramme nicht anders als auf einem Core-Duo-Rechner.
Nach wie vor benutze ich Slitaz in der Minimalinstallation und das winzige KolibriOS als Dual-Boot System. Zwischendurch hatte ich Slitaz zwar auch schon wieder von Grund auf neu aufgespielt, aber am Ende rettet das Image vom Jahresanfang immer noch den Tag.
Wenn ihr zu den Leuten gehört, die elektronische Geräte bei längerer Nichtbenutzung komplett vom Stromnetz trennen, solltet ihr nach dem Wiederanfahren unbedingt einen Blick in das BIOS werfen. Bei Problemen mit der PCMCIA Karte kann es passiert sein, dass die ausgelaugte CMOS-Batterie nicht mehr genug Energie zur Verfügung stellt, um die richtigen Einstellungen zu speichern.
RAM. Zwar rede ich immer von 16 MB RAM, htop zeigt mir aber lediglich nur 10 MB an. Vermutlich wird Speicher durch eingebaute Hardware reserviert, weswegen am Ende für die tatsächliche Ausführung weniger RAM zur Verfügung steht. Htop ist aber nicht das einzige Programm, das diesen Wert anzeigt. Auch KolibriOS signalisiert hier den gleichen Wert. Trotzdem ist es erstaunlich, was ein minimales Slitaz an Arbeitsspeicher benötigt und dabei dennoch alle Hardwaretreiber geladen hat.

WLAN. Das WLAN in Betrieb zu nehmen, war auf dem 220cs noch nie ein Problem. Obwohl 1996 die meisten Laptops noch nicht bereit waren für die mobilen Ansprüche des Internetzeitalters (mit dem 220cs kann man sich Hanteltraining sparen), ist es ohne weiteres möglich seine PCMCIA-Karte mit WPA in Betrieb zu nehmen. Leider nimmt diese drahtlose Funktion einige MB in Anspruch. Wenn man also den Rechner sowieso nur zur Hause für einen bestimmten Zweck nutzen möchte, ist eine PCMCIA zu LAN Karte vorzuziehen. Die beiden von 3com erfüllen nicht nur ihren Zweck, sondern haben auch Freie Linuxtreiber.
Rtorrent. Keine Frage ist Rtorrent die bevorzugte Lösung, wenn man BitTorrent von der Konsole aus bedienen möchte. Mit dem geringen Verbrauch an Systemressourcen und dem intuitiven Ncurses-Interface kann man nicht viel falsch machen. Obwohl RAM hier ein wichtiger Flaschenhals ist, sollte man I/O nicht unterschätzen. So alte Laptops haben meist keine sehr schnelle Festplatte, USB 1.0 war zu dieser Zeit noch eine Seltenheit und versucht man gleichzeitig mehrere Torrents über WLAN zu verteilen, hat man die besten Voraussetzungen geschaffen, um dem System die Grenzen aufzuzeigen. Der Umstieg auf eine LAN-Verbindung hat bei mir zwar deutlich geholfen, dennoch muss man die Bandbreite bei der Übertragung drosseln, damit der Laptop weiterhin bedienbar bleibt. In Rtorrent sollte deswegen die Anzahl der maximalen Peers begrenzt werden und gleichzeitig für den Download eine Grenze gezogen werden. Global 300 kb/s war ein vernünftiger Zahlenwert.
Musik. Nachdem ich die richtigen Audioeinstellungen gefunden hatte, ließ sich ohne weiteres Musik mit cmus abspielen, dass ich mit Hilfe von tazpkg von einem Debian- in ein Slitazpaket umgewandelt habe. Ob die abgespielten Klänge aber als Hörgenuß bezeichnet werden dürfen, lasse ich an dieser Stelle mal offen. Hier muss man wohl die Schuld bei der Soundkarte suchen. Lauter Krach immer, Äolsharfe gleiche Klänge eher nein.
SSH. Normalerweise benutze ich SSH nicht nur zur Fernadministration, sondern auch zum Einhängen entfernter Dateisysteme mit sshfs. Diese Methode scheint bei dem Toshiba 220cs ziemlich instabil zu sein, weswegen möglicherweise der Versuch lohnt Dateien mit Hilfe von NFS freizugeben. Auf jeden Fall ist Dropbear der geeignete Ersatz für OpenSSH, wenn die Ressourcen begrenzt sind.
Lighttpd. Ich erwähnte schon bei der Vorstellung von Ideen, was man mit alten Computern machen kann, dass ein hauseigener Webserver unter Umständen ein guter Verwendungszweck für einen alten Rechner sein kann. Als leichtgewichtige Variante bietet sich hier Lighttpd an, der sich bei Slitaz problemlos installieren und mit /etc/init.d/lighttpd start auch sofort in Betrieb nehmen lässt. Dauerhaft wird der Dienst in der /etc/rcS.conf unter RUN_DAEMONS eingetragen. Danach nur noch mit dem Browser auf die lokale Adresse surfen und man kann sich von den Fähigkeiten von Lighttpd überzeugen.

Prinzipiell funktionieren viele textbasierte Programme wie auf einem brandneuen Modell. Egal ob es der IRC Chat ist, der Terminplaner für die Konsole oder das E-Mail-Programm. Wunder darf man aber nicht erwarten. Insbesondere lassen sich nicht alle Programme parallel ausführen und umfangreiche Editoren wie Vim verhalten sich zeitweise recht träge.
Für die Zukunft stehen noch FreeDOS und Crux auf dem Testplan. Ersteres um herauszufinden, welche Möglichkeiten ein weiteres Nicht-Linux, aber Freies Betriebssystem, bietet und letzteres, weil es einen speziellen i585-Port zur Verfügung stellt und dazu noch äußerst anpassbar ist.

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. 😉

Noch ein paar Bilder zu KolibriOS

Das Erstellen einer Fat32-Partition war zwar schwieriger als gedacht, aber nach etwas resize2fs-Magie nicht unmöglich. KolibriOS lässt sich auf meinem Toshiba220cs nun über GRUB starten und das Abspeichern der Konfiguration oder Sichern von Screenshots ist mit der neuen Fat32-Partition auch kein Problem mehr.

KolibriOS bringt einige Systemprogramme mit, die wertvolle Informationen über Speicherverbrauch, CPU und Mainboard herauslesen können. Für manche Infos sollte man aber zumindest grundlegende Kenntnisse in Binärsprache und Hex-Schreibweise haben. 🙂
Bei den insgesamt nur 16 MB RAM des Toshiba Satellite ist es nicht möglich jedes Programm gleichzeitig auszuführen, vor allem da das gesamte Betriebssystem im RAM läuft (dies aber schon ab 8 MB). KolibriOS verweigert dann einfach das Starten. Da einige der mitgelieferten Spiele mehr RAM benötigen, lässt sich nur die Hälfte von ihnen auf dem alten Laptop spielen.

Einige der Programme imitieren das Aussehen von bekannten Anwendungen aus der Windows- oder Linuxwelt. Augenscheinlich haben es Winamp und der Midnight Commander geschafft in Assembler portiert zu werden. 😉 Mit dem CD-Player hatte ich bisher noch keinen Erfolg, da das Device nicht erkannt wird.
Es handelt sich übrigens um einen DVD-Brenner, den der Vorbesitzer anstelle des ursprünglichen CD-Laufwerks eingebaut hatte. Zumindest unter Slitaz hat eine Audio-CD schon Töne von sich gegeben.
Eine schicke Besonderheit sind die vielen Demos von KolibriOS, die verschiedene Grafikfeatures oder bekannte Gimmicks wie die "rollenden Augen" repräsentieren. Ohne Scherz, es gibt sogar die Möglichkeit Quake mit KolibriOS zu spielen.
Was gut funktioniert ist auf jeden Fall das Screenshot-Programm und der ImageViewer, mit dem sich die Schnappschüsse auch sofort anschauen lassen.
Zumindest mit dem Inspiron 4000 ist es mir gelungen auch eine Netzwerkverbindung herzustellen, da die Netzwerkkarte von KolibriOS unterstützt wird. Der Versuch, mit dem IRC Client sich zum Kolibri-Server zu verbinden, wurde leider abgelehnt und auch irc.debian.org wies die Anfrage zurück.
Der HTML-Viewer ist tatsächlich nur ein Betrachter und kein vollwertiger Firefox-Ersatz. Zumindest www.kolibrios.org lässt sich damit problemlos darstellen. 🙂
In Sachen Benutzerfreundlichkeit könnte das ein oder andere Programm sicher noch optimiert werden, obwohl so etwas einfach nur das Sahnehäubchen in einem komplett in Assembler programmierten Betriebssystem wäre. Vielleicht muss sich der ein oder andere Thunderbird-Benutzer bei der Bedienung des POP-Mail Clients aber umstellen. 😛

KolibriOS hat noch mehr Programme zu bieten und ich kann immer noch nicht behaupten, wirklich jeden Aspekt vollkommen getestet zu haben. Für ein Betriebssystem, dass auf eine 1,44 MB Floppy passt, ist KolibriOS schon jetzt unglaublich.
Wer sich soviel Festplattenspeicher leisten kann und sich nicht scheut, entweder Qemu oder einen Booteintrag in GRUB vorzunehmen, der hat ab sofort ein neues in Assembler programmiertes Zweitsystem, dass es in dieser kompakten Form sicher kaum ein zweites Mal gibt.

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. 😉

KolibriOS auf einer Floppy

Ich hatte vor kurzem die Gelegenheit mir KolibriOS in der aktuellen Version 0.7.7.0 etwas näher anzuschauen. KolibriOS hat genau genommen nichts mit dem Linuxkernel zu tun, ist aber Freie Software und, für mich besonders bemerkenswert, komplett in Assembler programmiert.

Das Erstaunliche: Das komplette grafische Betriebssysten passt auf eine einzige 1,44 MB Floppy, lässt sich aber auch von einem USB-Stick oder einer CD booten und direkt mit Hilfe von GRUB und memdisk von jedem Linuxsystem aus starten.
Mein erster Gedanke war, wie schlägt sich KolibriOS auf dem antiken Toshiba Satellite 220cs mit nur 16 MB RAM.
Slitaz ist dort mittlerweile in der Minimalinstallation installiert, Sound funktioniert, ein paar wesentliche Systemeinstellungen wurden auch schon justiert, was nun noch fehlte war eine moderne grafische Oberfläche, die auch angemessen schnell reagiert.
Ehrlich gesagt bezweifle ich, dass eine komplette GUI überhaupt notwendig ist. Slitaz bringt auf der Kommandozeile schon genug nützliche Programme mit.
Bis ich dieses Problem gelöst habe, gibt es nun KolibriOS. Eine Dual-Boot-Installation mit GRUB Legacy ist äußerst einfach und um es vorweg zu nehmen, der Satellite 220cs kommt gut damit zurecht.
Es genügt das Paket syslinux zu installieren und dann den Bootloader memdisk von /usr/lib/syslinux z.B. in das Boot-Verzeichnis oder eine separate Partition zu kopieren. Anschließend muss die Datei kolibri.img der Diskettenversion ebenfalls in dieses Verzeichnis/Partition kopiert werden.
Um KolibriOS beim Start von GRUB auswählen zu können, wird die /boot/grub/menu.lst editiert. Liegen memdisk und kolibri.img auf der boot Partition hda1 sieht das so aus.

title KolibriOS
root (hd0,0)
kernel /memdisk
initrd /kolibri.img

Auch für GRUB2 ist die Installation schnell erledigt. Unterschied ist die neue Syntax und die geänderte Zählweise bei Partitionsnummern. Die sauberste Lösung ist bei Debian das Editieren der Datei /etc/grub.d/40_custom. Danach nur noch den Befehl grub-mkconfig -o /boot/grub/grub.cfg als root ausführen.

menuentry "KolibriOS" {
set root='(hd0,1)'
linux16 /memdisk
initrd16 /kolibri.img
}

Memdisk war leider nicht im Syslinux-Paket von Slitaz enthalten, weswegen ich Memdisk von einer Debianinstallation benutzt habe und das auch problemlos funktionierte.
Nach dem Neustart lässt sich nun bequem zwischen KolibriOS und der alten Linuxdistribution wählen.
KolibriOS überraschte mich mit einem kompletten grafischen Desktop und einer Unmenge an Programmen, Gimmicks und Spielen. Außerdem funktionierte die Internetverbindung auf dem Inspiron 4000 dank Unterstützung für den Intel-Chipsatz. Das schaffte nicht einmal Debian Squeeze out-of-the-box. (oder besser wollte nicht schaffen) 😉
Ein komplettes SDK zur Programmierung von Anwendungen in Assembler ist integriert. Der Hintergrund und die Icons lassen sich ändern, Touchpad und Maus funktionieren und auch der kleine quäkende PC Speaker gibt Töne von sich 😉
Es gibt einen IRC-Client, einen HTML-Viewer, Telnet und FTP-Clients, man kann Internet-Schach spielen. Da sind ein Taschenrechner, ein kleines Malprogramm, Texteditor, Shell, ein CD-Player und auch ein Dateimanager und und und.
Mehr als genug Programme um behaupten zu können, ein komplettes Betriebssystem vor sich zu haben. Sicher ist aber auch, dass trotzdem nicht von heute auf morgen jeder Privathaushalt und jedes Unternehmen auf KolibriOS umstellen wird. Die Hardwareerkennung ist natürlich sehr eingeschränkt. Wer also PCMCIA und USB-Wlan-Sticks zum Surfen braucht hat Pech gehabt.
KolibriOS ist so winzig, dass der Begriff "leichtgewichtig" schon wieder zu schwer ist. KolibriOS zum Maßstab aller leichtgewichtigen Linuxdistributionen zu machen ist aber genauso ungerecht wie zu erwarten, dass ein kompletter Firefox in Assembler irgendwo zwischen den 1,44 MB schlummert oder OpenOffice sich wundersamerweise hinter einem der zahlreichen Programmmenüs verbirgt.
Ebenfalls beachten sollte man, dass KolibriOS nur auf FAT-Partitionen schreiben kann und von ext2/ext3 nur liest. Deswegen werde ich die Programme auch mal näher vorstellen, sobald ich eine FAT-Partition auf einem der Laptops eingerichtet habe. Die Screenshots stammen deshalb noch aus Qemu.
Ich denke KolibriOS ist ein starker Gegenbeweis zu manch Gigabyte großer Installation und zeigt was theoretisch machbar wäre.
Ich ziehe auf jeden Fall meinen Hut vor den Entwicklern.

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. 😉