ACHTUNG: Der Artikel ist veraltet und beinhaltet möglicherweise nicht alle neusten Änderungen. Gemäß div. Hinweisen auf essentielle Änderungen im Skript könnt ihr euch selbst mit dieser Anleitung in große Probleme bringen.

Hallo,

im folgende werde ich euch zeigen, wie ihr Debian Squeeze auf einem USB-Stick an eurer Dockstar installiert und anschließend einen neuen Kernel aufspielt, welcher Module für die Dockstar enthält (z.B. zur Ansteuerung der LED).

1. Deaktivierung des automatischen Updates

Das installierte Pogoplug-Linux ist in seinem Auslieferungszustand mit folgenden Logindaten per SSH erreichbar:

Username: root
Passwort: stxadmin

Solltet ihr die Dockstar nach dem Einschalten direkt mit dem normalen Netzwerk (und somit einer Internetanbindung) verbinden, wird das eingebaute Betriebssystem automatisch ein Update installieren. Ist dies versehentlich durchgeführt, müsst ihr euch unter http://www.seagate.com/activatemydockstar registrieren um wieder den root-Zugang zu erhalten. Daher ist es wichtig folgende Schritte zu beachten, bevor die Dockstar ans normale Netz geht!

  1. Deaktiviert die Verbindung zum Internet eurer Dockstar, oder stellt eine Direktverbindung mit eurem PC her
  2. findet die IP-Adresse der Dockstar heraus
    • bei Anschluss an euer Home-Netz schaut ihr in die Oberfläche eures DHCP-Servers (z.B. FritBox), welche IP-Adresse vergeben wurde
    • bei Direktverbindung müsst ihr eurem Netzwerkinterface zunächst manuell eine IP geben und dann Netzwerk mittels nmap scannen (das kann schon 30min dauern):
      root@host: ifconfig eth0 169.254.1.0
      root@host: nmap -e eth0 -sP 169.254.0.0/16
    • Die ip lässt sich errechnen. Die letzten beiden Octets der IP sind die letzten beiden Stellen der MAC.
    • nmap -e eth0 -sP $(printf “169.254.%d.%d” 0xbe 0xef)

      … wobei 0xbe 0xef die letzten beiden stellen der MAC (siehe Aufkleber Gehaeuseunterseite) sind.
      - Dank an db für den Hinweis (siehe Kommentar)! -

  3. Verbindet euch mittels SSH auf die Dockstar und deaktiviert den Pogoplug-Update-Service “hbwd”:
    user@host ~ $ ssh root@ip_found # Passwort ist stxadmin
    -bash-3.2: killall hbwd # Pogoplug-Updater stoppen
    -bash-3.2: mount -o remount,rw / # Flash-Speicher mit Schreibrechten einbinden
    -bash-3.2: vi /etc/init.d/rcS

    In der nun geöffneten Datei muss folgende Zeile mittels führender”#” auskommentiert werden:
    “/etc/init.d/hbmgr.sh start” zu “#/etc/init.d/hbmgr.sh start”
    Das Dateisystem kann nun wieder normal eingebunden werden:

    -bash-3.2: mount -o remount,ro /

2. Erstellen von Backups

Man weis ja nie was passiert, daher empfehle ich euch das Anlegen von Backups auf einem USB-Stick.

Auf der Dockstar befindet sich ein Flash-Filesystem. Leider kann man mit dem allseits bekannten Befehl “mount” nicht sehen, welche Flash-Bereiche wo eingemountet sind. Dies sehr ihr nur über eine Datei im ProcFS. Mit “mount” könnt ihr aber immerhin sehen, wo genau euer USB-Stick eingebunden ist, um dorthin die Sicherungen durchzuführen.

