Permalink

Samba auf dem Pogoplug

Nachdem wir unseren Pogoplug von seinen Fesseln befreit haben (Anleitung), ist es an der Zeit diesen wieder mit Funktionen auszustatten. Also als erstes: Netzwerkfreigaben, denn irgendwo muss man ja seine Daten unterbringen!

 Samba Installation

Diese Anleitung lässt sich natürlich auch auf andere Geräte übertragen, auch wenn der Ablauf sich im Einzelnen unterscheiden kann.

Vorbereitungen

Da ein 2GB USB-Stick doch etwas klein für den Austausch von Daten ist, habe ich an meinem Pogoplug eine 320GB 2,5″ Festplatte über SATA angebunden.

Wenn ihr die SATA Platte im laufenden Betrieb einsteckt, könnt ihr diese über folgenden Befehl verfügbar machen (das ‚>‘ stellt ein ‚>‘ da. Leider wird das nicht geparst):

 echo "0 0 0" > /sys/class/scsi_host/host/scan

Überprüft mit

fdisk -l

ob eure Platte erkannt und wie sie angesprochen wird (im Regelfall /dev/sdbX)

Gemountet habe ich die Platte mithilfe von ‚udevil‚ über den folgenden Befehl

udevil mount /dev/sdb1

Damit wird die Platte in /media/LABELNAME eingehangen.

Die Installation

Zuerst müssen wir Samba auf unserem Pogoplug installieren. Wer Samba noch nicht kennt: Samba ist ein Netzwerkfreigabedienst, mit dem sich Dateien, Peripheriegeräte wie Drucker oder sogar die aktuelle Uhrzeit  kompatibel zu Windows, Mac, Linux, Android, iOS und jedem guten Toaster im Netzkwerk freigeben lassen.

Die eigentliche Installation ist simpel, kann aber ein paar Minuten Wartezeit in Anspruch nehmen. Es werden automatisch alle Abhängigkeiten aufgelöst und installiert – Gesamtgröße: ca. 62MB

 pacman -S samba

 

Die Konfiguration

Nachdem Samba installiert ist, konfigurieren wir das Ganze nun. In meinem Fall habe ich es so gehandhabt, dass es keinen Benutzer gibt und man ohne Authentifizierung alle Rechte genießt. Dies ist nur empfehlenswert wenn ihr dem Netzwerk und seinen Nutzern vertraut!

cd /etc/samba
nano smb.conf

und folgenden Inhalt einfügen (ggf. Anpassungen vornehmen):

[global]
workgroup = WORKGROUP
server string = Pogoplug Samba Server
hosts allow = 192. 127.
guest account = nobody
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
dns proxy = no
preserve case = yes
map to guest = bad user



[HD1]
comment = NASE
path = /media/LABELNAME
available = yes
public = yes
writable = yes
printable = no
create mask = 0777
guest ok = yes
browseable = yes

Jetzt noch abspeichern und die Konfiguration überprüfen mit Hilfe von

testparm

Wenn alles fehlerfrei ist, ist die Konfiguration abgeschlossen.

Der Abschluss

Zum Abschluss müssen noch die beiden Samba Dienste smbd und nmbd gestartet werden

smbd
nmbd

Nun kann man von seinem Rechner auf die Freigabe zugreifen.

Der Zugriff

Unter Windows funktioniert das Ganze recht einfach:

  1. Öffnet ein Explorer Fenster
    Windows Explorer
  2. Tragt in die Adressleiste ‚\\die.ip.des.pogoplug‚  und drückt Enter (Alternativ geht auch der Hostname)
  3. Macht einen Rechtsklick auf die Freigabe und wählt ‚Netzwerklaufwerk verbinden…
    freigabe
  4. Sucht euch einen Laufwerksbuchstaben aus und klickt auf ‚Fertig stellen‘
    laufwerk

Da ich leider keinen Mac besitze, kann ich an dieser Stelle nur auf die Anleitung von Apple verweisen.

Ich besitze auch kein iOS Gerät, aber im App-Store gibt es genügend Apps die diesen Zweck erfüllen. So zum Beispiel auch: 

FileExplorer: File Manager
FileExplorer: File Manager
Entwickler: Skyjos Co., Ltd.
Preis: Kostenlos

 

Für Android nutze ich persönlich den ‚Astro File Manager‘ mit dem passenden Modul: 

ASTRO Dateimanager
ASTRO Dateimanager
Entwickler: Metago
Preis: Kostenlos
 
