Seagate FreeAgent DockStar mit OpenWrt – Installation per ssh

Der DockStar wird als Gerät zum Verbinden externer USB-Festplatten mit dem Internet beworben. Das ist erstmal nichts wirklich Neues; richtig interessant wird DockStar durch die für den Preis relativ üppige Hardware (s.u.) und die mögliche Verwendung mit OpenWrt.

[nggallery id=”15″]

Hier wird die Schritt-für-Schritt Installation von OpenWrt auf dem DockStar beschrieben. Für die Installation der Firmware auf DockStar entschied ich mich für ssh – DockStar braucht dann nicht geöffnet werden. Des Weiteren erschien mir diese Installationsvariante einfacher als die über das serielle Interface.

Verwendung dieser Anleitung auf eigenes Risiko! Eine gewisse Erfahrung bei der Kernelkonfiguration und bei Flashen von OpenWrt sollte vorhanden sein!

Achtung! Bei der Erstinbetriebnahme im Auslieferungszustand wird DockStar versuchen, ein Firmwareupdate durchzuführen. Dies ist unbedingt zu vermeiden, da anschließend der ssh-Zugang nicht mehr möglich wäre. Erstinbetriebnahme daher am besten ohne Internetverbindung!

Da es noch keine fertigen OpenWrt-Firmware und Softwarepakete für das DockStar gibt, muss alles aus dem SVN selbst erstellt werden.

1. Herunterladen des Sourcecodes aus dem Repository; es werden dabei die neuesten Quellen ausgecheckt.

Checkout und prepare von Kamikaze und den Packages

knecht ~ $ svn co svn://svn.openwrt.org/openwrt/trunk/

knecht ~ $ svn co svn://svn.openwrt.org/openwrt/packages/ ~/trunk/feeds/packages/

knecht ~ $ cd ~/trunk/

knecht ~/trunk $ make package/symlinks

Wenn weitere Pakete erstellt werden sollen, die über die Minimalausstattung hinaus gehen, muss das bereits aufgerufene “Menuconfig” verlassen werden.

Die weiteren Pakete werden in “feeds” verwaltet; diese werden wie folgt aktiviert:

knecht ~/trunk $ cp feeds.conf.default feeds.conf

Die Feeds aktualisieren

knecht ~/trunk $ ./scripts/feeds update -a

Nun liegt im Verzeichnis trunk/feeds/packages eine Übersicht über verfügbare Pakete. Weitere Pakete aus dieser Auswahl werden wie folgt bereit gestellt:

z.B. für xwrt (Webinterface)

knecht ~/trunk $ ./scripts/feeds install -a -p xwrt

Andere Pakete:

knecht ~/trunk $ ./scripts/feeds install vim psybnc openvpn vsftpd samba

Es werden die Pakete runtergeladen und unterhalb von trunk/package/feeds abgelegt/verlinkt. Pakete, die hier stehen, können beim “make menuconfig” ausgewählt werden.

Notwendige Symlinks erzeugen (lassen):

knecht ~/trunk $ make package/symlinks

1.1 Kamikaze konfigurieren und weitere Packages auswählen

knecht ~/trunk $ make menuconfig

Unter anderem sollte folgendes ausgewählt werden:

Target System -> Marvell Kirkwood

Target Profil -> Seagate Dockstar

Target Images -> jffs2

Boot Loaders -> uboot-kirkwood-dockstar

Weitere Softwarepakete können ausgewählt werden. Diese werden entweder als ipk Pakete erstellt (Auswahl (M) ) oder direkt in das Image mit eingebunden (Auswahl (*)).

1.2 Netzwerkkonfiguration

Die Netzwerkkonfiguration kann unter

Image configuration

vorgenommen werden.

1.3 Download und Abhängigkeiten

Download aller benötigten Sourcen inkl. Abhängigkeiten (auch die Tools!)

knecht ~/trunk $ make download

Prüfen, ob alle Abhängigkeiten erfüllt sind:

knecht ~/trunk $ make prereq

1.4 Build von Kamikaze

Empfehlenswert ist es mit Ausgabe der debug-Informationen, da bei Fehlern direkt nach der Ursache gesehen werden kann:

knecht ~/trunk $ make world V=99

Wenn keine Fehler erwartet werden geh es auch ohne Debug-Ausgabe:

knecht ~/trunk $ make world

2. Nach dem Buildprozess sind die Images und Pakete unter

trunk/bin/kirkwood/packages/

zu finden.

Ein benötigtes Tool herunterladen

knecht ~/trunk $ wget http://plugapps.com/os/pogoplug/uboot/blparam

2.1 Vorbereitungen beendet
Es ist nun alles vorbereitet. Bevor DockStar jetzt in Betrieb genommen wird, ist dringend empfohlen, die Internetverbindung trennen. DockStar würde bei bestehender Internetverbindung (und aktivem DHCP) als erstes ein Firmwareupdate durchführen und es uns damit unnötig erschweren.

3. Installieren über ssh

PC und DockStar per Ethernet verbinden. Ein Cross-Kabel ist nicht erforderlich.

IP-Adresse des DockStar feststellen; dazu ist die MAC-Adresse notwendig. Diese steht auf der Unterseite des Dockstar.

Beispielsweise lautet die MAC-Adresse: 00:10:75:5B:E2:BE

Die beiden letzten Werte, hier “E2” und “BE” sind in folgender Zeile einzutragen; es werden dann die den Hexadezimalwerten entsprechenden Dezimalwerte angezeigt:

