Linux auf dem Thin Client IBM Netvista 2200

Der Thin Client NetVista kann als Linux-Gerät mit sehr geringem Stromverbrauch (~10Watt) etwa als Webserver oder Download-Station, verwendet werden.

Der Netvista 2200 ist ein Thin Client, den IBM in den Jahren 1999-2000 vertrieben hat. Die Hardware des Netvista ist weitgehend kompatibel zu einem normalen PC, wobei der Netvista sehr klein gebaut ist:
Netvista von aussen, vorn

Netvista von aussen, hinten

Die Tatsache, dass von IBM Turbolinux als Client-OS verwendet wurde, zeigt, dass Linux prinzipiell auf dieser Hardware laufen kann. Das Turbolinux kommt allerdings mit einem 2.2-er Kernel, der sehr veraltet ist. Es wäre eine Herausforderung, auf dieser Plattform heute Software überhaupt noch compiliert zu bekommen. Außerdem hat sich seitdem so viel in der Kernel-Weiterentwicklung getan, dass es schade wäre, auf dieser Uralt-Plattform aufzusetzen.

Turbolinux kann heute noch bei Lenovo/IBM heruntergeladen werden. Es gibt auch diverse Infos wie Handbücher bei Lenovo. Die Links sind aber nicht stabil, daher am besten über die Suche gehen:
http://www.lenovo.com/Search/?q=NetVista+8363

Die Hardware

Es gibt mehrere Typen des Thin Clients, wobei die Hardware praktisch immer gleich ist:

  • Exx: mit Turbolinux als Client-OS, Ethernet Anschluss
  • Wxx: mit Windows CE als Client OS, Ethernet Anschluss
  • Txx: Token Ring Anschluss (heute nicht mehr von Interesse, Tokenring ist tot, oder?)
Netvista 2200 von innen, ohne CF und ohne RAM
Der geöffnete Netvista. Der Chip mit dem Kühlkörper ist die Geode-CPU, oben links der SiS 900 Chip fürs LAN. Der Chip unten Links ist der Companion Chip CS 5530. Die vier Chips rechts neben der RAM-Schiene sind die eingebauten 32 MByte RAM. Oben mittig ist der CF-Card Adapter zu sehen. Ganz rechts am Gehäuse ist ein kleiner Lautsprecher angebracht. Links die Anschlüsse und Buchen. Oben links vom CF Card Adapter ist eine „Mini PCI“-Buchse vorhanden mit 2×60 Anschlüssen. Rechts vom CF Card Adapter ist ganz oben der Flash-Speicher für das BIOS zu sehen.

CPU: Die CPU ist ein National Geode GXLV mit 233 Mhz und 16KByte L1 Cache. Die CPU kommt mit einem „Companion Chip “ CS 5530, einer Art „South Bridge“ für die CPU. Der Companion Chip übernimmt die Ansteuerung für 2 IDE Kanäle UDMA/33, Stereo Sound nach AC 97, 2 USB Controller mit insgesamt 4 Ports und den IR Controller.

RAM: Als RAM sind 32 MByte Speicher fest eingebaut. Es existiert aber ein Slot für DIMM SDRAM PC100 (2 Kerben, 168 Pin), in den bis zu 256MB zusätzlicher Speicher eingesteckt werden kann. Ein DDR1-RAM PC100 (1 Kerbe) passt leider nicht, aber ein alter 128MB-SDRAM Riegel passt, so dass der Netvista damit 128+32=160MB Speicher hat. PC133 soll auch laufen.

Flash-Speicher: Eine Art BIOS für den Thin Client wird im Flash Speicher gehalten.

Nichtflüchtiger Speicher: Der Netvista besitzt einen internen CF Card-Slot. In diesen kann man handelsübliche CF-Karten einschieben. Der Netvista kann von sich auf auf ext2- (und damit auch auf ext3-) Dateisysteme sowie FAT16-Dateisysteme zugreifen. Ich habe eine 1GByte CF Karte in Verwendung. Im Internet habe ich gelesen, dass auch Microdrives (8GByte) funktionieren. Was prinzipiell nicht zu gehen scheint, ist per Adapter eine Harddisk anzuschließen (während das Umgekehrte, also eine CF-Karte an einem IDE-Slot anzuschließen, kein Problem ist).
Der Netvista kann vom Flash-Speicher booten.

Audio und Video: Der Netvista besitzt einfaches Stereo Audio. Das Video-Teil der CPU kann 1024×768 in 16Bit darstellen. 1280×1024 geht leider nur mit 256 Farben. Es kann 3 MByte (shared) Video-RAM verwalten.