Die App konnte im App Store nicht gefunden werden. :-(

 

In dem Sinne, fröhliches Datenschleudern!

Permalink

Arch Linux auf einem Pogoplug v3 (Classic)


Im Dezember letzten Jahres gab es mal das Angebot einen Pogoplug Classic für knapp 20€ zu erstehen. Was ist ein Pogoplug? Ein Pogoplug ist ein „quasi-NAS“, ihr bestück den kleinen Kasten im Regelfall mit einer externen USB-Festplatte und könnt dann darauf wahlweise aus dem Netzwerk (mit Hilfe von Software) oder über die Internetseite des Herstellers auf diese Daten zugreifen.

Pogoplug von der Seite

Diese Zugangsmöglichkeit hat einige Nachteile, welche sich durch eine Linux Installation kompensieren lassen

  • Daten liegen in der Hand des Herstellers
  • Abhängigkeit vom Hersteller was Updates / Software angeht
  • Hersteller kann auf das Gerät zugreifen
  • Dateien nur mit extra Software einsehbar (Windows / Mac / iOS / Android)
  • Limitierte Funktionen

Ich habe das Gerät bis jetzt (neben ein paar Tests) in der Standardkonfiguration betrieben und wollte dies nun endlich mal ändern.

Der Pogoplug v3 ist folgendermaßen ausgestattet:

  • PLX 7820 ARM Dual-core Prozessor (700MHz)
  • 128MB RAM
  • 128MB NAND
  • 4x USB 2.0
  • 1x SATA II
  • Gigabit Ethernet

Wieder mal ein paar Worte der Warnung:
Dies ist nicht unbeding eine Anleitung für totale Neulinge.
Mit der Firmware eines Gerätes zu experimentieren kann schnell ins Auge gehen!
Solltet ihr euer Gerät bricken, gibt es die Möglichkeit mit Hilfe von Zusatzhardware das ganze zu korrigieren. Es gilt die Regel “Erst denken, dann handeln”.
Haftung übernehme ich auch bei diesem Projekt keine.

Das ganze funktioniert auf jeden Fall für die folgenden Modelle:

  • POGO-P21
  • POGO-P24
  • POGO-P25
  • POGO-B01
  • POGO-B02
  • POGO-B03
  • POGO-B04

Solltet ihr einen anderen Pogoplug haben, müsst ihr euch auf der Arch Linux ARM Seite umsehen.

Ihr benötigt neben dem passenden Pogoplug noch einen USB-Stick mit einer Mindestkapazität von 2GB, welcher das System beherbergen wird.

Die Installation

  1. Zuerst muss der Pogoplug registriert und online sein
  2. Dem Pogoplug muss ein SSH Passwort zugewiesen werden
  3. Trennt den Pogoplug vom Stromnetz
  4. Entfernt alle angeschlossenen Speichergeräte
  5. Steckt den USB-Stick an, von dem später Arch Linux starten soll (Alle Daten gehen verloren) und schaltet den Pogoplug ein
  6. Loggt euch über SSH (die IP Adresse sucht ihr euch am besten im Router heraus) in den Pogoplug, als ‚root‘ mit eurem selbstgewählten Passwort ein
  7. Beendet den Pogoplug Dienst, damit er uns nicht in die Quere kommt
    killall hbwd
  8. Startet fdisk
    /sbin/fdisk /dev/sda
  9. Nun trefft ihr folgende Auswahl:
    o‚ – Dieses entfernt alle Partitionen vom Medium
    p‚ – Dies listet alle Partitionen auf. Logischerweise sollte hier nichts mehr angezeigt werden
    n‚ für neue Partition, dann ‚p‚ für Primärpartition und ‚1‚ für die erste Partition auf dem Medium. Nun drückt ihr Enter und übernehmt die vorgegebenen Standardwerte.
    Beendet fdisk mit Hilfe von ‚w
  10. Erstellt das ext3 Dateisystem
    sync
    cd /tmp
    wget http://www.dennert.me/pogo/mke2fs
    chmod 755 mke2fs
    ./mke2fs -j /dev/sda1
  11. Ladet euch mein modifiziertes Instalaltions Skript herunter und führt es aus
    cd /tmp
    wget http://www.dennert.me/pogo/pogoplug-install.sh
    chmod 755 pogoplug-install.sh
    ./pogoplug-install.sh

Das Installations Skript überprüft ob der Pogoplug Dienst beendet und sda1 eingehangen ist.
Dann sammelt es Informationen über die verwendete Hardware, lädt das rootfs herunter, überprüft es, entpackt es und schreibt den geänderten Kernel in den NAND.

Am Ende solltet ihr die folgende Ausgabe erhalten:

bootargs_stock=root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M poweroutage=yes
load_custom_nand=nboot 60500000 0 500000
load_custom_nand2=nboot 60500000 0 B00000
boot_custom=run load_custom_nand boot || run load_custom_nand2 boot
bootargs=root=/dev/sda1 ubi.mtd=2,512 rootfstype=ext3 console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M poweroutage=yes rootdelay=15
bootcmd=run boot_custom

Hinweis: Bei dem Installations Skript oder dem rootfs handelt es sich nicht um mein Werk. Ich habe das Skript von Arch Linux ARM so angepasst das es ein aktuelles rootfs von moonman von einem meiner Server lädt und dieses dann überprüft.

Sollte alles geglückt sein, könnt ihr euren Pogoplug neustarten

/sbin/reboot
  1. Logt euch erneut per SSH in den Pogoplug (die IP könnte sich geändert haben) mit den Daten User: ‚root‘, Passwort: ‚root‘ ein.Sollte die Front LED nach dem starten noch immer blinken, müsst ihr die Modul Abhängikeiten erneuern
    depmod -a

    und dann neustarten

    /sbin/reboot

    Ihr noch euer root Passwort anpassen

    passwd

    und euer System aktualisieren

    pacman -Syu

Wilkkomen in Arch Linux ARM.
Was ihr nun tun könnt? Das liegt ganz an euch… aber hier ein paar Vorschläge:

– Dateifreigaben mit Samba (Anleitung folgt)
– Torrentbox mit transmission (Anleitung folgt)
– kleiner Webserver mit nginx, lighttpd, Hiawatha, Cherokee, Boa oder thttpd
– FTP Server
– Druckerserver mit CUPS
– Backup-Sklave mit Samba Freigaben / FTP

Zurück zu den Wurzlen

Solltet ihr keine Lust mehr auf Arch Linux haben (So etwas gibt es?) dann ladet ihr euch dieses Skript, macht es ausführbar und startet es.

wget http://www.dennert.me/pogo/pogoplug-revert.sh
chmod 0775 pogoplug-revert.sh
./pogoplug-revert.sh

Folgt den Anweisungen auf dem Bildschirm und startet euren Pogoplug anschließend ohne den USB Stick. Tada!

Bonus Inhalt (yay!)

Um Speichermedien schnell ohne viel Tipperei einbinden zu können nutze ich ‚udevil

Hier ein Auszug aus der man Page:

udevil mount /tmp/example.iso # ISO file
udevil mount ftp://sys.domain # ftp site - requires
curlftpfs or ftpfs
udevil mount ftp://user:pass@sys.domain/share # ftp share with
user and password
udevil mount ftp://user:pass@sys.domain:21/share # ftp share with
port, user and password
udevil mount -t ftpfs sys.domain # ftp site with ftpfs
udevil mount -t curlftpfs sys.domain # ftp site with curl
udevil mount smb://sys.domain/share # samba share w/ cifs
udevil mount smb://user:pass@10.0.0.1:50/share # samba share w/ u/p/port
udevil mount smb://WORKGROUP/user@sys.domain # samba share w/ workgroup
udevil mount //sys.domain/share # samba share w/ cifs
udevil mount //sys.domain/share -t smbfs # samba share w/ smbfs
udevil mount ssh://user@sys.domain # sshfs with user -
requires sshfs
udevil mount -t sshfs user@sys.domain # sshfs with user
udevil mount http://sys.domain/dav/ # WebDAV - requires davfs2
udevil mount tmpfs # make a ram drive

Und so sieht das ganze dann in Aktion aus:

[root@alarm mnt]# udevil mount /dev/sdb
Mounted /dev/sdb at /media/MYLINUXLIVE

Kein Editieren von /etc/fstab, kein anpassen von udev Regeln, keine Angabe des Dateisystems und kein lästiges erstellen von Ordnern!

Da der kleine im Inneren auch noch einen SATA II Port hat, muss man seine Platten nicht unbedingt per USB quälen.

Pogoplug Innenleben
Ich habe mir aus einem Molex zu SATA Adapter und einem USB Kabel, einen Stromadapter für die Platten gebaut (2,5″ sind mir aus Platzgründen lieber).Einen solchen Adapter zu bauen ist nicht schwer und auch für Lötkolben-Neulinge kein Problem

Schnell noch ein Loch in die Gehäusefront dremeln, SATA Kabel von innen nach außen gelegt und fertig ist der nicht ganz so hübsche, dafür performante Festplattenanschluss.
Das ganze funktioniert (leider) nur mit stromsparenden HDDs/SSDs. Ein Y-Kabel möchte ich persönlich aber auch nicht haben, dafür sind mir die USB Anschlüsse zu schade.

Frohes Basteln!