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!

Permalink

AirAV · UPnP/DLNA Media Player (iOS Universal)

Tipp für alle die gerne mal Musik, Filme, Fotos & Co. vom Mac oder PC auf das iPhone oder iPad streamen möchten: Derzeit gibt es in Form von AirAV einen kostenlosen UPnP/DLNA Media Player für iOS im App Store.

IMG_0053-sIMG_0054-sIMG_0055-s

Die App sieht zwar nicht sonderlich schön aus, funktioniert dafür aber wunderbar. Nachdem ich meinen UPnP/DLNA Server auf dem Mac, ich nutze hier seit Ewigkeiten MediaLink, gestartet hatte, wurde dieser out-of-the-box von AirAV erkannt. Anschließend ‘klickt’ man sich durch die Verzeichnisse und streamt seine Daten aufs iDevice.

Features

  1. Support almost any video formats: WMV, AVI, MKV, RMVB, RM, XVID, MP4, 3GP, MPG…
  2. Support almost any audio formats: MP3, WMA, RM, ACC, OGG, APE, FLAC,FLV…
  3. Support smi, srt, ass, ssa, sub txt subtitle.
  4. support almost all the Media Servers:
    – Mac OS
    MediaShare, TwonkyMediaServer, TVMOBILI, PS3 media server, Majestic, EyeConnect, Vuze, MediaLink, Orb, Playback..
    – Windows
    Win7 Media Player, TVMOBILI, Asset UPnP, FreeMi, XBMC, TVersity, Wild Media Server, TwonkyMediaServer…
    – Linux
    TVMOBILI, FUPPES, MediaTomb ..
    – NAS
    QNAP,Iomega, DS-207+, Synology DS101, DS106J
AcePlayer Plus (AppStore Link) AcePlayer Plus
Hersteller: Rany Yuen
Freigabe: 4+
Preis: 3,49 € Download