Netzwerk: Mittels SiS 900 LAN-Chip kann eine 10/100 MBit Vollduplex Verbindung aufgebaut werden.

USB: Der Netvista besitzt 2 USB 1.1 Anschlüsse (12MBit-fähig). Es können jeweils Geräte mit einem Stromverbrauch von 1,25 A an 5 V angeschlossen werden.

Maus und Tastatur: Keine Anschlüsse vorhanden, diese müssen über USB angeschlossen werden. Ein Adapter (1x USB auf 2x PS/2 für Maus und Tastatur) verbraucht nur einen der beiden USB-Anschlüsse, so dass man noch eine externe Harddisk oder einen USB Switch anschliessen kann. Via USB kann auch eine schnurlose Maus+Tastatur angeschlossen werden.

Realtime Clock: Möglicherweise im Gerät vorhanden, wird aber hardwaremäßig nicht eingebunden und ist daher nicht nutzbar.

Netzteil: Der Netvista läuft mit einem IBM Netzteil, das 12 Volt mit 5 Ampere liefert. Der Stecker hat ein Außendurchmesser von 5,5mm und einen Innendurchmesser von 2,5 mm. Da der Netvista nur ca. 10 Watt verbraucht, ist das mitgelieferte Netzteil stark überdimensioniert.

System: Der Netvista besitzt ein IBM-eigenes BIOS, welches einige Einstellungen erlaubt. Man kann zwischen Netzwerkboot und Boot vom Flash umstellen, den Flash-Speicher updaten, Netzwerkeinstellungen konfigurieren und einiges andere. Es handelt sich um kein vollwertiges PC-BIOS.

Sonstiges: Der Netvista besitzt eine mit „PCI“ gekennzeichnete Buchse. Diese hat 2×60 Pin. Im Internet habe ich gelesen, das in dieser Buchse für die Baureihe Txx der Token-Ring-Adapter steckt. Anderswo habe ich gelesen, das diese Buchse wohl nicht mit dem „Mini PCI“-Standard kompatibel ist, ansonsten könnte man hier weitere Peripherie anschließen.

Linux auf dem Netvista

Die Installation von Linux für den Netvista ist an diversen Stellen beschrieben und sieht grundsätzlich immer gleich aus:

  1. Update des Flashspeichers auf das „aktuellste“ Bios vom 29.02.2002
  2. Formatierung der CF-Karte, auf die das Linux installiert werden soll, als ext3
  3. Aufspielen des Linux. Dieser Schritt muss so erfolgen, dass die Karte irgendwie an einen anderen Rechner angeschlossen ist, der die CF-Karte als Laufwerk ansprechen kann. Ein einfacher Kartenadapter reicht, man kann das unter Linux oder auch Windows machen.
Netvista innen mit RAM und CF-Karte
Netvista, nun mit eingesetzter CF-Karte und RAM-Riegel

Dialog für das Updaten der Firmware. Die alte Firmware (Datum 17.07.2000) wird durch die neueste (29.07.2002) ersetzt.

Dialog zur Umstellung des Bootens, so dass vom Flash-Speicher gebootet wird.

Kernel 2.4, Linux 2200

Mit Linux 2200 steht ein Linux zur Verfügung, welches auf dem 2.4er Kernel basiert. Beschreibungen hierzu gibt es an den folgenden Stellen:

Erfahrungen mit Linux 2200: Das Linux bootet in ca. 40 Sekunden bis ins X WIndow System hoch, also sehr flott. Software lässt sich auf dem System leider nur schlecht zum Laufen bringen. Ein Compiler steht nicht zur Verfügung und der alte Kernel sowie die alten Bibliotheken verhindern das einfache Überspielen fertiger Proramme plus Bibliotheken. Es gibt immerhin ein rdesktop und noch ein paar andere Sachen, die man auf dieser Plattform zum Laufen bekommt. Basis für die Standard UNIX Kommandos ist die busybox, d.h. die Kommandos sind nur eingeschränkt implementiert. Audio funktioniert, ein xmms ist im Linux 2200 dabei, ebenso der rudimentäre Browser „dillo“. Limewire bekomme ich zum Laufen, es läuft allerdings sehr zäh. Die Transfergeschwindigkeit mit Limewire pendelt um 100KByte/s, was ganz ok ist. Opera 9.3 lässt sich als static binary installieren, ist aber zäh an der GUI. Das in Opera integrierte torrent-Downloadsystem ist unbrauchbar langsam und bringt lächerliche 4-20KByte/s. Ist aber eher ein Opera-Problem.


dillo und xterm mit Linux 2200 auf dem Netvista

