QNAP – Debianinstallation auf USB-Stick oder Festplatte

In diesem Artikel möchte ich erklären, wie man ein Debian 6.0 Squeeze (stable) auf dem Qnap installiert. Ich habe dazu ein Qnap TS-112 benutzt. Wo man es installiert, ob auf einem USB-Stick oder Festplatte, ist jedem selbst überlassen. Mir persönlich ist ein Stick lieber, da sich dann die Festplatte nach einer gewissen Zeit abschalten kann und somit der Stromverbrauch verringert wird.
Die Original englischsprachige Anleitung ist hier zu finden, eine gute deutsche findet ihr hier, diese sind aber nicht mehr ganz aktuell.
Alle Daten der Festplatte sollte zuvor gesichert sein, da der Debianinstaller die Festplatte während der Installation formatiert.

Voraussetzungen:

  1. Eine interne angeschlossene SATA Festplatte oder ein großer USB-Stick. Mindestens 8GB, besser sind 16GB.
  2. Das Qnap sollte an einem DHCP (Router) hängen, damit man die Ip-Adresse leicht heraus bekommt.
  3. Ein Computer mit dem man eine SSH Verbindung zum Qnap aufbauen kann. (Putty)
  4. Einen USB-Stick zum sichern der Original Qnap-Firmware. (min 12MB)


1. Original Firmware sichern:

Debian muß bei der Installation den neuen Kernel in den Flash schreiben. Deßhalb sichern wir uns vorher die entsprechenden Flash Bereiche.
Dazu stecken wir einen beliebigen USB-Stick an das NAS und verbinden uns mit SSH zum Qnap.
Folgender Befehl zeigt den Mountpunkt des USB-Sticks an.

mount | grep external | awk ‚{print $3}‘

Mit cd wird in das Verzeichnis gewechselt. Eventuell noch einen Ordner für die Backupdateien auf dem Stick anlegen und die verschiedenen Flash Bereiche sichern. Der letzte Punkt mit dem qnapimg.bin Image ist für die Wiederherstellung mittels TFTP-Boot gedacht.

cd /share/external/sdt1
mkdir qnap-backup
cd qnap-backup

cat /dev/mtdblock1 > mtd1
cat /dev/mtdblock2 > mtd2
cat /dev/mtdblock3 > mtd3
cat /dev/mtdblock4 > mtd4
cat /dev/mtdblock5 > mtd5
cat /dev/mtdblock1 /dev/mtdblock2 /dev/mtdblock3 > qnapimg.bin

Bezeichnung der Flashbereiche:

mtdblock1 (Kernel, 2MiB)
mtdblock2 (RootFS1, initrd, 4MiB)
mtdblock3 (RootFS2, 1MiB)
mtdblock5 (NAS Config, 384kiB)
mtdblock4 (U-Boot Config, 128kiB)
mtdblock0 (U-Boot, 512kiB)
qnapimg.bin (Restoreimage für TFTP-Recovery)

Hier bitte noch diesen kurzen Artikel durchlesen und wenn nötig gleich durcharbeiten. Es gibt Probleme wenn man 2 QNAP Geräte mit Debain ausstattet und diese dann im gleichen Netz betreibt. (gleiche Mac)

2. Debianinstaller installieren:

cd /tmp
busybox wget http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-119/flash-debian
busybox wget http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-119/initrd.gz
busybox wget http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-119/kernel
# Installer starten
sh flash-debain

2a. Debianinstaller von Hand installieren:
Bei einem Wechsel von einer Debianversion zu einer anderen, muß man dies per Hand erledigen.

cat kernel > /dev/mtdblock1
cat initrd.gz > /dev/mtdblock2
cat mtd4 > /dev/mtdblock4
reboot

Der Flash mtd4 ist von der hoffentlich vorher gesicherten QNAP Originalfirmware.

3. Starten des Installers:
Nach dem Neustart kann es sein das das QNAP eine andere IP vom DHCP-Server bekommen hat als vorher. Also erst kontrollieren und dann zur richtigen IP verbinden.
Benutzername: installer
Passwort: install
Auf die einzelnen Schritte der Installation werde ich nicht weiter eingehen. Die wurden ausreichend in dem beiden Links von oben beschrieben.

4. Partitionierung:
Da die Festplattenaufteilung ein sehr wichtiger Punkt ist, möchte ich hier noch meine Konfiguration von dem 16GB Stick posten.

boot -> Primary -> 256MB
root -> Primary -> 6GB
swap -> Logical -> 512MB
home -> Logical -> rest (ca. 9GB)

5. Kernel Update:
Dies ist zwar nicht oft nötig, aber es hat mich schon viel Zeit gekostet die benötigten Befehle immer wieder rauszusuchen. Man kann über aptitude oder apt-get einen neuen Kernel installieren, aber nach dem Neustart ist immer noch der alte Kernel geladen. Das ist der Fall, weil bei dem QNAP die initrd.gz und der Kernel in einem gesonderten Flashbereich liegen. Siehe Punkt 1. Dazu kommt noch, das die initrd.gz des neuen 3.xx Kernel’s zu groß für den Flashbereich ist.
5a. initrd.gz verkleinern:
Die Datei /etc/initramfs-tools/initramfs.conf bearbeiten und den Menüpunkt MODULES suchen und mit dep ersetzen.

MODULES=dep

5b. Kernelimage erstellen und in die Flashbereiche kopieren:
Dazu genügt ein Befehl, damit wird alles vollautomatisch vom System erledigt.

update-initramfs -u

Mit dem -u bekommt eine bestehende Konfiguration ein Update. Nach einem Reboot sollte der aktuelle Kernel geladen sein.