Fun_plug 0.5 auf dem USB-Stick am Conceptronic CH3SNAS bzw. D-Link DNS-323 betrieben

Dieses Tutorial bezieht sich auf fun_plug 0.5, welches veraltet ist und daher nicht mehr genutzt werden sollte! Dieses Tutorial ist daher ebenfalls veraltet! Bitte sehe hier nach den aktuellen Tutorials!
Diese Anleitung wurde auf den folgenden NAS getestet: Conceptronic CH3SNAS, D-Link DNS-323
Tutorials zu anderen Geräten sind hier zu finden.

Wie ich schon des öfteren berichtet hatte, gibt es die Möglichkeit, das Conceptronic CH3SNAS oder das D-Link DNS-323 mittels eines sog. „fun_plug“ um Zusatzfunktionalitäten zu erweitern. „fonz“, der Entwickler des bekanntesten fun_plug-Scripts „FFP“, hat mittlerweile die Version 0.5 released, die viele Neuerungen mit sich bringt. Da mein USB-Stick sowieso immer am NAS hängt, habe ich mich gleichzeitig mit dem Update auch für ein Betreiben des ffp auf den USB-Stick entschieden. Doch was bringt eigentlich das neue „FFP“?

Werbung


Ich zitiere hier einfach mal die Release Notes:

Release Notes zeigen ▼

Das ffp an sich ist perfekt, um direkt auf einen USB-Stick gepackt zu werden. Ich hatte bereits schon einmal demonstriert, wie dies für bestimmte Programme funktioniert, jetzt ist das gesamte fun_plug dran, da dann Probleme, wie sich nicht abschaltende Festplatten und lange Antwortzeiten beim ersten Aufrufen einer Webseite (lighttpd auf der ausgeschalteten Festplatte) endlich der Vergangenheit angehören.

Zum Inhalt des Tutorials:

  1. Changelog des fun_plug
  2. Abkürzungsverzeichnis
  3. Vorbereitende Gedanken
  4. Vorbereitung des USB-Sticks:
  5. Installation des fun_plug 0.5
  6. Installation von zusätzlichen Paketen

Im nun folgenden Tutorial gelten diese Abkürzungen:

  • NAS: Conceptronic CH3SNAS oder D-Link DNS-323, funktioniert auf beiden Geräten
  • ffp: fun_plug 0.5 von fonz
  • „#:“ bedeutet Konsoleneingabe (ohne die Zeichen #:)
  • [enter] bedeutet Das Drücken der Return-Taste auf der Tastertur

Ich bitte darum das Tutorial erst einmal KOMPLETT zu lesen, BEVOR man es durchführt! Viele Fragen kommen dann erst gar nicht auf und manche Probleme klären sich so von selbst!

Für dieses Tutorial braucht man *oh wunder* einen USB-Stick. Dieser wird im laufen dieses Beitrag komplett formatiert, d.h. alle Daten gehen verloren! Größenmäßig sollte der Stick oberhalb von 512MB, besser bei einem 1GB liegen. Eine komplett-Installation des fun_plug benötigt etwa 500MB inklusive Paketverzeichnis (Größe ~100MB, wobei man das auch auf der Festplatte halten kann, da man es eh nur einmal braucht). Wichtig in diesem Tutorial ist die Menge der Festplatten im NAS. Je nach dem wird der USB-Stick anders angesprochen. Bei einer Festplatte wird der USB-Stick als „sdb„, bei zwei Festplatten als „sdc“ angesprochen. Ich spreche im Tutorial und in allen Dateien immer von sdc, ich bitte dies selbstständig auf sdb zu ändern, wenn nur eine Festplatte im Gehäuse steckt! Eventuell (bei genug Nachfrage) kann ich dies automatisieren, sodass immer nur der richtige USB-Stick (egal ob sdb oder sdc) angesprochen und eingebunden wird. Zudem braucht das NAS eine Internetverbindung, sonst wird meine Anleitung in der momentanen Form nicht laufen!

Bitte jetzt den USB-Stick anstecken!

Das grundlegende Problem ist zunächst das Dateisystem des USB-Sticks. Ich rate zu ext2, da dies bereits im NAS selbst eingesetzt wird und als relativ robust anerkannt ist. Das Problem ist nun, dass die meisten Leser vermutlich kein Programm (z.B. Partition Magic) oder auch keine Umgebung (Linux) installiert haben um den Stick auf ext2 zu formatieren.

Zunächst muss sichergestellt sein, dass das NAS über eine gültige Netzwerkkonfiguration („Setup“ -> „LAN“) mit Gateway & DNS-Server verfügt. Wird die IP-Adresse automatisch bezogen, ist das im Regelfall korrekt eingestellt.

Wenn man noch Telnet oder SSH-Zugang zum NAS hat (z.B. durch ein existierendes fun_plug), kann man den folgenden Punkt überspringen und hier weitermachen.

