Dockstar auf Debian-Basis ala Jeff Doozan

Schon seit längerem verwende ich als eMail-Server eine sogenannte Slug, das ist der Spitzname für die NSLU-2 von Syslink. Durch verschiedene Projekte ist man als begabter Benutzer in die Lage versetzt auf diesem winzigen Gerät, das eigentlich als NAS für Heimnetzwerke gedacht ist, ein vollständiges Debian Linux zu installieren und damit sehr viel mehr zu machen als ursprünglich vom Hersteller gedacht war.

Hauptvorteil solch kleiner Geräte ist die geringe Stromaufnahme und absolute Stille mit der sie arbeiten – mit einer Festplatte sind sie natürlich dann doch hörbar, aber immer noch sehr, sehr leise und gar kein Vergleich zu einem vielleicht schon ausgemusterten alten Rechner, der locker das 10fache an Strom und Lärm produziert.

Meine Slug ist schon recht alt, nicht mehr erhältlich und hat mir schon Probleme bereitet, scheinbar stirbt nach ein paar Jahren einfach das Netzteil. Da das Backup des Systems nicht ganz einfach ist und ein identischer Ersatz nicht für wenig Geld in Sicht, habe ich mich schon länger umgesehen, was sich in dieser Sparte neues tut und zuletzt bin ich auf die Dockstar gestossen, die von Seagate produziert wird.

Im letzten halben Jahr hat Seagate die Geräte teilweise zu 25 Euro raus gehauen und ich hatte die Gelegenheit 2 Stück bei einem Händler in der Nähe abzugreifen. Derzeit ist der Preis leider schon weit über die 80 Euro Marke gestiegen, auch bedingt dadurch, dass sich viele andere Benutzer, so wie ich einer bin, das Gerät für ganz andere Zwecke zugelegt haben als vom Hersteller gedacht. Mittlerweile scheint es die Geräte auch gar nicht mehr im normalen Handel zu geben, zumindest, wenn man die diversen Preissuch-Maschinen bemüht. Importe aus UK bieten sich zwar an, sind aber auch nicht wirklich günstig. In der USA scheinen im Moment einige Chargen auf ebay aufzuschlagen, die Transportkosten nach hier sind aber auch nicht zu verachten.

Auch bedingt durch den vorübergehend super günstigen Preis hat sich den letzten Monaten hat eine kleine Community um das Gerät gebildet, das in seiner Hardware stark von dem sogenannten Sheeva-Plug abgeleitet ist, und Patches eingebracht, die den Umgang damit erleichtern und so z.B. die Front-LED ansteuerbar machen, was in bestimmten Fällen durchaus nützlich sein kann.

Zur eigentlichen Hardware:
– Prozessor ist ein ARM-Gerät das mit einem Gigaherz läuft.
– Speicher 128 MByte RAM
– 3x Standard USB + 1 Mini-USB-Anschluss (hier passen nur die Platten für die Dockstar drauf, dafür schön Platz sparend)
– 1 GB Netzwerk-Anschluss!

Die Dockstar hat einen einfachen Bootloader (uBoot) und das eigene Betriebssystem genannt Pogoplug. Beides findet sich im internen Flash-Speicher der Dockstar.. Der Bootloader ist tatsächlich sehr einfach gehalten und eigentlich nur dazu da, das Betriebssystem zu starten. Im Original ruft das Betriebssystem dann als DHCP-Client über den heimischen Router beim Pogoplug-Server an und stellt dann die Daten von angeschlossenen Festplatten über das heimische Netz und zusätzlich auch im Internet bereit. Eigentlich ein netter Dienst, für mich aber komplett uninteressant.

Will man die Dockstar mit einem eigenen Debian bestücken, so empfiehlt es sich auf der Seite von Jeff Doozan herein zu schauen und sich den dortigen Bootloader zu installieren (Achtung! Der Bootloader ist ein zentrales Element der Dockstar. Geht dort beim flashen etwas schief, ist die ganze Kiste im Eimer und kann nur noch durch einige wenige Freaks Spezis wiederbelebt werden).
Der neue Bootloader ist ein wenig weiter entwickelt als der originale, hat aber natürlich lange nicht den Komfort z.B. eines PC-Bios – wie auch, man ist ja bezüglich Bildschirm und Tastatur etwas unterversorgt. Ein großer Vorteil von Doozans Bootloader ist aber nicht nur, dass er nicht nach Hause telefoniert und dass er zuverlässig von externen Medien bootet, sondern auch, dass er in der Lage ist, über eine sogenannte netconsole fast wie bei einer seriellen Verbindung in den Bootvorgang hinein zu schauen und diesen sogar unterbrechen bzw. manipulieren zu können (dafür sollte man sich besser ein wenig mit Linux auskennen und einen Linux-Rechner in Betrieb haben – rein praktisch bietet sich aber natürlich auch eine weitere Dockstar dafür an!).
Die Netconsole ist auch eine sinnvolle Alternative zu einer selbst erstellten seriellen Hardware-Verbindung über ein USB-Kabel wie z.B das DK-42 für Nokia-Handys die man dann benötigt, wenn ansonsten gar nichts mehr zu gehen scheint. Und das kann schneller passieren als man denkt. Also das Netconsole-Prozedere so früh wie möglich einrichten und auch ausprobieren, es schadet dem normalen Boot-Vorgang überhaupt nicht.

