Der Network Storage Link for USB 2.0 von Linksys stellt USB-Festplatten im Netzwerk als zentralen Massenspeicher bereit. Da er in seiner werksseitigen Konfiguration vornehmlich für Heimnetzwerke gedacht ist, bietet er nur ein einfaches Browser-Interface zur Administration. Darüber erfolgen beispielsweise das Rechtemanagement der User und die Verwaltung der Massenspeicher.
Der günstige Preis von unter 70 Euro und eine dafür recht ordentliche Hardwareausstattung haben schon bald nach der Markteinführung im Jahr 2004 eine eingeschworene Gemeinde von Hard- und Softwareentwicklern entstehen lassen, die den NSLU2 als Basis für ihre Erweiterungen nutzen. Viele der Projekte sind inzwischen ausgereift und eignen sich selbst für den professionellen Einsatz. So gelingt das Einspielen einer echten großen Linux-Distribution komfortabel. Auch das Nachinstallieren der vielen angebotenen Softwarepakete ist keine Zauberei.
Im Folgenden werden wir zunächst den Upgrade der Firmware auf ein Debian-Linux beschreiben. Anschließend zeigen wir, wie Sie wieder auf die Original-Firmware zurückwechseln können. Dieses Verfahren kann man zudem selbst bei kaputt geflashten und vermeintlich defekten NSLU2-Devices zur Notfallrettung anwenden.
Im zweiten Teil der Artikelserie installieren wir auf dem NSLU2-Debian-Server einen Samba-Server. Dieser wird auch gleich als Windows-Domänen-Controller konfiguriert. Damit stellt der NSLU2 dann zentralen Speicherplatz im Netzwerk bereit und erhöht gleichzeitig die Sicherheit in kleinen Heim- und Büronetzwerken. Im abschließenden dritten Teil der Miniserie geht es dann um Tipps, Tuning und weitere Einsatzmöglichkeiten des Linksys NSLU2.
Debian-Linux-Installation auf dem NSLU2 |
|
Samba-Server und Domain-Controller mit dem NSLU2 |
|
Tipps, Tricks und Tuning für den NSLU2 |
noch nicht erschienen |
Einsatzbereich
Wer sich jetzt fragt, was dieses „Plastikspielzeug“ von Linksys eventuell sogar in einem professionellen Netzwerk zu tun hat, der möge Folgendes bedenken:
-
Mit rund 70 Euro ist der Server so günstig, dass man beispielsweise in einer Außenstelle oder in Büros ohne Vor-Ort-Administrator jederzeit einen zweiten, fertig konfigurierten NSLU2 als Ersatzserver in den Schrank legen kann. Tritt ein Problem mit dem Server auf, kann er von jedem Laien in Betrieb genommen werden. Da der NSLU2 keinerlei mechanische Bauteile und nur sehr wenige elektronische Komponenten enthält, ist das Ausfallrisiko sowieso relativ gering.
-
Durch den Einsatz von USB-Festplatten kann auch der Laie einen Plattentausch vornehmen. Spiegelt man etwa auf einem zweiten NSLU2 die Festplatte, können bei einem Plattenausfall auch Nicht-IT-Fachkräfte die Daten wieder im Netzwerk bereitstellen.
-
Green IT ist voll im Trend. Doch selbst energiesparende x86-Server schlucken schnell einmal 150 Watt im Durchschnitt. In kleinen Büros, in denen nachts und an den Wochenenden nicht gearbeitet wird und die USB-Festplatte in den Stand-by-Modus gehen kann, kommt die Kombination aus NSLU2 und Festplatte auf einen unschlagbaren Durchschnittsverbrauch von unter 15 Watt. Daraus ergibt sich eine Ersparnis von über 250 Euro pro Jahr bei den Stromkosten.
-
Bei diesen niedrigen Anschaffungs- und Betriebskosten kann man die vorgestellte NSLU2-Lösung ohne schlechtes Gewissen auch im Home-Netzwerk durchlaufen lassen und so den Komfort und die Sicherheit deutlich steigern.
Der NSLU2 im Originalzustand
Bevor wir mit den Modifikationen beginnen, noch ein paar Worte zur Original-Hard- und Software. Die von Linksys vorgesehene Anwendung des NSLU2 ist es, USB-Festplatten als Massenspeicher ins Netzwerk einzubinden. Das mit 10 x 14 x 3 Zentimetern taschenbuchgroße Device bietet als Schnittstellen daher lediglich zwei USB-2.0-Ports und einen 100-Mbit/s-Netzwerkport.
Als CPU kommt ein ARM-Prozessor von Intel (XScale IXP420) zum Einsatz, der mit 266 MHz getaktet ist. Ältere Modelle des NSLU2 nutzen bei gleicher Hardware nur einen Takt von 133 MHz, lassen sich aber durch das Entfernen eines Widerstands auf der Platine „upgraden“; dazu mehr in einem späteren Artikel. Als Hauptspeicher stehen dem NSLU2 32 MByte RAM und 8 MByte Flash für das Betriebssystem zur Verfügung. Ohne USB-Devices begnügt sich die Strom sparende Hardware des NSLU2 mit einer Leistungsaufnahme von 3 Watt.
Werksseitig hat Linksys ein embedded Linux mit SMB-Server installiert. Über eine Weboberfläche lassen sich die USB-Festplatten verwalten, Netzwerk-Shares einrichten, Usergruppen anlegen und deren Rechte managen.
Firmware-Versionen
Für den NSLU2, der in der Szene leichter aussprechbar als „Slug“ (Schnecke) bezeichnet wird, existieren mehrere Modifikationspfade. Bei der als „Unslung“ bezeichneten Methode wird das bestehende Betriebssystem lediglich um Erweiterungen auf einem angesteckten USB-Stick ergänzt. Die Unslung-Firmware lässt das Webinterface unangetastet und erleichtert so dem unerfahrenen User die Administration. Allerdings ist bei dieser Methode das Einsatzgebiet naturgemäß beschränkt. Auch bei der Linux-Kernel-Version ist man auf die Version 2.4 begrenzt.
Die weitaus radikalere Methode ist, die offizielle Debian-Distribution für ARM-CPUs einzuspielen. „Debian/NSLU2“ bietet sämtliche großen und kleinen Softwarepakete und Bash für den Slug an. Gut dokumentierte Anleitungen findet man unter anderem für den Umbau zum E-Mail-Server, VPN-Server und zum Webserver.
Im internen Flash-Speicher des Slug landet bei der Installation lediglich ein kleines Rumpf-Linux. Einen Großteil des Betriebssystems und die Erweiterungen installiert Debian/NSLU2 auf einem Massenspeicher am USB-Port. Diesen Weg werden wir im weiteren Verlauf des Artikels beschreiben und konzentrieren uns dabei auf den Umbau zum Samba-Server mit Windows-Domain-Controller.
Beim Googeln stößt man noch auf weitere Linux-Distributionen für den NSLU2, die aber im Gegensatz zu Debian/NSLU2 nur kleine Fangemeinden haben. Aufpassen muss man wegen der Namensverwirrung bei „Debianslug“. Dabei handelt es sich um den Vorläufer von „Debian/NSLU2“. Diese Distribution ist inzwischen auf „SlugOS/LE“ umgetauft. Eine Übersicht aller Firmware-Versionen findet man auf www.nslu2-linux.org/wiki/FAQ/FirmwareMatrix.
Installation von Debian/NSLU2
Während es vor Kurzem noch nötig war, den NSLU2 zum Austausch der Firmware kompliziert in den Bootstrap-Modus zu versetzen, gelingt die Installation des Debian-Linux inzwischen direkt über das vorhandene Linksys-Webinterface. Dabei spielt man zunächst nur einen rudimentären Installer ins Flash ein. Dieser partitioniert den USB-Stick und lädt dann über das Web alle für das Betriebssystem nötigen Module nach.
Beim Download der Installer-Firmware stehen theoretisch zwei Quellen offen. Die offizielle Debian-Version findet sich unter http://ftp.nl.debian.org/debian/dists/etch/main/installer-arm/current/images/ixp4xx/netboot/. Allerdings besteht ein lizenzrechtliches Problem: Der Netzwerktreiber des IXP4xx-Microcontrollers sind nicht Open Source und somit nicht im Paket enthalten. Daher ist ein externer USB-Netzwerkadapter mit Open-Source-Treibern zum Betrieb mit diesem Installer nötig. Damit zeigt sich die Installation zudem zickig, da man ständig zwischen internem und externem Netzwerkanschluss wechseln muss.
Ein „inoffizielles Image“, das diese Problematik umgeht, findet sich unter www.slug-firmware.net/d-dls.php. Es enthält bereits die Netzwerktreiber des IXP400. Vor dem 4,1 MByte großen Download muss man jedoch die aufgeführten Lizenzbedingungen von Intel annehmen.
Zwei Dinge sind noch erforderlich, bevor man mit dem Austausch der Firmware beginnen kann. Erstens muss am USB-Port des Slug ein Massenspeicher zur Auslagerung von Teilen des neuen Betriebssystems angeschlossen sein. Vorzugsweise nimmt man dazu einen USB-Stick mit mindestens zwei GByte Kapazität. Mit 1-GByte-Sticks gelingt die Installation nur, wenn man das Partitionieren manuell durchführt und mindestens 256 MByte für eine Swap-Partition abzweigt.
Zweitens benötigt man noch einen SSH-Client, um sich nach der Installation mit dem Linux-Server zur weiteren Konfiguration zu verbinden. Unter Linux steht dazu OpenSSH bereit, Windows-User sollten sich PuTTY installieren.
Wichtig: Obwohl der Original-NSLU2 USB-Sticks nur am Disk-2-USB-Port unterstützt, sollte der Betriebssystemstick an den Disk-1-Anschluss. Am zweiten Port gab es im Test gelegentlich Probleme bei der späteren Systemkonfiguration. Ebenfalls wichtig: Entfernen Sie einen eventuell schon angesteckten zweiten USB-Massenspeicher. Ansonsten scheitert die Installation mit der Fehlermeldung, dass zu wenig Speicherplatz frei wäre.
Firmware-Update
Zur Installation des Debian-Installers rufen Sie das Web-Frontend des NSLU2 auf. Wechseln Sie zunächst zum Menüpunkt Administration und prüfen Sie, ob das Netzwerk richtig konfiguriert ist. Zur Erinnerung: Default-Username und -Passwort lauten „admin“. Geben Sie dem NSLU2 am besten eine feste IP-Adresse, diese bleibt auch nach dem Firmware-Tausch erhalten. Wichtig dabei: Sowohl Netzwerkmaske, Gateway und DNS-Server als auch der Servername müssen gültige Werte enthalten, sonst ist die Box nach dem Update nicht mehr (so leicht) über das Netzwerk erreichbar.
Das Einspielen des Debian-Installers erfolgt wie ein normales Linksys-Firmware-Update über den Menüpunkt Administrator/Upgrade.
Nach knapp fünf Minuten sollte die Aufforderung zum Reboot kommen. Ab dann hat man keinen Linksys-NSLU2 mehr, sondern die Keimzelle eines kleinen Debian-Linux-Servers.
Debian-Installation
Beim ersten Reboot mit der neuen Firmware übernimmt der Debian-Installer seine Arbeit. Da der Slug zu diesem Zeitpunkt noch keinerlei Kommunikationsmöglichkeit hat, kann man die nächsten fünf Minuten nur warten, bis sich der NSLU2 mit drei Pieptönen meldet. Jetzt ist es Zeit für den ersten Login mit ssh. Hat man wie angeraten eine feste IP vor dem Upgrade vergeben, ist der Linksys darunter erreichbar. Ansonsten besorgt er sich eine IP-Adresse vom DHCP-Server. Ist dieser nicht vorhanden, wählt er die 192.168.1.77.
Stellen Sie vor dem Login im linken Options-Baum von PuTTY unter Windows / Translation den Zeichensatz auf „UTF-8“. Ansonsten werden Sonderzeichen nicht richtig dargestellt. Der Login mit PuTTY oder OpenSSH erfordert den Usernamen „installer“ und das Passwort „install“. Wählen Sie dann den Punkt „Start menu“, der Sie durch eine schrittweise Installation des Linux-Pakets führt. Diese unterscheidet sich von einer terminalbasierenden Installation auf einem PC nur in Details.
Der Installer ist an die limitierte Hardware des NSLU2 angepasst und wählt selbstständig nur die nötigsten Module. Wählen Sie zusätzlich nur noch autopartkit, partman-auto, partman-ext3 und usb-storage-modules-2.6... , um den USB-Stick für die Linux-Installation partitionieren und formatieren zu können.
Partitionierung
Nach ein paar Klicks auf einfach zu beantwortende Fragen steht die Partitionierung des USB-Sticks an. Obwohl der Partitionierer eine Aufteilung vorschlägt, sollte man diese manuell anpassen.
Dabei stellt Ihnen der Partitionierer eine kleine Falle: Er zeigt im ssh-Fenster seine Meldungen im unteren, meist unsichtbaren Bereich an. Scrollen Sie daher immer nach unten, um beispielsweise die Optionen zum Schreiben der Änderungen auf den Stick zu sehen.
Wählt man den automatischen Weg, fällt die swap-Partition meist zu klein aus. Legen Sie daher auf dem USB-Stick eine primäre Partition mit ext3 und der Eigenschaft „bootbar“ an. Lassen Sie bei 1-GByte-Sticks noch 256 MByte, bei größeren Sticks 512 MByte Platz frei. Darin erzeugen Sie dann eine logische Partition als swap-Bereich.
Finalisierung der Installation
Ist die Partitionierung erst einmal erledigt, fragt der Installer noch nach einem root-Passwort und eventuell anzulegenden Usern. Dann kann man sich erst einmal eine Tasse Kaffe oder besser ein opulentes Mahl gönnen: Der Download und die automatische Installation des Basissystems dauern ein bis zwei Stunden.
Nach der Basisinstallation könnte man gleich noch weitere Softwarepakete installieren. Doch besser lädt man die benötigten Komponenten später einzeln nach. Selektieren Sie daher bei der Softwareauswahl die Option „Standard System“.
Jetzt kann es nochmals etwas dauern, bis die Installation endgültig beendet ist. Den abschließenden Warnhinweis auf eventuelle Bootmedien können Sie ignorieren und endlich das fertige Debian-Linux starten.
Selbstverständlich bricht mit dem Reboot die ssh-Session ab. Geben Sie dem Slug eine Minute zum Start, dann können Sie sich erstmals über PuTTY in das Debian-Linux einloggen.
Notfallplan: Rettung für den „toten“ NSLU2
An dieser Stelle wollen wir die Beschreibung der Installation vorerst beenden. Mit der Konfiguration des Samba-Servers beschäftigt sich der nächste Teil der Artikelserie. Jetzt gehen wir vorsichtshalber noch auf die Rettung eines wie auch immer verunglückten Slugs ein. Egal, ob Ihnen bei der Debian-Installation ein Fehler unterlaufen ist, ein Firmware-Update gescheitert ist oder Sie nur wieder zur Original-Firmware zurückwechseln wollen: Selbst wenn sich der NSLU2 scheinbar nicht mehr im Netzwerk meldet, gibt es eine Hintertür, über die Sie ihn wieder mit der Original-Firmware zum Leben erwecken.
Der Rettungszugang erfolgt über den rudimentären Bootstrap-Loader namens RedBoot, vergleichbar mit dem BIOS eines PCs. RedBoot lauscht beim Start des NSLU2 für einen kurzen Augenblick unter der Adresse 192.168.0.1 auf Port 9000 und bietet dort einen telnet-Zugang an. Gelingt darauf der Login, kann man den Slug jederzeit wieder in den Auslieferungszustand versetzen. Im Folgenden beschreiben wir diese Rettungsaktion unter Windows.
Zunächst sollten Sie sich die aktuelle Firmware für den NSLU2 von Linksys herunterladen. Des Weiteren benötigen Sie noch ein Programm, mit dem Sie diese auf den NSLU2 übertragen können, wenn er sich im RedBoot-Modus befindet. Für Windows XP existiert dazu das Tool „Sercomm Firmware Updater“, das übrigens auch mit Netgear- und etlichen anderen DSL-Routern zusammenarbeitet.
Sie finden das Sercomm-Tool unter dem Dateinamen Upgrade_207_XP.zip zum Beispiel auf http://saytec.com/board/download_download.php?n=319&c=1 und www.everbesthk.com/8-download/sercomm/firmware/NU54/Upgrade_207_XP.zip. Unter Vista benötigt dieses Tool Administratorrechte und muss im XP-SP2-Kompatibilitätsmodus laufen.
IP-Dschungel
Beim Booten verwendet der NSLU2 kurzzeitig die IP-Adresse 192.168.0.1, über die dann auch der RedBoot-Zugang erfolgt. Verwendet man im eigenen Netzwerk einen anderen Adressbereich, genügt es, den Windows-PC temporär in das passende Subnetz zu verlegen. Dazu stellt man bei den Netzwerkeigenschaften die IP-Adresse fest auf 192.168.0.2 und die Subnetzmaske auf 255.255.255.0 ein. Die restlichen Einstellungen können unverändert bleiben.
Falls man schon im 192.168.0-Subnetz arbeitet, muss man unbedingt prüfen, ob die Adresse 192.168.0.1 noch frei ist. Meist hat sich der DSL-Router diese IP-Adresse gegriffen. Dann ist es am besten, den NSLU2 direkt mit der Netzwerkkarte des PC zu verbinden, beide vom sonstigen Netzwerk zu trennen und dem PC wie oben beschrieben eine feste IP-Adresse zu geben. Bei älteren Netzwerkkarten, die noch kein Auto MDI/MDIX beherrschen, kann es zudem nötig sein, noch einen Hub zwischenzuschalten oder ein Cross-Kabel zu nutzen.
Öffnen Sie nun mit cmd ein Kommandozeilenfenster. Mit dem Befehl ping –t –w 1 192.168.0.1
suchen Sie darin in einer Endlosschleife nach dem NSLU2 im RedBoot-Modus. Wenn Sie den NSLU2 zum Test einmal booten, muss sich der ping
nach ein paar Sekunden erfolgreich für einen kurzen Zeitraum melden.
Original-Firmware restaurieren
Öffnen Sie nun ein zweites Kommandozeilenfenster und geben Sie darin den Befehl telnet 192.168.0.1 9000
ein, ohne jedoch auf die Entertaste zu drücken. Jetzt ist ein gutes Timing gefragt. Starten Sie den NSLU2, und beobachten Sie den ping
im ersten Fenster. Sobald dieser eine erfolgreiche Antwort vom Slug erhält, drücken Sie im telnet-Fenster auf die Returntaste und anschließend sofort die Tastenkombination „STRG-C“. Beim richtigen Timing meldet sich RedBoot. Waren Sie zu langsam, resetten Sie den Slug, und versuchen Sie es erneut.
Jetzt kommt die einzig heikle Situation beim NSLU2-Modding. Vor dem Einspielen der neuen Firmware muss noch der Speicherbereich im Flash gelöscht werden, in dem der NSLU2 seine Konfigurationsdaten ablegt. Geben Sie dazu folgendes Kommando ein (Achtung: Das Zeichen hinter dem zweiten „-“ ist der Buchstabe „l“ und nicht die Ziffer „1“):
fis erase -f 0x50040000 -l 0x20000
Dieser Befehl löscht den angegebenen Speicherbereich ab der Adresse 0x50040000 im Boot-Flash. Ein Fehler bei diesem Kommando kann den RedBoot-Loader überschreiben und den NSLU2 für immer zerstören.
Anschließend bereiten Sie den NSLU2 mit dem Befehl upgrade
für das Einspielen der Firmware vor.
Sercomm-Update
Wenn man jetzt am PC das Sercomm-Tool startet, zeigt es ein updatebares Device im Netzwerk an. Wählen Sie aus der Device-Liste das Gerät und über den Button „Files“ die passende Firmware aus. Der Upgrade-Button erledigt dann den Rest.
Ein letztes Hindernis gilt es noch zu überwinden. Nach dem Reboot mit der neu eingespielten Original-Firmware findet diese keine gültigen Konfigurationsdaten mehr, da diese ja mit dem fis
-Befehl gelöscht wurden. Daher legt sich der NSLU2 jetzt auf die IP-Adresse 192.168.1.77. Um per Browser auf die Konfigurationsseiten des NSLU2 zugreifen zu können, muss man daher den PC noch kurzfristig in das Subnetz 192.168.1 verlegen.
Hat man dann Zugang zum Slug über den Browser, sollte man sofort auf die Seite Administration / System wechseln und den Button „Restore Default Config“ anklicken. Anschließend gibt man dem NSLU2 die finalen Netzwerkeinstellungen. Dann lassen sich der PC und der NSLU2 wieder ins bestehende Netzwerk integrieren, und er verhält sich wieder wie original von Linksys ausgeliefert.
Ausblick
In diesem Teil unserer Miniserie zum NSLU2 haben wir die Installation eines Debian-Linux beschrieben. Auch der Rückweg zur Original-Firmware sollte nun kein Problem mehr sein. Im nächsten Artikelteil geht es dann um die Erweiterungen mit großen Softwarepaketen und der Konfiguration von Samba als Windows-Domain-Controller. (ala)
Debian-Linux-Installation auf dem NSLU2 |
|
Samba-Server und Domain-Controller mit dem NSLU2 |
|
Tipps, Tricks und Tuning für den NSLU2 |
noch nicht erschienen |