Wir werden daher zunächst eine minimale Linux-Umgebung auf dem NAS einrichten, sodass wir die anschließend folgenden Schritte zur Formatierung auf dem NAS ausführen können. Wenn man keinen Zugang hat (z.B. neues NAS), dann bitte folgende drei Punkte befolgen:

  • Download dieser Datei
  • Als „fun_plug“ (genau so benennen!) über das normale File-Share ins Hauptverzeichnis auf die erste Festplatte (Zumeist als „Volume_1“ über Samba freigegeben) legen.
  • Beim Reboot wird das fun_plug automatisch heruntergeladen und initialisiert. (Es ist die Version 0.1 von fonz, wir brauchen da aber nix besonders)

Hat man noch Zugang zum NAS, jedoch noch nie einen USB-Stick daran betrieben, so benötigt man eine Datei namens „usb-storage.ko“, die die Einbindung von USB-Sticks in System erlaubt. Zunächst bootet man das NAS mit angestecktem Stick einmal frisch. Anschließend loggt man sich auf das NAS ein und lädt das USB-Modul:

mkdir -p /mnt/HD_a2/.bootstrap/
wget http://wolf-u.li/u/165/ -O /mnt/HD_a2/.bootstrap/usb-storage.ko
cp /mnt/HD_a2/.bootstrap/usb-storage.ko /lib/modules/
insmod /lib/modules/usb-storage.ko

Bitte vor dem ausführen der folgenden Schritte prüfen, ob der Stick wirklich dran steckt!
Nun werden wir den Stick komplett plätten und frisch partitionieren. Dazu verbindet man sich mit Telnet auf das NAS.
Unter Windows verwendet man dazu am einfachsten das Tool PuttY von hier. Nach dem Start muss man die Adresse des NAS unter „Host Name“ angeben und auf „Open“ klicken.
Nun öffnet sich die Konsole, wo man direkt eingeloggt ist.
Nun benötigt man fdisk zur Formatierung des USB-Sticks (der Befehl ist so korrekt, siehe Beitrag!):

cat|fdisk /dev/sdc

Dieses Tool zeigt nun die Zeile „Command (m for help):„. Zunächst lässt man sich mittels „p[enter]“ die momentanen Partitionen anzeigen. Die Ausgabe sieht bei meinem 512MB Test-USB-Stick so aus:

Disk /dev/sdc: 519 MB, 519569408 bytes
16 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 992 * 512 = 507904 bytes

Device Boot Start End Blocks Id System
/dev/sdc1 1 1022 506881 c Win95 FAT32 (LBA)

Nun löschen wir diese eine Partition:

d[enter]

Und legen eine neue an:

n[enter]
p[enter]
1[enter]
[enter]
[enter]
t[enter]
83[enter]

Nun haben wir eine Partition erstellt, die die maximale Größe des USB-Sticks ausfüllt und als Linux-Partition markiert ist. DIe Änderungen sehen wir uns noch nochmal an und speichern diese anschließend:

p[enter]
w[enter][/code]
 
<a rel='lightbox[ffp]' href='/upload/2008/07/1318-ffpusb-3.png'><img src="/upload/2008/07/1318-ffpusb-3-150x150.png" alt="" title="1318-ffpusb-3" width="150" height="150" class="alignleft size-thumbnail wp-image-1670" /></a>Diese werden wir nun noch auf ext2 formatieren:
 
<pre lang="bash">mke2fs /dev/sdc1

Damit ist der USB-Stick fertig vorbereitet.

Der nächste Schritt ist nun, dass das endgültige fun_plug heruntergeladen werden muss. Das alte fun_plug wird direkt ersetzt. Das kann man nun noch direkt in der Konsole machen:

rm /mnt/HD_a2/fun_plug
wget http://www.inreto.de/dns323/fun-plug/0.5/fun_plug -O /mnt/HD_a2/fun_plug
chmod a+x /mnt/HD_a2/fun_plug

Wahlweise kann diese Datei auch direkt heruntergeladen und gegen die momentan existierende Datei im Hauptverzeichnis der ersten Festplatte ausgetauscht werden.
Nun brauchen wir noch das neue FFP_SETUP_SCRIPT, welches in einem Update von fun_plug 0.5 eingeführt wurde:

wget http://wolf-u.li/u/201 -O /mnt/HD_a2/.bootstrap/setup.sh

Zu guter letzt muss man das ganze noch aktivieren:

chmod +x /mnt/HD_a2/.bootstrap/setup.sh

Wenn man die obige minimal-umgebung gestartet hat, dann kann man diese nun vor dem Restart noch entfernen:

rm -R /mnt/HD_a2/funplugusbstick/

Nun muss das NAS einmal neu gestartet werden, was entweder über das Webinterface oder die Konsole möglich ist:

reboot

Kleiner Hinweis: Meine setup.sh regelt den gesamten Zugriff auf den USB-Speicher und die Initialisierung des fun_plug auf dem USB-Stick. Sollte der Zugriff nicht klappen und kein Log angelegt werden, bitte über die Kommentarfunktion melden.

Nach einem Reboot ist das neue fun_plug 0.5 von fonz geladen und automatisch telnet aktiviert. Zunächst sollte man sich nun mit einem geeigneten Telnet-Programm (unter Linux einfach nur „ssh“, unter Windows verwende ich Putty,wie oben zu sehen) auf dem NAS einloggen. Bitte für den folgenden Schritt einfach mal das Bild links ansehen, damits klarer wird.