Danach wird man entweder mit einem USB-Stick oder einer Festplatte weiter machen und sich das von Jeff schon länger verfügbare Debian Squeeze (Lenny ist einfach zu alt) installieren und einrichten. Ist der Bootloader korrekt installiert, wird das Gerät auch immer sauber von der Platte oder dem Stick booten.

Manchmal ist allerdings mal der Wurm drin.
Das kann ein vergessenes oder falsches setzen der sogenannten arcNumber sein oder auch ein gestörtes Debian oder ein defektes Filesystem auf dem Boot-Medium. Und für den Zweck der Behebung solcher an sich trivialen Angelegenheite hat Jeff schon vor einiger Zeit einen kompletten Ersatz für das stark veraltete und nicht gut ausgestattete Pogoplug (das auf Linux basiert) geschaffen: Das Rescue System. Das ist eigentlich ein ganz normales Debian Linux, das aber komplett die Pogoplug-Software in der Dockstar ersetzt. Vorteil ist, man kann die Dockstar auch ohne Bootmedium starten lassen und dann von dieser Rettungs-Plattform mit den diversen Bordmitteln helfend eingreifen. Das ist extrem nützlich, sofern man sich damit auskennt und funktioniert im Grunde so, wie eine Rettungs-CD für Standard-PCs, die auf irgend einem beliebigen Linux basiert.

Allerdings hat Jeff da auch einen kleinen Bock geschossen. Als er das System erdachte war die aktuelle Version von Debian für die Dockstar nicht viel mehr als eine erweiterte Version der bereits für den Sheevaplug existierenden Version. Und genau da liegt das Problem. Um es genauer zu verstehen muss ich noch erwähnen, dass die verschiedenen Plattformen in der embedded ARM-Welt (das ist der Prozessor) über eindeutige Hardware-IDs unterschieden werden. Zu Anfangs hat man für die Dockstar dabei einfach die vom Sheevaplug übernommen (2097) und sozusagen überladen. Später haben sich weitere Programmierer wie Eric Cooper alias ecc daran gemacht, Debian für die Dockstar weiter anzupassen und dabei wurde eine neue Hardware-ID verwendet (2998).

Nun ist es so, dass man ein aktuelles Debian auf ein Boot-Mediaum installieren kann, das mit der ID 2998 läuft und das unter Verwendung dieser ID z.B. auch sauber mit der LED auf der Vorderseite der Dockstar umgehen kann. Die ID 2998 ist aber der ‘veralteten’ Version des Rettungs-Systems komplett unbekannt und somit bootet sie nicht damit. Der bereits erwähnte Boot-Loader muss aber vorab auf die spezielle ID eingestellt werden und so kommt man zu dem Dilemma, dass das System zwar vom Boot-Medium bootet, aber nicht mehr in das Rescue-System, was für eine Rettungs-Plattform ein klein wenig suboptimal ist. Oder eben dass das System auch in das Rescue-System starten kann, aber das aktuelle Debian dann keine Unterstützung mehr für die LED aufbringen kann, weil es unter der ID 2097 läuft, was eine unnötige Beschneidung der Fähigkeiten der Dockstar darstellt.

Diesem Problem bin ich nachgegangen und habe es für mich gelöst.

Näheres dazu in diesem Forum und in diesem Eintrag.

Kurz beschrieben habe ich das von Jeff Doozan vorgestellte buildroot in der neuesten Version verwendet und seine Vorlage angepasst und um mir mein eigenes Rescue-System zu compilieren. Das ging leider nur auf meinem Ubuntu-Notebook, da das buildroot-System auf der Dockstar ein paar blöde Probleme hat. Vielleicht liegt es auch einfach daran, dass das buildroot-System auf einem nativen System Probleme mit dem Cross-Compiling zu dem identischen Prozessor hat, unter dem es gerade läuft. Wie auch immer, es funktioniert bei mir nur auf dem Notebook.

Warum ich das hier alles schreibe? Weil ich vermute, dass es noch andere deutschsprachige Leute gibt, die ähnliche Probleme beim Betrieb der Dockstar haben wie ich. Es gibt zwar schon ein paar Blogs, die sich mit dem Thema der Dockstar beschäftigen, die aber diese Information nicht konzentriert zusammen fassen, sondern nur ein paar Lose Artikel dazu veröffentlich haben, die teilweise leider auch schon wieder veraltet sind.