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:
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