|
|
GoFlexHomeHier sollen Daten gesammelt werden zur Seagate GoFlex Home.
[Bearbeiten] ÜberblickDie Hardware der Seagate GoFlex Home gleicht der DockStar bzw. der GoFlex Net. Unterschied: Nur ein USB-Port vorhanden, dafür aber ein SATA Port ;) Es gibt die GoFlex Home in zwei Ausführungen:
siehe: http://www.heise.de/preisvergleich/?cat=hdxnas&asuch=GoFlex%20Home
[Bearbeiten] Beitrag im Forum20Euro Embedded System mit ARM, 128MB RAM und 256MB Flash
[Bearbeiten] Technische Daten
[Bearbeiten] cpuinfoProcessor : ARM926EJ-S rev 1 (v5l) BogoMIPS : 1192.75 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Cache type : write-back Cache clean : cp15 c7 ops Cache lockdown : format C Cache format : Harvard I size : 16384 I assoc : 4 I line length : 32 I sets : 128 D size : 16384 D assoc : 4 D line length : 32 D sets : 128 Hardware : Feroceon-KW Revision : 0000 Serial : 0000000000000000 [Bearbeiten] /proc/mtddev: size erasesize name mtd0: 00100000 00020000 "u-boot" mtd1: 00600000 00020000 "uImage" mtd2: 0f900000 00020000 "root" [Bearbeiten] DatendurchsatzInteressant ist die GoFlex Home / Net wegen des SATA-Ports. Im Auslieferungszustand ist die GoFlex Home Festplatte mit NTFS formatiert. Der NTFS Linux-Treiber ist evtl. ein Flaschenhals, weswegen nur ca. 16 MB/s beim Schreiben erzielt werden können. [root@Plugbox /]# dd of=/dev/null if=/dev/sda bs=64k count=10k 10240+0 records in 10240+0 records out 671088640 bytes (671 MB) copied, 5.46567 s, 123 MB/s [root@Plugbox /]# hdparm -Tt /dev/sda /dev/sda: Timing cached reads: 446 MB in 2.01 seconds = 222.14 MB/sec Timing buffered disk reads: 350 MB in 3.01 seconds = 116.40 MB/sec
~/NASdaten$ dd if=/dev/zero of=test.dat bs=20M count=10 oflag=direct 10+0 Datensätze ein 10+0 Datensätze aus 209715200 Bytes (210 MB) kopiert, 6,14148 s, 34,1 MB/s [Bearbeiten] original Software[Bearbeiten] HipServ 2.0 OSAuf der GoFlex Home läuft HipServ 2.0 OS von Axentra und nicht pogoplug wie auf der Dockstar oder der GoFlex Net. (Siehe GoFlex Home Review auf smallnetbuilder.com) HipServ OS läuft auch auf anderen NAS, z.B.:
Auf der GoFlexHome läuft (uname -a): Linux axentraserver.USERNAME.seagateshare.com 2.6.22.18 #16 Thu Jun 17 01:37:53 EDT 2010 armv5tejl armv5tejl armv5tejl GNU/Linux Einige Modifikationen und Erweiterung der Original Software ist hier beschrieben:
[Bearbeiten] DiensteAuf der Box laufen einige Dienste: ~$ nmap -sT 169.254.xxx.yyy PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 548/tcp open afp 631/tcp open ipp 6689/tcp open unknown <- "Firefly Media Server" s.unten 8200/tcp open unknown 49152/tcp open unknown [Bearbeiten] Hacking[Bearbeiten] root loginÄhnlich wie bei der Netgear Stora kann man sich so einloggen! Als erstes muß man einen User über die normale GoFlex Weboberfläche einrichten. Dann kann man sich damit einloggen: ssh USERNAME_hipserv2_seagateplug_XXXX-XXXX-XXXX-XXXX@IP_ADDRESSE Dabei ist XXXX-XXXX-XXXX-XXXX der Produkt-Schlüssel (sieh PK: auf Geräte Unterseite). Das Passwort ist das normale Benutzerpasswort, welches man bei der Einrichtung vergeben hat. [Bearbeiten] updates deaktivierenNach dem mal sich eingeloggt hat, ist es wohl eine gute Idee, die Update Dienste zu deaktivieren. In Kürze: chmod -x /usr/bin/oe-update-checker chmod -x /etc/cron.daily/update-checker chmod -x /etc/cron.hourly/update-checker chmod -x /etc/init.d/openvpn chmod -x /usr/sbin/openvpn chmod -x /var/www/admin/sshtunnel.pl siehe: http://www.openstora.com/wiki/index.php?title=Disabling_updates_and_external_access [Bearbeiten] fireflyAuf der GoFlex Home läuft "Firefly Media Server" auf Port 6689. Man kann sich einloggen mit:
Damit ist es möglich alle Dateien auf der Box einzusehen. Dazu stellt man in der Konfiguration von Firefly den Document Root auf "/" Nun kann man Dateien per URL einsehen, z.B.: http://192.168.xx.xx:6689/var/log/dmesg Nach dem ändern von DocRoot kommt man allerdings nicht mehr an die Konfiguration von Firefly ran, weil die Seiten nicht mehr Aufrufbar sind. Abhilfe schafft hier nur ein reset per Nadel in die Seite vom Gerät, was alle Einstellungen rücksetzt. Interessante Dateien sind u.a.:
[Bearbeiten] UART-/JTAG-SteckerAuf der Platine befindet sich eine 10-polige Stiftleiste im 2mm Rastermass (J1). Die Belegung ist wahrscheinlich identisch zur Dockstar bzw. GoFlex Net, siehe auch: Dockstar#UART.2FJTAG-Stecker Zumindest die Pins GND, UART TxD und UART RxD sind gleich:
9 7 5 3 1
10 8 6 4 2
RX TX GND
Pin 1 ist auf der Platine mit einem kleine weißen Dreieck gekennzeichnet! Am einfachsten man beschafft sich ein sog. "PL-2303 USB-to-Serial Port Adapter", z.B. ein Handy-Kabel, mehr dazu: UART auf USB Informationen zum JTAG-Protokoll hier: JTAG
[Bearbeiten] Verbindung unter LinuxUSB Stecker rein und auf Konsole eine screen (apt-get install screen) session starten, mit: screen /dev/ttyUSB0 115200 Damit man in den Ausgaben scrollen kann, kann man das folgende in die ~/.screenrc Datei eintragen: termcapinfo xterm|xterms|xs|rxvt ti@:te@ Danach Box anmachen und so was in der Art sollte erscheinen: U-Boot 2010.09-dirty (Oct 19 2010 - 12:17:56) Marvell-GoflexNet by Jeff Doozan, Peter Carmichael SoC: Kirkwood 88F6281_A0 DRAM: 128 MiB NAND: 256 MiB In: serial Out: serial Err: serial Net: egiga0 88E1116 Initialized on egiga0 Using egiga0 device ... [Bearbeiten] Eigenes Linux installierenAm besten kann man ArchLinuxARM installieren, siehe: Hinweis: "Plugbox Linux" ging offenbar in ArchLinuxARM auf! Die Plugbox Linux Anleitung GoFlexPlugboxLinux ist damit überholt. Es ist auch möglich Debian zu installieren, siehe: WICHTIG: Mit dieser Variante hat man allerdings keinen Zugriff auf die SATA Ports! Weil die Dockstar kein SATA hat wurden die notwendigen Komponenten in U-Boot und Debian heraus genommen. [Bearbeiten] nach der installation[Bearbeiten] ArchLinuxARMHat man ArchLinuxARM installiert, stehen die Ersten Schritte unter First reboot. Danach sind die Allgemeinen First Steps, zum weiteren Einrichtetn des Systems, interessant und dann die Unterpunkte von Applications wie z.B. OpenNTPD und Samba. Alles weitere erfährt man in dem sehr gutem ArchWiki. Um uBoot Tools zu installieren: [root@alarm ~]# pacman -Sy uboot-env uboot-mkimage In /etc/fw_env.config die Dockstar Zeile aktivieren: # segate dockstar: /dev/mtd0 0xc0000 0x20000 0x20000 [Bearbeiten] netconsole - uBootWie auf http://jeff.doozan.com/debian/uboot/ beschrieben ist es möglich, ähnlich wie mit einer seriellen Verbindung, eine netconsole aufzubauen: Auf der Box die netconsole in uBoot aktivieren: fw_setenv serverip 192.168.xxx.xxx fw_setenv ipaddr 192.168.1.100 fw_setenv if_netconsole 'ping $serverip' fw_setenv start_netconsole 'setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;' fw_setenv preboot 'run if_netconsole start_netconsole' Danach die Box rebooten Auf dem Host system muß netcat (kurz nc) installiert sein, z.b.: apt-get install netcat Man startet nun das lauschen, während die Box hochfährt, mit: (Das netconsole Skript von jeff doozan tut es bei mir nicht, siehe: http://forum.doozan.com/read.php?3,1784 ) nc -u -p 6666 -v 192.168.1.100 6666 (Die IP Adresse wurde vorher mit fw_setenv ipaddr festgelegt, siehe oben.) Wenn alles klappt, landet in einer interaktiven uBoot Shell. Sieht in etwa so aus: U-Boot 2010.06-00695-gbd23130-dirty (Aug 30 2010 - 23:04:56) Marvell-Dockstar/Pogoplug by Jeff Doozan Hit any key to stop autoboot: Marvell>> [Bearbeiten] alternativeNetzwerk Alias erzeugen mit: sudo ifconfig eth0:0 10.0.0.1 Netz-Konsole starten mit: nc -luk 10.0.0.1 6666 Alternativ zu nc kann man socat verwenden (sudo apt-get install socat): socat STDIO UDP-LISTEN:6666 [Bearbeiten] anderes uBoot Image testen via NFSMan kann in der uBoot shell auch einen anderen uBoot nachladen. Das geht über tftp oder NFS. Hier ein Beispiel mit NFS: Marvell>> setenv bootfile "/share/uboot-sata-090903.bin" setenv bootfile "/share/uboot-sata-090903.bin" Marvell>> setenv serverip 192.168.1.1 setenv serverip 192.168.1.1 Marvell>> nfs Wichtig dabei: Bei bootfile muß der volle Pfad angegeben werden. Dies schließt auch den Teil in /etc/exports mit ein! Bsp /etc/exports: /share 192.168.0.0/255.255.0.0(rw,no_root_squash,sync) Wird die Datei nicht gefunden, weil Pfad/Dateiname bei bootfile falsch geschrieben ist, kommt sowas: Loading: *** ERROR: Cannot mount
[Bearbeiten] anderes uBoot Image via TFTP testen[Bearbeiten] TFTP server einrichtenAls erstes diese Pakete installieren: aptitude install tftpd-hpa tftp-hpa In Datei /etc/default/tftpd-hpa das folgende anhängen: RUN_DAEMON="yes" Dienst startet man mit start tftpd-hpa bzw. neustart mit restart tftpd-hpa. Dann braucht man noch ein uBoot Image und packt es in bsp. /var/lib/tftpboot/ [Bearbeiten] TFTP testenMan kann den tftp server testen, in dem man auf einem anderen Rechner das installiert: aptitude install tftp-hpa Dann im Terminal verbinden, bsp: tftp -v 192.168.1.1 Connected to 192.168.1.1 (192.168.1.1), port 69 tftp> help Danach kann man versuchen, eine Datei zu ziehen, bsp: tftp> get my_uboot_image.mtd0.kwb Ein lokaler test auf der selben Maschine ist aber auch möglich, bsp: tftp localhost -c get my_uboot_image.mtd0.kwb Bekommt man "File Not Found" oder "Permission Denied", kann das nicht nur am falsch geschriebenen Pfad liegen, sondern auch an falschen Rechten, das sollte helfen: sudo chmod 777 -R /var/lib/tftpboot [Bearbeiten] uBoot chainload via tftpAuf der Box macht man nun folgendes: Marvell>> setenv serverip 192.168.1.1 setenv serverip 192.168.1.1 Marvell>> tftp 0x800000 my_uboot_image.mtd0.kwb [Bearbeiten] SATADer Zugriff auf die SATA Platte ist offenbar nicht out-of-the-box gegeben. Was man machen muß, damit es geht, steht noch nicht fest. Es reicht nicht aus die arcNumber zu ändern. Siehe Forum Thread ab: http://www.mikrocontroller.net/topic/187115?page=5#1901270 Mögliche Patches und Anleitung hier: http://plugapps.com/index.php5/Build_kernel_and_U-Boot_for_SATA_drives_on_Goflex_Net Bisher (3.2.2011) sind die Kernel-Patches für die GoFlex nicht upstream (2.38.2) [Bearbeiten] LEDsWer möchte, das die LEDs nach dem booten aktiv ist (statt aus), kann beispielsweise das machen: fw_setenv led_exit green on Es gibt drei trigger Variablen (hier mit den default Werten): led_init=green blinking led_exit=green off led_error=orange blinking [Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
Bilder: |