Too Cool for Internet Explorer

Linux auf einer Neoware Neostation 3000


Ich habe nun endlich meinen alten, äusserst lauten und stromfressenden FujitsuSiemens PC ersetzt, der mir in meinem Heimnetz als Print- und DNS Server diente. Ich war schon lange auf der Suche nach einem hübschen kleinen und kostengünstigen Rechner und bin vor kurzem bei ebay mit einem ThinClient der Firma Neoware fündig geworden. Für knapp 18,- inkl. Versandkosten habe ich bei ebay das schon etwas ältere Modell Neostation 3000 ersteigert - zu sehen auf dem Photo unten rechts ohne Gehäuse.

Die Neostation hat einen äusserst leisen Netzteillüfter und ansonsten keine weiteren mechanischen Bauteile. Da ein Prozessor für Embedded Systeme auf dem Mainboard steckt, benötigt dieser zur Kühlung lediglich einen Kühlkörper. Meine Neostation kam mit einem 32MB SO Dimm Laptop Speicher und einer 8MB DOC (Disc-on-Chip), auf der Windows CE 1.0 installiert ist. Die Neostation kann über einen Speichersteckplatz auf maximal 256MB Ram erweitert werden, bietet eine Schnittstelle zum Anschluss von IDE Geräten, sowie einen Slot zum Einstecken einer ISA oder PCI Karte - mehr als ausreichend für meine Zwecke. An Anschlüssen bietet die Neostation Audio Ein- und Ausgänge, VGA, eine parallele sowie zwei serielle Schnittstellen und einen 10/100 Netzwerkanschluss, 2 PS/2 Anschlüsse für Maus und Tastatur sowie zwei USB Anschlüsse. Das Netzteil wird über einen handelsüblichen Kaltgerätestecker mit Strom versorgt. Schön ist, dass auf dem Board Standardbauteile verwendet wurden, die von Linux gut unterstützt werden. So verwendet das Netzwerkinterface z.b. einen Chip von Realtec.

Mein Plan war es die vorhandene Windows CE Installation durch eine auf einer CF Speicherkarte installierten Linux Distribution zu ersetzen. Die Speicherkarte lässt sich über einen Adapter an die IDE Schnittstelle des Rechners anschliessen und von dieser kann dann das Linux gebootet werden. Die Suche nach einer passenden Distribution gestaltete sich indes nicht einfach: da ich mit den Jahren die Lust am Frickeln verloren habe, möchte ich ein System, das schnell und ohne lange Bastelei aufgesetzt ist. Meine Versuche ein eigenes Image für die CF Karte zu erstellen scheiterten deshalb auch ziemlich schnell - fdisk, mkfs, dd und debootstrap sind Deine Freunde? Wenn's denn so einfach wäre! Beim Booten oder spätestens beim Laden des Kernels in der Neostation blieb das Linux hängen. Verschiedenste Seiten im Internet, die ich bei meinen Recherchen gefunden habe, erwecken den Eindruck, dass das Erstellen eines ext2 Images auf der Speicherkarte hochproblematisch ist und es auch nicht gesagt ist, dass es mit den Speicherkarten eines jeden Herstellers funktioniert.

Ich bin schon etwas überrascht - wenn nicht gar enttäuscht, dass dieses Thema von den einschlägigen Distributionen eher stiefmütterlich behandelt wird. Selbst für die Distributionen, die sich Aufgrund ihrer geringen Grösse für ein derartiges System eignen würden (z.B. DSL), findet man erstaunlich wenig Informationen - und noch weniger "offizielles", geschweigedenn ein CF Image oder ein Tool, mit dem man ein solches erzeugen kann. Bis auf ASTlinux, welches ein Image für die Geräte von Soekris bereitstellt, brachte ich keine Linux Distribution von Haus aus zum Laufen. Allerdings eignet sich ASTlinux Aufgrund der starken Ausrichtung auf Asterisk basierte Telefonielösungen nicht wirklich für meine Zwecke.

Nachdem die Neostation dann also ein paar Tage aus Zeitmangel nicht mehr angerührt wurde, stolperte ich vor ein paar Tagen bei del.icio.us zufälligerweise über eine erfrischend andere Linux Distribution: PuppyLinux. "Puppy's Goals" sind laut Webseite:

  • Easily install to USB, Zip or hard drive media.
  • Booting from CD (or DVD), the CD drive is then free for other purposes.
  • Booting from CD (or DVD), save everything back to the CD.
  • Booting from USB Flash drive, minimise writes to extend the life indefinitely.
  • Extremely friendly for Linux newbies.
  • Boot up and run extraordinarily fast.
  • Have all the applications needed for daily use.
  • Will just work, no hassles.
  • Will breathe new life into old PCs
  • Load and run totally in RAM for diskless thin stations

