mv2100 Installation von Debian Linux

Geschrieben am 12.09.2010, zuletzt geändert am 21.11.2019
In Home » HP Media Vault mv2100-Serie

Diese Seite wurde vor über einem Jahr erstellt oder zuletzt bearbeitet. Der Inhalt ist eventuell veraltet.

Zurück zu "HP Media Vault MV2100-Serie"

Hardware-Unterstützung

Der Debian-Installer läuft nicht auf den "alten" Media Vaults. Diese "Hochkant"-Geräte der ersten Generation (mv2010, mv2020, and mv2040) werden nicht unterstützt – sie sind MIPS basiert (Broadcom SoC), während die Generation 2-Geräte auf Marvell’s "Orion" SoC basieren, der  ARM-kompatbel ist (ARM10E-CPU).

Auch mit den Data Vault- und Media Vault EX-Geräten hat diese Seite nichts zu tun, diese sind x86-basierend (AMD und Intel-CPUs).

Installation von Debian Linux

Der Ablauf der Installation ist wie folgt: Der Media Vault wird in den "Recovery"-Modus gebracht, dann wird ihm der Debian-Installer als HP-Firmware untergejubelt. Der Installer kann über SSH kontaktiert werden, über das Netzwerk wird dann die Installation zu Ende geführt.

Zuerst noch eine Warnung: Die Installation von Linux macht die HP-Firmware des Geräts unbrauchbar. Nach der Installation hat das NAS keine Web-Oberfläche für die Konfiguration mehr, alle auf der/den Festplatte(n) gespeicherten Daten gehen verloren. Ohne zumindest Linux Grundkenntnsse zu haben, sollte man also nicht Debian installieren. Ist jedoch sowieso eine leere Festplatte übrig, oder möchte man einfach nur etwas lernen, ist der Media Vault das ideale Spielzeug.

Es kann jederzeit auf die selbe Weise wieder zur HP-Firmware zurückgekehrt werden, auch dann gehen aber alle gespeicherten Daten verloren.

Vorbereitungen

Für die Installation benötigt man den Media Vault (offensichtlich), mit einer oder zwei SATA-Festplatten, eine Büroklammer, eine Netzwerk-Verbindung und einen anderen Rechner mit SSH-Client-Software (PuTTY empfiehlt sich) und einer Software, die den Installer auf den Media Vault uploaden kann:

Die HP-Firmware 1.3.0.85 ist auch einzeln erhältlich, ca. 122MB. Im Image (ein mit bzip2 komprimiertes tar-Archiv) befindet sich unter anderem eine 500MB große Datei names PyramidPeak-1.3.0.85.img, ein ext3 Filesystem-Image mit dem Kernel "Linux-2.6.12.6-arm", TwonkyMedia Server 4.4 und so weiter.

Der Debian Lenny Installer (netboot.img) selbst ist hier zu finden.

Recovery-Modus starten

Auf der Vorderseite links neben der USB-Buchse befindet sich neben der "Health"-LED eine Öffnung, hinter dieser ist der Reset-Taster verborgen.

Den Reset-Taster bei ausgeschaltetem Gerät einige Sekunden lang drücken. Dann das Gerät anschalten und den Reset-Taster dabei weiter gedrückt halten. Nach einigen Sekunden ändert die "Health"-LED auf der Vorderseite ihre Farbe in Pink/Lila, und das Gerät wartet auf ein Zuspielen der neuen Firmare.

Wenn eine oder zwei Platten ohne (aktive) Partitionen vorhanden sind, wechselt U-Boot auch ohne Drücken des Reset-Tasters in den Recovery-Modus.

Das Log bis zum starten des Installers

<pre class="language-bash">         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|  ** Forcing LOADER mode only **
 ** MARVELL BOARD: RD-88F5182-NAS-P2 LE

U-Boot 1.1.4 (Oct 12 2007 - 12:30:28) Marvell version: 2.3.11_HP_1_3_1_Built@HP

U-Boot code: 00200000 -> 0026FFF0  BSS: -> 0027FDBC

Soc: 88F5182 A2 (DDR2)
CPU running @ 500Mhz
SysClock = 166Mhz , TClock = 166Mhz

DRAM CS[0] base 0x00000000   size 128MB
DRAM Total size 128MB  32bit width
[512kB@fff80000] Flash: 512 kB
Addresses 4M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (4M - 3M): Done

CPU : ARM926 (Rev 0)
88F5182 A2 streaming disabled
USB 0: host mode
USB 1: host mode
PCI 0: PCI Express Root Complex Interface
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0

Reset IDE:
Marvell Serial ATA Adapter
Integrated Sata device found
  Device 0: OK
Model: Hitachi HDS722020ALA330                  Firm: JKAOA3MA Ser#: xxxxxxxx
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
  Device 1: OK
Model: Hitachi HDS722020ALA330                  Firm: JKAOA3MA Ser#: xxxxxxxx
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)

