Jeder, der ein kleines Heimnetzwerk betreibt, kennt es: Multimedia-Daten wie Videos, Bilder, Musik, etc. lassen die Festplatte überlaufen, die Daten sind nicht zentral gelagert und evtl. nicht rund um die Uhr abrufbar. Abhilfe würde ein kleiner Server mit Netzwerkfreigaben schaffen, doch schluckt dieser nicht nur Platz, sondern auch Energie in Massen.
Eine gute Möglichkeit bietet die Linksys NSLU2(Spitzname SLUG), ein kleiner Kasten unwesentlich größer als eine Zigarettenschachtel und besitzt 2 Anschlüsse für USB-Geräte wie USB-Sticks oder externe Festplatten. Die Leistungsaufnahme liegt bei etwa 8-12 Watt.
Richtig interessant wird diese Wunderkiste erst, wenn man die Firmware(also das „Betriebsystem“) durch eine modifizierte ersetzt, was „flashen“ genannt wird (benannt nach dem Flash-Speicher, der die Firmware beinhaltet). Alles, was dann noch fehlt, um aus dem Kasten einen Server mit Diensten wie FTP, HTTP, LDAP, DNS, DHCP zu machen, sind ein paar Linux-Kenntnisse und Geduld.
Mit Hilfe von Apache und PHP lässt sich so also ein providerunabhängiger Webserver installieren, der rund um die Uhr laufen und mit Hilfe von einem DynDNS-Client jederzeit erreicht werden kann.
Die Firmware
Die bereits erwähnte Firmware gibt es in verschiedensten Variaten. Alle kurz vorgestellten Systeme sind prinzipell kleine Linux-Ausgaben und stehen unter GNU/GPL und sind damit OpenSource.
Die bekannteste Firmware ist unslung. Sie bietet zwar relativ wenig im Umfang, jedoch lassen sich recht schnell gute Ergbnisse erzielen. Außerdem kann man das System bequem mit IPKG erweitern. Desweiteren gibt es noch OpenSlug und Debian Sarge, wobei es sich beim zweiten um eine Firmware handelt, die komplett auf Debian-Basis werkelt. Ich habe mit unslung angefangen und bin vollkommen zufrieden.
IKPG und Softwarepakete
Wer normalerweise unter Windows arbeitet, wird wahrscheinlich erst einmal Probleme mit den veränderten Denkweisen unter Linux haben. So ziemlich am schwierigsten erscheint die Softwareinstallation. Unter Windows ruft man die setup.exe aus, so einfach ist es unter Linux leider nicht.
Linux-Software besteht aus binären Dateien, Bibliotheken und Konfigurationsdateien, die nicht alle im selben Verzeichnis liegen. Die zwei wichtigsten Filesystem-Orte sind für hinzugefügte Software daher /opt/etc/ für die Configs und /opt/sbin/ für die binären Dateien. Gestarten werden die Dienste per /opt/etc/init.d/Sxx.ABCDE. Die Zahl xx bestimmt die Reihenfolge, in der die Scripts beim Hochfahren gestartet werden – sie können aber auch von Hand gestartet werden. Mit killall abcd werden die Prozesse beendet, der Dienst gestoppt.
Linux-Software besteht aus Pakete, die man normalerweise zusammen sammeln müsste. Durch Abhängigkeiten können beim De- und Installieren chaotische Zustände entstehen, die das System komplett lahmlegen können. Zum Glück gibt es inzwischen gute Paketmanager wie apt-get oder ipkg. Auf der SLUG ist ipkg schon vorhanden.
Die wichtigsten Befehle für IPKG lauten IPKG update (zum Aktualisieren der Software-Listen), IPKG install abcde und IPKG upgrade (führt einen Rundum-Update für alle installierten Pakete durch)
Das Setup
Der Weg zu einem startbereitem Netzwerkserver sieht aus meiner Erfahrung wie folgt aus:
Neue Firmware installieren, danach das Betriebsystem auf einen USB-Stick(512 MB reichen aus) verlegen.
Dannn sollten per Webinterface die Verbindungsdaten ins Internet eingetragen werden, damit IPKG Software installieren kann. Außerdem sollte TELNET aktiviert und dauerhaft gemacht werden, um sich per Putty auf die NSLU2 einzuloggen.
Nun sollte die BASH installiert werden, die das Arbeiten auf der Console wesentlich vereinfacht. Einem neuangelegten Benutzer mit ROOT-Rechten kann die BASH als Startshell übergeben werden, aber nur diesem. Niemals dem ROOT die installierte BASH als Shell geben. Als immer gern gesehenes Tool ist der MidnightCommander bekannt, der das Arbeiten noch mehr vereinfacht, da er ähnlich wie der frühere NortonCommander agiert.
Als nächstes sollte der SAMBA über IPKG installiert werden. Das hat zum einen den Vorteil, dass die Software aktuell ist, zum anderen, dass es sich damit um OPT-Ware handelt und die Änderungen auch nach einem Neustart immer noch vorhanden sind, ohne kompliziert herumzutricksen.
Hardware-Tuning
Die NSLU2 ist standmäßig von Linksys mit einer Taktfrequenz von 133 Mhz ausgeliefert worden. Nach Intels Angaben über den internen Prozessor ist ein Takt von 266 Mhz kein Problem. Um es kurz zu machen: Die Geschwindigkeit der CPU ist durch einen Widerstand auf dem Mainboard ab Werk heruntergetaktet worden. Der richtige Widerstand ist auf der Projektseite markiert.
Es gibt verschiedene Varianten den Widerstand sauber zu entfernen. Die einen entfernen ihn mit einer Nagelschere, andere mit einen Nagelknipser und andere widerum mit einem feinen Lötkolben. Wie man es auch angeht, man muss sehr vorsichtig sein und ins Bewusstsein rufen, dass damit die Garantie erlöscht.
Tipps & Tricks
DiversionScripts
Normalerweise ist die NSLU2 so konfiguriert, dass systemnahe Konfigurationen bei einem Neustart aus interne Speicher zurückgeladen werden, d.h. alle Änderungen, die selbstständig ohne Nutzung des Webinterfaces gemacht werden und die wesentlicher Bestandteil des Betriebes sind, werden bei einem Neustart zurückgesetzt.
Aus diesem Grund werden DiversionScripts verwendet. Sie stellen eine Art Sicherungsschicht da. Sollte etwas schief gehen, so können diese Scripte an einem Linux-Rechner bearbeitet oder gelöscht werden, ohne dass die ursprüngliche Konfiguration beschädigt wird.
Diese DiversionScripts werden unter /unslung abgelegt und heißen wie ihre ursprünglichen rc.xyz-Scripts, die unter /etc/rc.d liegen.
Ein Beispiel (rc.samba):
#! /bin/sh
# Falls keine Sicherheitskopie vorhanden, Sicherheitskopie anlegen
if [ ! -e /etc/samba/smb.conf.orig ]; then
cp -p /etc/samba/smb.conf /etc/samba/smb.conf.orig
fi
# Eigene Konfiguration rueberbuegeln!!
#
cp -fp /home/smb.conf.eigene /etc/samba/smb.conf
#
return 1
Wenn ich nun die /home/smb.conf.eigene editiere, so wird jene Konfiguration beim Start übernommen, da erst dieses Script die Dateien austauscht und dann der Bootvorgang fortgesetzt wird.
Äquivalent habe ich auch eine rc.network für die Netzwerkeinstellungen erstellt oder eine rc.xinetd für die TELNET-Aktivität.
NTFS
Eine NTFS-Platte an die NSLU2 zu hängen ist nur möglich, wenn sich diese Platte auch am 1. Port befindet. Am zweiten Port funktioniert NTFS nicht. Bedingung ist außerdem, dass es sich um die 6.8er Version von unslung handelt. Meine Empfehlung ist daher, die Platte am 2. Port mit FAT32 zu formatieren, dann kann man sie auch an Windows-Rechner hängen.
VFAT
Die Spezialausführung des Dateisystems FAT 16 scheint einige Probleme zu machen. Teilweise war es erforderlich die Festplatte zu entfernen, HDD rauf- und runterzufahren und zu remounten. Die Symptome waren seltsame Zeichen und Dateien, die nicht mehr zu öffnen sind. Desweiteren lief die Platte dann durch, die Betriebslampe leuchtete durch, obwohl es keine weiteren Zugriffe gab.
Inzwischen ist dieses Problem aber behoben. Nachdem ich die Festplatte auf dämpfende Schaumstoffpuffer gelagert und einen Kühlkörper draufgesetzt habe, macht die Festplatte keine Probleme mehr.
Midnight Commander
Eine gute Möglichkeit, um sich schnell einen Überblick zu verschaffen ist die Installation des Tools Midnight Commander (kurz MC), der es ermöglicht schnell durch das Dateisystem zu wandern. Vom Aufbau her ähnelt der MC stark dem Norton Commander aus DOS-Zeiten.
Quellen
Viele Informationen über die NSLU2 findet man natürlich im Internet. Hier meine häufigbenutzten Seiten:
- Forum nslu2-info.de (deutsch)
- Projektseite nslu2-linux.org (englisch)
- Anleitungen conzi.com/unslung (veraltet, aber hilfreich / deutsch)
- Gargis Thread (deutsch)
Weiterbearbeitung des Themas
In nächster Zeit werde ich die Aufbereitung weiter verfolgen und meine Erfahrungen niederschreiben.