Login as: root
Passwort sollte keines verlangt werden

Wenn (oder direkt) „/mnt/HD_a2 #“ erscheint, ist man eingeloggt und kann fortfahren.

Als eine der ersten Aktionen wird nun /etc/shadow mittels pwconv erstellt. Das Passwort wird anschließend mittels „passwd“ geändert:

pwconv
passwd

Wenn das neue Passwort zweimal eingegeben wurde, muss man den root-User noch aktivieren und dessen Home-Verzeichnis verlegen:

usermod -s /ffp/bin/sh root
mkdir -p /ffp/home/root/
usermod -d /ffp/home/root/ root

Nun kann man den Login nun direkt testen. Hierzu gibt man im Anschluss:

login

ein. Wenns nicht klappt, einfach die Prozedur ab „passwd“ wiederholen.

Wenn alles geklappt hat, dann muss das Passwort in den internen Flash-Speicher gespeichert werden.

store-passwd.sh

Nun wird der SSH-Server aktiviert, da telnet bereits als sehr unsicher (v.a. aufgrund des unverschlüsselten Verkehrs) bekannt ist (wird eine Weile dauern):

chmod a+x /ffp/start/sshd.sh
sh /ffp/start/sshd.sh start

Nun den Telnet-Client noch nicht schließen! Öffne gleichzeitig nochmals PuttY und verwende aber statt telnet nun SSH. Versuche eine Verbindung zum NAS. Diese wird erfolgreich sein.

Nun (und NUR wenn der Login erfolgreich war!) kann der Telnet-Server deaktiviert werden:

chmod -x /ffp/start/telnetd.sh

Auf dem usbstick ist unter „/mnt/usbstorage“ ein Verzeichnis namens „ffp“ angelegt worden. Darin befindet sich ein Unterverzeichnis „start“, in dem verschiedene Startdateien für diverse Dienste liegen. Typischerweise weisen davon nur wenige das Attribut X, also Executable. Nur diese werden auch beim Start des fun_plug ausgeführt. Ein paar Zeilen weiter oben habe ich „chmod +x sshd.sh“ angeordnet. Diese Anweisung markiert eine Datei als ausführbar. Alle Dateien im Start-Ordner, die als executable markiert sind, werden vom fun_plug aufgerufen.

Weitere Software kann man nun einfach installieren. Hierzu muss man zunächst alle Pakete von fonz und mir auf das NAS syncronisieren. Ich habe das Verzeichnis auf dem USB-Stick angelegt, wenn es woanders sein, soll soltle das der versierte Nutzer selbst erledigen können 😉

mkdir /ffp/pkg/
cd /ffp/pkg/
wget http://wolf-u.li/u/173/ -O /ffp/pkg/updater.sh
chmod a+x /ffp/pkg/updater.sh
sh /ffp/pkg/updater.sh

Mit diesen Befehlen habe ich einen Ordner namens „pkg“ im Ordner „ffp“ erstellt. Zusätzlich wurde nun die Ordner „packages“ (Fonz‘ Repository) und „additional“ (Uli’s Repository) angelegt, der alle kompilierten Pakete von Fonz und Uli enthält.

Nun kann man Pakete installieren. Entweder man installiert nun einzelne Pakete (Achtung abhängigkeiten beachten!):

funpkg -i paketname.tgz

Oder einfach alle aus Fonz‘ Repository installieren, damit sind dann zunächst alle Abhängigkeiten gelöst:

cd /ffp/pkg/packages/
funpkg -i *.tgz

Zusätzliche Pakete (z.B. PHP & mysql) habe ich dann später im Verzeichnis /ffp/pkg/additional abgelegt.

Ein Wort noch zur Paketverwaltung, das Programm funpkg bedient man wie folgt:

Copyright (c) 2008 Tobias Poschwatta <tp@fonz.de>
 
Install:   funpkg -i <packages...>
Reinstall: funpkg -I <packages...>
Upgrade:   funpkg -u <packages...>
Remove:    funpkg -r <packages...>
 
Other options:
  -D <path>  System root directory (default: /)

Schlusswort:
An diesem Tutorial bin ich relativ lange gesessen, damit es einigermaßen verständlich und leicht durchzuführen ist. Doch kein Tutorial ist perfekt und hier können sich aufgrund der Länge Fehler eingeschlichen haben. Ich bitte diese zu entschuldigen und unverzüglich zu melden! Gerne stehe ich über die Kommentarfunktion sowie per Mail (Adresse ist im Impressum zu finden) bei Fragen und Problemen zur Verfügung.

Changelog des Eintrags:
06.09.2008: Update für das FFP_SETUP_SCRIPT
21.12.2010: Update der Download-URLs, Einführung des Update-Scripts

Veröffentlicht von

Uli

IT-Nerd und Admin

436 Gedanken zu „Fun_plug 0.5 auf dem USB-Stick am Conceptronic CH3SNAS bzw. D-Link DNS-323 betrieben“