-bash-3.2: mount | grep sd # Orte des USB-Sticks zeigen lassen
/tmp/.cemnt/sda1 on /tmp/.cemnt/mnt_sda1 type ext2 (rw,nosuid,nodev,noexec,noatime)
/tmp/.cemnt/sda2 on /tmp/.cemnt/mnt_sda2 type ext3 (rw,nosuid,nodev,noexec,noatime,data=ordered)
-bash-3.2: cat /proc/mtd # eingebundene NAND-Flash Bereiche
dev:  size     erasesize name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00400000 00020000 "uImage"
mtd2: 02000000 00020000 "root"
mtd3: 0db00000 00020000 "data"

Von mtd0 bis mtd3 erstellen wir nun ein komplettes Backup auf den Stick, sicherheitshalber werden auch Prüfsummen gespeichert um spätere Transferfehler zu erkennen:

-bash-3.2: cd /tmp/.cemnt/mnt_sda2
-bash-3.2: mkdir Backup
-bash-3.2: cd Backup
 -bash-3.2: dd if=/dev/mtd0 of=mtd0.img
2048+0 records in
2048+0 records out
-bash-3.2: sha1sum mtd0.img >mtd0.img.sha1
-bash-3.2: dd if=/dev/mtd1 of=mtd1.img
8192+0 records in
8192+0 records out
-bash-3.2: sha1sum mtd1.img >mtd1.img.sha1
-bash-3.2: dd if=/dev/mtd2 of=mtd2.img
65536+0 records in
65536+0 records out
-bash-3.2: sha1sum mtd2.img >mtd2.img.sha1
-bash-3.2: dd if=/dev/mtd3 of=mtd3.img
448512+0 records in
448512+0 records out
-bash-3.2: sha1sum mtd3.img >mtd3.img.sha1

Die Dateien zieht ihr dann vom USB-Stick auf einen “normalen” PC und lasst sie für den Fall der Fälle dort liegen.

3. Vorbereiten des USB-Sticks

Für die Installation von Debian Squeeze empfehle ich einen USB-Stick mit 2 GB Speicher. Mehr ist eigentlich unnötig, nur einigermaßen flott sollte er sein.

Debian Squeeze benötigt in der Grundinstallation ~280MB Speicher. Etwas SWAP und “Spielplatz” eingeplant und schon kann man es auch für sich selber abschätzen.

Jeff von doozan.com empfiehlt in seiner Anleitung 256MB Swap und mindestens 512MB Speicher für Debian. Auf meinem 2 GB USB-Stick sind laut fdisk 2003MB vorhanden. ich verwende davon 1500MB für Debian und den Rest als SWAP.

Von einem Linux-Betriebssystem erfolgt die Formatierung mit dem Tool fdisk. Auch auf der Dockstar ist fdisk vorhanden, der Aufruf erfolgt dort folgendermaßen:

/sbin/fdisk -l

Unter den aufgelisteten Geräten muss sich auch euer USB-Stick befinden. (“/dev/sdb” im folgendem Beispiel). Die Partitionierung erfolgt folgendermaßen:
(Achtung: Offensichtlich wurde das Skript von Jeff mittlerweile aktualisiert. Die Formatierung mit mkfs ist somit hinfällig.)

root@host: fdisk /dev/sda # Öffnen der fdisk-Konsole
Befehl: d # alle vorhandenen Partitionen löschen (ggf. wiederholen)
Befehl: n # neue Partition anlegen
p # Primäre Partition auswählen
Partitionsnummer: 1 # 1. Partition erstellen
Erster Zylinder: # Enter drücken (Standard)
Letzter Zylinder: +1500M # 1500MB groß
Befehl: n # neue Partition anlegen
p # Primäre Partition auswählen
Partitionsnummer: 2 # 2. Partition erstellen
Erster Zylinder: # Enter drücken (Standard)
Letzter Zylinder: # Enter drücken (Standard)
Befehl: t # Partitionstyp ändern
Partitionsnummer: 2 # 2. Partition ändern
Hex code: 82 # 82 ist Linux SWAP
Befehl: p # Überprüfen der Partitionierung
Befehl: w # Änderungen Schhreiben und fdisk beenden
root@host: mkfs.ext2 /dev/sda1 # 1. Partition als ext2 formatieren
root@host: mkswap /dev/sda2 # 2. Partition als SWAP formatieren