knecht ~ $ echo $(printf “169.254.%d.%d” 0xe2 0xbe)

169.254.226.190

Die IP lautet hier im Beispiel: 169.254.226.190

Den PC mit einer IP aus dem passenden Range versorgen, im Beispiel:
knecht # ifconfig eth0 169.254.226.10

Test der Netzwerkverbindung zum DockStar:

knecht ~ $ ping -c5 $(printf “169.254.%d.%d” 0xe2 0xbe)

PING 169.254.226.190 (169.254.226.190) 56(84) bytes of data.

64 bytes from 169.254.226.190: icmp_req=1 ttl=64 time=0.041 ms

64 bytes from 169.254.226.190: icmp_req=2 ttl=64 time=0.031 ms

64 bytes from 169.254.226.190: icmp_req=3 ttl=64 time=0.030 ms

64 bytes from 169.254.226.190: icmp_req=4 ttl=64 time=0.033 ms

64 bytes from 169.254.226.190: icmp_req=5 ttl=64 time=0.032 ms

— 169.254.226.190 ping statistics —

5 packets transmitted, 5 received, 0% packet loss, time 3999ms

rtt min/avg/max/mdev = 0.030/0.033/0.041/0.006 ms

knecht ~ $

Nun eine Verbindung als “root” mit dem Passwort “stxadmin” herstellen:

knecht ~/trunk $ ssh root@169.254.226.190

Vorbereitend zunächst den Bootloader mit dem Kernelimage verschmelzen:

knecht ~/trunk # (dd if=bin/kirkwood/openwrt-kirkwood-dockstar-u-boot.bin conv=sync bs=1M; dd if=bin/kirkwood/openwrt-kirkwood-uImage bs=2048 conv=sync) > openwrt-kirkwood-dockstar-uboot-uImage.bin

Wenn der ssh-Zugang funktioniert, werden in einer anderen Konsole folgende Dateien auf den DockStar kopiert:

knecht ~/trunk $ scp openwrt-kirkwood-dockstar-uboot-uImage.bin root@169.254.226.190:/tmp

# Rootfs image

knecht ~/trunk $ scp bin/kirkwood/openwrt-kirkwood-Dockstar-jffs2-128k.img root@169.254.226.190:/tmp

# blparam

knecht ~/trunk $ scp blparam root@169.254.226.190:/tmp

Anschließend die ssh-Sitzung aufsuchen und auf dem DockStar folgende Befehle absetzen:

# cd /tmp

# chmod +x blparam

# ./blparam “bootcmd=nand read.e 0x800000 0x100000 0x80000; go 0x800000”

Jetzt wird es noch einmal kritisch; wenn hier etwas schief geht, muss über den seriellen Port wieder flott gemacht werden.

# flash_eraseall /dev/mtd1

# nandwrite /dev/mtd1 openwrt-kirkwood-dockstar-uboot-uImage.bin

# flash_eraseall /dev/mtd2

# nandwrite /dev/mtd2 openwrt-kirkwood-Dockstar-jffs2-128k.img

Nach Drücken des Reset-Buttons sollte Dockstar in OpenWrt booten.

Der ssh-Zugang ist zwar aktiv; kann aber mangels Passwortes nicht genutzt werden. Der erste Kontakt erfolgt daher mit telnet; Telnet ist (diese eine Mal) ohne Passwortabfrage möglich:

dockstar-04

Fertig!

4. Eine neuere Version flashen

Das Paket mtd-utils wird dazu benötigt.

Kernel Partition löschen und neues Kernelimage schreiben

# flash_eraseall /dev/mtd2

# nandwrite -p /dev/mtd2 /tmp/openwrt-kirkwood-uImage

Rootfs Partition löschen und neues rootfs-image schreiben

# flash_eraseall /dev/mtd3

# nandwrite -p /dev/mtd3 /tmp/openwrt-kirkwood-Dockstar-jffs2-128k.img

Reboot des Routers durchführen!

5. Einzelnes Paket nachträglich erstellen, ohne dass dieses im Menuconfig ausgewählt war. Hier im Beispiel das Paket mtd-utils:

# ./scripts/feeds install -a -p mtd-utils

# make package/feeds/packages/mtd-utils/clean V=99 DEVELOPER=1

# make package/feeds/packages/mtd-utils/compile V=99 DEVELOPER=1

Danach Package Index neu erstellen:

Manuelles Aktualisieren des Package Index packages/Packages, manuell erstellte Pakete tauchen vorher nicht im opkg index auf:

cd bin/<arch>/packages ; ../../../scripts/ipkg-make-index.sh . > Packages ; gzip -c Packages > Packages.gz

DockStar Hardwareausstattung

Architektur: ARM

Chipsatz: Marvell (ARM926EJ-S)

CPU Speed: 1.2 Ghz

RAM: 128 MB

Flash: 256 MB

Netzwerk: 1x GE (Marvell 88E1116R)

USB: 3x USB 2.0 ports, 1x mini USB 2.0

Download
[download id=”2″ format=”2″]

Credits
Matze B. für den initiierenden Beitrag in seinem Blog.
OpenWrt Wiki zu DockStar
OpenWrt Forum: Building OpenWrt Kamikaze from source

 

Diesen Artikel drucken Diesen Artikel drucken

Die Kommentarfunktion ist geschlossen.