No active partition on both disks (neither 1 nor 2)
Aquiring an IP address using DHCP...
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 28
*** Unhandled DHCP Option in OFFER/ACK: 211
*** Unhandled DHCP Option in OFFER/ACK: 210
*** Unhandled DHCP Option in OFFER/ACK: 208
*** Unhandled DHCP Option in OFFER/ACK: 28
*** Unhandled DHCP Option in OFFER/ACK: 211
*** Unhandled DHCP Option in OFFER/ACK: 210
*** Unhandled DHCP Option in OFFER/ACK: 208
DHCP client bound to address 192.168.129.213
Starting the Recovery process to retreive the file...
Broadcasting Distress Beacon Packet.
Broadcasting Distress Beacon Packet.
Broadcasting Distress Beacon Packet.
New TFTP PUT request received from 192.168.129.150 (MAC 00:26:2d:xx:xx:xx)
Recovery Image received (6175293 bytes).
New TFTP PUT request received from 192.168.129.150 (MAC 00:26:2d:xx:xx:xx)
Recovery Image received (6175293 bytes).
Booting the image (@ 0x400000) with RamDisk (@ 0x600000)...
## Booting image at 00400000 ...
   Image Name:   Debian kernel
   Created:      2011-06-22  21:24:38 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1314004 Bytes =  1.3 MB
   Load Address: 01000000
   Entry Point:  01000000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 00600000 ...
   Image Name:   Debian installer
   Created:      2011-06-22  21:24:38 UTC
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    4077565 Bytes =  3.9 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Starting kernel ...

[...]

Installer hochladen

Unter Linux (Installation des Tools unter Ubuntu z.B. mit sudo apt-get install uphpmvault) wird nun mit uphpmvault netboot.img der Upload vorbereitet. Sobald die Software einen Media Vault im Recovery-Modus findet, beginnt es automatsch:

Unter Windows muss im Installations-Ordern des Recovery-Tools die Firmware-Datei getauscht werden.

Die Datei recovery.img umbenennen oder verschieben, dann den Debian-Installer in recovery.img umbenennen: Nach dem Start des Tools und dem Auffinden des Media Vaults im Recovery-Modus fragt die Software nach der hochzuladenden Datei. Wird hier das netboot.img ausgewählt, lädt die Software sonst meistens trotzdem das im Ordner enthaltene recovery.img hoch.

Auch hier geschieht das Hochladen des Installers automatisch.

Nach dem (automatischen) Neustart des Media Vault dauert es ca. 5 Minuten, bis man sich zum Installer verbinden kann:

IP-Adresse und Verbinden via SSH

Der MV hat nach dem Starten des Installers folgende IP-Adresse:

Wenn man sich also bezüglich der Adresse unsicher ist, kann man das Netzwerkkabel entfernen, das Gerät neu starten und nach dem Start des Installers (siehe LED-Codes oben) neu einstecken, dann mit der Fallback-IP verbinden.

Jetzt kan man sich per ssh verbinden. Der Benutzername ist installer, das Passwort install – Daher sollte man die Installation in einem LAN durchführen, in dem sich nur vertrauenswürdige User befinden…

Wenn beim Booten des Media Vaults auf die serielle Schnittstelle zugegriffen wird, trennt SSH die Verbindung sofort wieder! Wird die Installation "seriell" begonnen, kann nicht zu SSH gewechselt werden.

Rest der Installation

Der Rest der Installation erfolgt wie im Debian-ARM-Handbuch beschrieben ab. Die Hardware wird vollständig erkannt, und der Installer wählt ein passendes Partitions-Layout als Vorschlag.

War vorher eine HP-Firmware installiert, wird der Installer beim Partitionieren fragen, ob vorhandene LVM-Groups gelöscht werden sollen. Diese müssen entfernt werden, die von HP benutze Struktur ist inkompatibel.

Wird die erste Festplatte manuell partitioniert, so ist laut Martin Michlmayr darauf zu achten, dass sda1 als /boot mit ext2- oder ext3-Dateisystem verwendet wird. Auch muss diese Partition als bootfähig markiert werden, sonst schlägt das Booten fehl.

Wenn man per seriellem Kabel den Bootvorgang betrachtet (siehe "Serielle Konsole"-Seite), verwendet der U-Boot vor der Installation von Debian zum Laden des Kernels bootext2 0,1:1,2 0x400000 /boot/uImage /dev/sda /dev/sdb, also funktionieren ext2 und ext3 als Dateisystem.

2TB-Festplatten

2TB-Platten (und größere) werden wegen einem Firmware-Bug und der U-Boot Version nicht zum Booten unterstützt, siehe auch diesen Thread in der Hacking The Media Vault Gruppe.

