Ich nutze seit über drei Jahren ein MyBook Live 3TB von Western Digital. Im Gegensatz zu anderen NAS Systemen mit (alten) ARM Prozessoren und schwacher S-ATA Anbindung schaffte das MBL als eines der ersten nicht-Atom Plattformen fast 100MBit/s (siehe Review).
Es basiert auf einer PowerPC Architektur (APM82181), läuft mit 800MHz und besitzt 256MB Speicher und ist damit ein wenig schwächer als mein alter AppleTV1. Leider fehlt ein USB-Port, so dass direkte Erweiterungen nicht möglich sind.
Lange schon schwebt mir vor, das System als Home Server zu verwenden, da ein vollwertiges Debian darauf läuft. Leider ist ein Update der installierten Lenny Version nicht möglich, da es im Upgrade Package keinen angepassten Kernel gibt und das neuere udev nicht mit dem installierten Kernel funktioniert. Nachdem ich mich so bereits aus meinem System ausgesperrt habe, half mir nur die un-Brick Prozedur die hier beschrieben ist. Den ganzen DLNA Kram benötige ich auf dem System nicht, da mein XBMC da allemal besser ist ;). Wichtig ist mir ein stromsparendes, leises System.
Aufgrund der hervorragenden Arbeit von Alex Ryzhov ist es mir gelungen, "mal eben" ein aktuelles Debian Wheezy zu installieren.
Das MBL nutzt einen cleveren Ansatz zur Update-Fehlervermeidung. Die beiden Partitionen /dev/sda1 und /dev/sda2 bilden ein Raid1 (Spiegel). Im Update Fall wird ein Image direkt auf eine der beiden Partitionen kopiert, und nach erfolgreicher Beendigung (Checksum Prüfung stimmt überein) wird die andere Platte im Raid als "dirty" markiert und so nach einem Neustart mit dem nun geupdateten System überschrieben (Raid Rebuild).
Dieser Umstand erlaubt es auch, gefahrlos die hier beschriebene Prozedur auszuführen (Wheezy auf /dev/sda1 installieren) und wenn es nicht mehr gefällt, könnte man über das Raid Rebuild wieder zum bisher gelaufenen WD Image zurückkehren.
Eine serielle Schnittstelle ist nicht erforderlich, allerdings sollte man in der Lage sein, die Platte aus dem Gehäuse auszubauen und in einen Linux Rechner einzuhängen, um so /dev/sda1 zu leeren und ggf. das Raid aus /dev/sda2 wiederherzustellen.
Das Verständnis des Bootvorgangs nahm mir die Angst, bei meinem Versuch etwas irreparabel kaputt zu machen:
- Nach dem Einschalten startet das System aus den 512kB Flash den U-Boot Lader
- Uboot sucht auf den angeschlossenen Geräten nach dem Boot Script /boot/boot.scr und initialisiert damit die Boot Umgebungsvariablen (Filesystem-Root und BootArgs).
Auf diese Weise können sämtliche Einstellungen auf der Festplatte abgelegt werden und der Flash bleibt unangetastet. - Das /boot/boot.scr Script verweist normalerweise auf den Kernel (/boot/uImage) und die Hardware Initialisierung (/boot/apollo3g.dtb). Diese Dateien werden in den Speicher gelesen und dann ausgeführt -> Linux startet.
Zunächst wird Platz gemacht für das neue System. Die original Plattenaufteilung meines MBL sieht so aus:
parted -l /dev/sda Model: ATA WDC WD30EZRS-11J (scsi) Disk /dev/sda: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 3 15.7MB 528MB 513MB linux-swap(v1) primary 1 528MB 2576MB 2048MB ext3 primary raid 2 2576MB 4624MB 2048MB ext3 primary raid 4 4624MB 3001GB 2996GB ext4 primaryIch verwende /dev/sda1 für die Installation meines Debian Wheezy:
mdadm --manage /dev/md0 --fail /dev/sda1 mdadm --manage /dev/md0 --remove /dev/sda1 mkfs.ext3 /dev/sda1 mount /dev/sda1 /mnt/(Entfernen von /dev/sda1 aus dem Raid und Formatieren mit EXT3)
Bootstrap Debian
Nun stehen auf /mnt 2GB für das neue Debain zur Verfügung, welches ich zum Bootstrap verwende:
cd /tmp wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.26+squeeze1_all.deb dpkg -i debootstrap_1.0.26+squeeze1_all.deb debootstrap --arch powerpc wheezy /mnt http://ftp.debian.org/debianAnschließend werden ein paar Konfigurationsdaten übernommen...
cat /etc/network/interfaces > /mnt/etc/network/interfaces cat /etc/resolv.conf > /mnt/etc/resolv.conf cat /etc/hostname > /mnt/etc/hostnameund die zukünftigen Installationsquellen angepasst
nano /mnt/etc/apt/sources.list #/etc/apt/sources.list # Wheezy deb http://ftp.de.debian.org/debian wheezy main contrib non-free # Proposed updates deb http://ftp.de.debian.org/debian wheezy-proposed-updates main contrib non-free # Backports deb http://ftp.de.debian.org/debian wheezy-backports main contrib non-free #deb-src http://ftp.de.debian.org/debian wheezy-backports main contrib non-free # Volatile Updates deb http://ftp.de.debian.org/debian wheezy-updates main contrib non-free # Security deb http://ftp.de.debian.org/debian-security wheezy/updates main contrib non-freeNun fehlt noch die zukünftige fstab:
nano /mnt/etc/fstab #/etc/fstab proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 tmpfs /var/cache/samba tmpfs defaults 0 0 /dev/sda1 / ext3 defaults,noatime,nodiratime,barrier=1 0 0 /dev/sda3 swap swap defaults 0 0 /dev/sda4 /media ext4 auto,exec,rw,noatime,nodiratime,suid 0 0Jetzt kann in das neue System gewechselt werden.
cd /mnt/ mount -t proc proc proc/ mount -t sysfs sys sys/ mount -o bind /dev dev/ chroot .Das Bootstrap enthält noch kein SSH:
apt-get update apt-get install openssh-server bzip2Nicht vergessen, das root-Passwort zu setzen:
passwdEs folgt ein kleiner Test, ob SSH im neuen System startet und den root-Benutzer akzeptiert
exit /etc/init.d/ssh stop chroot /mnt /etc/init.d/ssh startStartet man nun eine SSH-Sitzung, sollte der SSH-Server auc dem chroot antworten ( WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!).
Wenn das neue Root-Passwort akzeptiert wird, hat alles geklappt.
Kernel Installieren
Zum Starten fehlt nun eigentlich nur noch der Kernel.Auf seiner Seite stellt Alex Ryzhov den Kernel-Patch zur Verfügung. Auch ein Image mit dem Kernel 2.6.32.63 gibt es dort.
Die folgenden Dateien habe ich daraus extrahiert und benutze sie in meinem System:
cd / wget http://loetzimmer.de/boot.tar.bz2 wget http://loetzimmer.de/modules.tar.bz2 tar xfj boot.tar.bz2 tar xfj modules.tar.bz2 rm -f boot.tar.bz2 rm -f modules.tar.bz2Damit sollte dem Booten ins neue System nichts mehr im Wege stehen
exit umount /mnt/proc/ umount /mnt/sys/ umount /mnt/dev/ umount /mnt/ rebootJetzt heißt es Daumen drücken und wenn alles gut gegangen ist, kann man sich wenige Sekunden später ins neue System einloggen.
Sofern noch Einstellugen zu kopieren sind, kann die alte System Partition /dev/md0 noch gemountet werden.
Keine Kommentare:
Kommentar veröffentlichen