4. Installation von Debian Squeeze

Der USB-Stick ist nun fertig und Debian Squeeze kann an der Dockstar installiert werden. Dazu empfehle ich das Script von Jeff:

-bash-3.2: cd /tmp # Schreibrechte nur hier
-bash-3.2: wget http://jeff.doozan.com/debian/dockstar.debian-squeeze.sh # Script herunterladen
-bash-3.2: chmod +x dockstar.debian-squeeze.sh # Rechte zum ausführen setzen
-bash-3.2: export PATH=$PATH:/usr/sbin:/sbin # komfortablere Befehlsausführung ermöglichen
-bash-3.2: ./dockstar.debian-squeeze.sh # Script starten
-bash-3.2: /sbin/restart # Neustart

Nachdem die Installation durchgelaufen ist, sollte euer Debian System starten. Bei manchen USB-Sticks kann es zu Problemen kommen, dann müsst ihr einfach mehrere male nach einer Weile den Stom ziehen und neu Starten bis das Debian oben ist. Aber Achtung: Beim gebooteten Debian leuchtet keine LED mehr. Nicht das ihr denkt, eure Dockstar wäre kaputt :)

Benutzername und Passwort sind standardmäßig beide “root”.

5. Dockstar-Kernel installieren

Alexander Holler hat Patches für die Dockstar zusammengestellt um den Hardware-Support zu optimieren. Der User “gorgone” hat für die Gemeinde ein vorkompilierten Kernel zur Verfügung gestellt. Der alte muss nur noch ausgetauscht werden:

root@dockstar: cd /tmp
root@dockstar: wget 193.16.217.9/files/dockstarheavy.deb # Herunterladen des Kerne-Installationspakets
root@dockstar: dpkg -i --force-overwrite dockstarheavy.deb # Installation des Kernelpakets
root@dockstar: reboot # "Reboot tut gut", besonders beim Kernelupdate

Nun ist der Home-Server bereit zum Fein-Tuning!

6. Anpassen des Betriebssystems

Statt “vi” könnt ihr euch für die folgenden Schritte natürlich auch andere Editoren installieren, z.B. “nano”.

  1. Ändern des Root-Passworts:
    root@dockstar: passwd
  2. Man sollte auch Paketquellen aus der Nähe nutzen, statt amerikanischer. Es ist einfach schneller:
    root@dockstar: vi /etc/apt/sources.list # Datei zum Editieren öffnen
    # Links anpassen auf: http://ftp.de.debian.org/debian
  3. Hostnamen ändern
    root@dockstar: vi /etc/hostname # gewünschten Hostname eintragen
  4. statische IP einstellen:
    root@dockstar: vi /etc/network/interfaces
    # Folgendes Beispiel des Dateiinhaltes muss
    # an die eigene Netzstruktur angepasst werden
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
       address 192.168.0.200
       netmask 255.255.255.0
       gateway 192.168.1.1
  5. Einstellen der Zeitzone:
    root@dockstar: dpkg-reconfigure tzdata

Das war so erstmal das wichtigste. Ich hoffe ihr habt Spaß mit der Dockstar, weitere Blogeinträge folgen ganz bestimmt!

7. Quellenangabe

Vor einigen Tagen habe ich das ganze selbst erst durchgezogen und nat. diverse Quellen verwendet, welche ich euch a) nicht vorenthalten möchte und b) geholfen haben den Blogeintrag zu verfassen:

http://jeff.doozan.com/debian/
http://streamboard.gmc.to/wiki/index.php/Seagate_Dockstar#Kernel_tauschen
http://ahsoftware.de/dockstar/

root@host ~