Bei 2TB-Platten wird der Installer GPT-Partitionen anlegen und stillschweigend weiter-installieren – somit kann U-Boot später nicht von der ersten Partition booten, da es nur DOS-Partitionen erkennt. Aber auch bei der manuellen Partitionierung mit DOS-Partitionstabelle schlägt das Booten fehl, ich bin momentan noch am Testen.

TFTP als Lösung?

ein Ändern der U-Boot Variablen kann zum vollständigen Zerstören des Geräts führen. Hat man Keinen Zugriff auf ein JTAG-Kabel und Erfahrungen damit, ist das Gerät schnell verloren.

Man kann per TFTP den Kernel booten, der dann die Platten ansprechen kann. Bricht man auf der seriellen Konsole den Autoboot ab, kann die Server-IP und das zu holende Image spezifiziert werden. Per tftpboot kann es geholt und dann per bootm an Adresse 0x400000 im RAM ausgeführt werden:

<pre class="language-bash">setenv bootfile /[pfad_auf_tftp-server/uImage
setenv serverip [ip_des_tftp-servers]
saveenv
tftpboot ; bootm 0x400000

Der String tftpboot ; bootm 0x400000 kann auch mit

<pre class="language-bash">setenv bootcmd tftpboot ; bootm 0x400000
saveenv

dauerhaft ins Flash geschrieben werden.

Beispiel:

<pre class="language-bash">Hit any key to stop autoboot:  0
Marvell>> tftpboot
Using egiga0 device
TFTP from server 192.168.129.150; our IP address is 192.168.129.120
Filename '/mediavault/uImage'.
Load address: 0x400000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############
done
Bytes transferred = 3722545 (38cd31 hex)
Marvell>> bootm 0x400000
## Booting image at 00400000 ...
   Image Name:   Debian kernel
   Created:      2011-07-24  14:46:45 UTC
   Image Type:   ARM Linux Multi-File Image (uncompressed)
   Data Size:    3722481 Bytes =  3.6 MB
   Load Address: 01600000
   Entry Point:  01600000
   Contents:
   Image 0:  1314004 Bytes =  1.3 MB
   Image 1:  2408465 Bytes =  2.3 MB
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux...

Partitionierung und RAID-Setup

"Normale" Partitionen aber auch Software-RAID (md) ist möglich – man muss nur für /boot eine aktive, separate ext2 oder ext3-Partiton verwenden, die U-Boot lesen kann – siehe oben.

Wie gewohnt Platten identisch partitionieren, md-Devices anlegen, Mountpoints angeben.

Mein Vorschlag für die Partitionierung mit RAID1 (sda ist die feste, untere Platte, sdb die obere im Wechselrahmen):

<pre class="language-bash">/dev/sda: Untere Platte (fest verbaut)
/dev/sdb: Obere Platte (im Tray)

/dev/sda1: Format ext2, Größe 100MB, Mountpoint: /boot
/dev/sdb1: Format ext2, Größe 100MB, Mountpoint: /boot2, /root o.ä.

/dev/sda2: Format md, Größe 10GB, Mountpoint: Keiner
/dev/sdb2: Format md, Größe 10GB, Mountpoint: Keiner
--------------------------------------------------------
Zusammen:  Format ext3, Device md0, Größe 10GB, Mountpoint: /

/dev/sda3: Format md, Größe 1GB, Mountpoint: Keiner
/dev/sdb3: Format md, Größe 1GB, Mountpoint: Keiner
--------------------------------------------------------
Zusammen:  Format swap, Device md1, Größe 1GB, Mountpoint: swap

/dev/sda4: Format md, Rest der Platte, Mountpoint: Keiner
/dev/sdb4: Format md, Rest der Platte, Mountpoint: Keiner
------------------------------------------------------
Zusammen:  Format ext3, Device md2, Größe wie sich ergibt, Mountpoint: /data

Die Installation von ssh nicht vergessen! ;)

Am Ende der Installation, nach ca. 45 Minuten (Stand Debian Squeeze, Juli 2011), erstellt der Installer automatisch ein Boot-Image für das Flash. Nach dem Bestätigen bootet das System neu und ist bereit. Während dem Start zeigt die "Health"-LED (Die rechte der drei) den Status an:

Für die LED-Ansteurung während des Starts ist das Paket mv2120-utils zuständig, das automatisch mitinstalliert wird und folgende Dateien enthält (Stand "Lenny"):

<pre class="language-bash">/etc/init.d/mv2120-utils
/usr/bin/mv2120-recovery-image
/usr/share/doc/mv2120-utils/README
/usr/share/doc/mv2120-utils/changelog.gz
/usr/share/doc/mv2120-utils/copyright
/usr/share/initramfs-tools/scripts/init-bottom/mv2120
/usr/share/initramfs-tools/scripts/init-top/mv2120
/usr/share/man/man1/mv2120-recovery-image.1.gz

Andere Seiten unter 'HP Media Vault mv2100-Serie'