... und diese Ziele werden erstaunlich gut erreicht. Ich habe mir das ISO Image von PuppyLinux 3.01 heruntergeladen und auf meinem Mac über Parallels gebootet. Da ich im Moment keinen CF Kartenleser für USB habe, habe ich meine Digitalkamera als CF Leser benutzt und an den Rechner gehängt, sodass die CF Karte in PuppyLinux/Parallels als USB Wechselmedium erkannt wird.

PuppyLinux bietet nun etwas, was ich so bei keiner anderen Distribution gesehen habe: eine Anwendung über die man auf Knopfdruck eine PuppyLinux Installation auf einem (USB) Flashdrive anlegen kann. Dabei bietet dieses Tool sogar die Option das System auf eine CF Karte zu installieren, die zwar zur Zeit der Installation über einen USB Kartenleser an den Rechner angeschlossen ist, im Zielsystem aber über einen IDE Adapter betrieben werden soll - also exakt die Anforderung, die ich habe!

Das System wird problemlos installiert: optional kann die CF Karte partitioniert werden. Installiert wird das System in einer FAT Partition, durch das anlegen dreier Dateien - dem Linux Kernel, einer Datei zum Anlegen und Starten von Linux in einer RAM Disk, sowie dem Kompletten PuppyLinux - gespeichert in einer einzelnen Datei, die als Container für das System dient. PuppyLinux wird komplett in den RAM des Computer geladen. Da meine Neostation bei Lieferung nur 32MB Ram hatte, musste ich den 256MB DDR RAM Riegel aus meiner UltraSPARC, die für Notfälle im Abstellkeller steht, in die Neostation einbauen.

Mit 256MB Ram funktioniert das Linux einwandfrei. Es wird komplett in den Hauptspeicher geladen und kann von dort genutzt werden. Dennoch habe ich meist zwischen 100MB und 200MB RAM zur Verfügung. Die Distribution kommt mit zwei X Systemen: x.org sowie xvesa. Letzteres kann genutzt werden, wenn x.org aus irgendeinem Grund scheitert. Bei mir war das so - deshalb habe ich ohne lang herumzufrickeln xvesa gewählt, welches ausgezeichnet funktioniert und für meine Zwecke absolut ausreichend ist (mir würde ja schon die Konsole reichen).

Die Installation von weiteren Paketen funktioniert über das PuppyLinux eigene Paketformat und den Paketmanager einwandfrei. Abhängigkeiten werden automatisch aufgelöst. CUPS - was ich zum Betrieb des Rechners als Print-Server benötige - funktioniert einwandfrei und steuert meinen Laserdrucker an, den ich über den parallelen Port an den Rechner angeschlossen habe. Zum Konfigurieren von PuppyLinux gibt es verschiedenste Wizards, die die Konfiguration zu einem Kinderspiel machen. Leider Fehlen in der Distribution ein SSH Server, sowie dnsmasq - letzteres ist für mich die erste Wahl wenn es um den Betrieb eines kleinen DNS für das Heimnetzwerk geht. Der Umstand, dass solcherlei Pakete fehlen ist nicht weiter verwunderlich, da PuppyLinux als Desktop-Betriebssystem konzipiert wurde und auch ganz klar darauf ausgerichtet ist.

Einen ssh Server (openssh) habe ich inzwischen im dotpups Repository gefunden. Die Suche nach einem dmasq Paket gestaltet sich indes noch ein wenig schwierig. Die Pakete können über einen Browser oder z.b. auch wget heruntergeladen werden, ein Klick im ROX Filemanager auf das Paket führt den Anwender durch die Installationsprozedur.

Persönliche Einstellungen speichert PuppyLinux auf einem beliebigen Speichermedium - ich habe noch genügend Platz auf meiner 512MB grossen CF Karte, deshalb speichere ich die Einstellungen dort. Beim ersten Anlegen einer "Save-Datei" kann man sogar auswählen, ob diese verschlüsselt angelegt werden soll, um persönliche Daten vor unbefugtem Zugriff zu schützen.

PuppyLinux bietet noch viele weitere interessante Funktionen mehr - alles in allem sind Neostation und PuppyLinux deshalb meiner Meinung nach eine empfehlenswerte Kombination um kostengünstig und ohne lange Frickelei einen Print-Server oder Router für das Heimnetz einzurichten.