Kernel 2.6, Debian von „scooby“

Weiteres Stöbern im Internet fördert eine spanische Site zu Tage, auf der die Installation eines Debian-Systems mit aktuellem Kernel beschrieben ist. Mittels babelfish.altavista.com kann man sich die Seite mit Kommentaren von Spanisch ins Englische übersetzen lassen.

Beschreibung hierzu:
http://coredump.es/2007/06/25/debian-testing-kernel-2620-para-netvista-2200/ (Spanisch!) Übersetzung der URL mittels Babelfish http://babelfish.altavista.com möglich.

Das Debian ist ziemlich minimalistisch, kommt dafür aber mit ca. 100MB Plattenplatz aus. Da es sich um eine ganz normale Debian-Installation handelt, kann man alles weitere nachinstallieren. Ich installiere als Debian-Ahnungsloser mittels aptitude/apt-get noch X und Xvnc und ein paar weitere Dinge wie JRE 1.6 und Azureus hinzu. Auch ein Systemupdate („apt-get update“) funktioniert wunderbar.

Debian Screen auf Netvista 2200
Das Linux 2.6 von scooby mit fluxbox als Window Manager, aufgerufen via vncviewer von einem anderen Rechner aus.

Erfahrungen damit: Das System funktioniert sehr gut und nicht anders als ein normales Desktop-Linux. Vor der Installation von KDE schrecke ich zurück und installiere mir fluxbox als Window-Manager. Ich kann dann mittels vncviewer von einem anderen Rechner auf dem als Xvnc laufenden  X Server zugreifen und brauche damit keinen lokalen Monitor und auch keine Maus/Tastatur mehr. Eine Harddisk lässt sich extern anschließen, ich nehme eine 2,5“ HD vom Notebook mit 80 GByte, die vom Netvista sauber mit Strom versorgt wird. Ein Azureus-Download der openSuse-10.3-DVD bringt Download-Geschwindigkeiten von um die 200KByte/s, was nur geringfügig langsamer ist als Azureus auf meinem Desktop-Rechner. Das Ziel, eine Downloadmaschine zu haben, die mit sehr geringem Stromverbrauch und lautlos läuft, ist damit erreicht.

Einschränkungen:

  • Beim Hochfahren braucht der Boot lange, weil irgendwelche DMA-Fehler auftreten. CF-Karten können wohl kein DMA. Wie man das abstellt, weiss ich nicht, man kann sicher den Kernel passend compilieren.  Es können keine Kernel-Parameter auf der Kommandozeile mitgegeben werden, dies erlaubt das BIOS nicht.
  • Den X Server, der auf der lokalen Hardware läuft, bekomme ich auf die Schnelle nicht zum laufen. Sowohl „vesa“ als auch „ncd…“ Treiber funktionieren bei mir nicht. Da ich ohnehin keinen Monitor an das Gerät anschließen will, sondern immer mit Xvnc zugreife, verfolge ich das Thema zunächst nicht weiter.

Performance: Kommandozeilentools sind flott und auch X Windows Programme sind unproblematisch und gut zu bedienen. Bei Transferversuchen mit wget im LAN bekomme ich 1,5MByte/s, was ganz ordentlich ist. Java-basierte Programme (Azureus, Limewire) reagieren an der GUI nur sehr zäh. Man muss bedenken, dass die CPU nur 233 Mhz hat. Dafür finde ich es erstaunlich flott, wie gesagt, nur Java-GUIs sind wirklich langsam.

OpenSuse 10.3

2009 habe ich beim Stöbern zufällig eine Website gefunden, auf der jemand ein OpenSuse 10.3 übersetzt hat. X11 funktioniert und die lange Pause beim Booten (wie beim scooby-Linux) tritt auch nicht auf. Ich bin ziemlich begeistert von der Distribution. Hier der Link:
http://www.urbana.fm/~antocm/projects.html#netvista

Gemessener Stromverbrauch:

<noch offen>

Kernelübersetzung

Der Kernel muss nach dem Compile gepatcht werden, dies ist in Spanisch hier beschrieben: http://coredump.es/2007/06/18/compilando-el-kernel-26-para-el-netvista-2200/.
Der Trick ist dabei, dass nach dem üblichen Kernel Compile noch ein binärer Patch im Kernel Image durchgeführt werden muss.

Das BIOS kann nur uncompresste Kernel starten, also ist ein „make vmlinux“ statt „make bzImage“ erforderlich. Das .xconfig-File kann hier heruntergeladen werden. Zur Sicherheit habe ich hier eine lokale Kopie.

Schreibe einen Kommentar