User Tools

Site Tools


mld:tutorials:installation_raspberry_als_server

This is an old revision of the document!


Installation Raspberry Pi als Headless-Server

04.2014 eingeschränkter Erfolg

Die Fragen, die während der Projektphase aufgetreten sind findet ihr im MLD-Forum

Hier wird beschrieben, wie ihr euch einen Headless-Server bastelt auf Grundlage eines Raspberry PI. Das Ziel wird sein, ein robuster, stromsparender VDR Server, der im Keller oder Dachboden liegen kann und euer LAN mit den Streams versorgt. Wenn der Server läuft, werde ich noch ein paar mögliche Clientlösungen, die ich selber einsetze, beschreiben.

Die Anforderungen an das Projekt sind:

  • 24 Stunden Betrieb
  • möglichst geringer Energieverbrauch
  • keine beweglichen Teile
  • TT-connect S2-3600 USB
  • TerraTec Cinergy S2 USB
  • streaming in das LAN
  • EPG Search
  • Timer
  • VDRAdmin-AM
  • Aufnahmen sollen per NFS auf einer USB-HD an einer Fritzbox gespeichert werden

Da der Raspberry im Speicher betriben wird, soll die Festplatte für die Aufnahmen an einem andren Ort sein. Wenn eine Fritzbox vorhanden ist, bietet sich diese natürlich an. Die Fritzbox kann kein NFS mit original Firmware von AVM. Entweder muss es ein NAS sein, welches NFS kann oder eine modifizierte Firmware.

Hardware

Vorbereitung zur Installation

Ich habe mich zuerst dafür entschieden, das MLD-4.0.0-rpi_simple_2014.03.29-51 zu benutzen. In dem Simple Archiv sind nur die nötigsten Pakete dabei und Netzwerkunterstützung.

Gehäuse und Kühlkörper

Der Zusammenbau stellt kein Problem dar, alle Komponenten passen einwandfrei. Der große der drei Kühlkörper wird auf den SOC geklebt, das ist der große Chip in der Mitte. Ein kleiner Kühlkörper kommt auf den Chip für den Ethernet / USB -Controller Chip, direkt hinter den USB-Anschlüssen. Der dritte Kühlkörper kommt auf den Spannungswandler zwischen dem HDMI Anschluss und dem USB-Power Anschluss. Der Kühlkörper ist eigentlich etwas zu groß, das macht aber nichts, er steht ein bisschen an den Rändern über. Danach wird der RasPi in das Gehäuse gepackt.

erster Start mit MLD

Die SD-Karte wird an einem PC mit FAT32 formatiert. Das Image haben wir uns oben herunter geladen, jetzt wird jetzt entpackt. Der Inhalt des Archives sollte dann ungefähr so aussehen:

  • bootcode.bin 24.03.2014 21:27 17.824
  • cmdline 24.03.2014 21:27 72
  • config.txt 24.03.2014 21:27 130
  • COPYING 24.03.2014 21:27 26.430
  • fixup.dat 24.03.2014 21:27 5.786
  • initrd 24.03.2014 21:27 2.406.845
  • kernel 24.03.2014 21:27 2.992.984
  • opkg 29.03.2014 12:31 <DIR>
  • start.elf 24.03.2014 21:27 2.534.264
  • VERSION 24.03.2014 21:27 14

Den entpackten Inhalt dieses Archives KOPIERT ihr auf die SD-Karte. Dazu braucht ihr keine Software (wie unetbootin oder yumi o.Ä.). Das funktioniert nur mit SD-Karten, die eine FAT32 Partition enthalten. Unter Windows ist das immer so, jedoch wird die Installation später die Partitionen verändern, so dass ihr dafür sorgen müsst, dass bei einer evt. neuen Installation nach diesem Prinzip auf eine bereits benutzte SD-Karte wieder nur die eine FAT32 Partition ist.

Die SD-Karte stekt ihr jetzt in den RasPi. Verbindet den RasPI mit eurem LAN. Steckernetzteil anschließen. RasPi bootet.

Die TerraTec Cinergy S2 USB hat eine eigenen Stromversorgung, für diesen Receiver braucht man nicht zwingend einen aktiven USB-Hub.

Der RasPi ist so konfiguriert, dass er per DHCP eine Adresse zugewiesen bekommt. Schaut auf eurem Router nach, welche das ist. Bei einer FritzBox findet ihr das in dem Menu “Heimnetz - Netzwerk”, wenn dort ein PC mit dem Namen “MLD_SERVER” steht, findet ihr seine IP rechts davon.

Damit ihr auf das MLD auf dem RasPi drauf kommt, benutzt ihr jetzt einen SSH-Client (der Zugang via SSH ist auf dem Image bereits voraktiviert), PuTTY ist eine gute Wahl. In der “PuTTY Configuration” braucht ihr nur die IP Adresse in das Feld “Host Name (or IP adress)” eintragen und auf “open” klicken. Bei der ersten Verbindung müsst ihr den Serverkey bestätigen, danach seht ihr im Terminalfenster:

login as:

Der Benutzer, mit dem ihr euch einloggen könnt ist “root”, das Passwort ist auch “root”

login as: root
root@192.168.222.61's password: root
BusyBox v1.22.1 (2014-03-07 14:28:47 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
MLD>

MLD auf die SD-Karte installieren

Der erste Schritt ist, dass ihr das Image (aktuell läuft das alles aus dem Speicher) auf die SD-Karte installiert. Das macht ihr mit dem Befehl

MLD> install

start installation
partitioning disk mmcblk0 
format disk mmcblk0p1 
format disk mmcblk0p2 
install system on mmcblk0p2 
write boot files on mmcblk0p1 
Installation completed 

Dann hat alles funktioniert. Also dann Reboot und das neue System starten.

MLD konfigurieren über das Webinterface

Als nächstes verbindet ihr euch auf die Weboberfläche mit http://eure-IP

Hier stellen wir ein paar Parameter ein, diese werden in der Datei rc.config gespeicher. FIXME Falls jemand weiß, wie ich die Konfiguration über die Kommanozeile neu einlese, soll er das bitte hier dokumentiern, so dass man das WebIf nicht mehr braucht :-)

Schaltet DHCP benutzen aus und gebt dem Raspi eine feste IP-Adresse. Das war es, das WebIf brauchen wir jetzt nicht mehr.

Tipp: Um mal schnell eine zweite temporäre IP-Adresse für euer MLD zu benutzen (weil vielleicht das NAS in einem anderen Netz ist) könnt ihr das über die Kommandozeile mit dem Befehl machen:

ifconfig eth0:tempIP 192.168.1.1 up

MLD konfigurieren über das SSH Terminal

Wir brauchen ein paar Pakete und andere fliegen raus:

opkg remove webserver
opkg remove psplash
opkg install tools
opkg install mc
opkg install ntp-client
opkg install dvb
opkg install nfs-client
opkg install vdr
opkg install vdr-plugin-streamdev-server
opkg install vdr-plugin-epgsearch
restart vdr

Wenn ihr VDR installiert, müsst ihr noch die für euch passende Kanalliste aussuchen, ich wähle: DVD-S-S19.2E-Astra-FTA-DE-HD

Das Herunterfahren des VDR kann man verhindern (24 Stundenbetrieb), indem ihr den VDR stoppt und in der Datei /etc/vdr/setup.conf die Werte auf 0 ändert.

MinEventTimeout = 0
MinUserInactivity = 0

Danach den VDR wieder starten.

Konfiguration testen

Zum Streamdev Server testen, gebt ihr die Adresse des RasPi in einen Browser ein und den Port 3000. Dort solltet ihr nun die Kanalliste sehen.

http://meine-IP-Raspi:3000

Klickt mit rechts auf einen Sender und kopiert euch die URL in die Zwischenablage. Mit VLC könnt ihr schon mal schauen, ob ein Fernsehbild gestreamt wird. Dazu öffnet ihr VLC und klickt im Menu auf “Medien” –> “Netzwerkstream öffnen…”, dort fügt ihr die URL aus der Zwischenablage ein. Kommt ein Bild? → Dann ist alles Gut.

Jetzt könnt ihr testen, ob eine Aufnahme auch tatsächlich auf dem NAS gespeichert wird. Dazu könnt ihr temporär die NFS-Freigabe direkt auf das VZ data mounten. Die Freigabe hier im Beispiel heißt “NFS”. “mount IP-Adresse-NAS:/Freigabenamen-NAS /mnt/data/tv” Bsp:

mount 192.168.1.2:/NFS /mnt/data/tv

Dann startet ihr eine Aufnahme, da wir ja keinerlei Frontend haben, machen wir das zum Testen direkt über SVDRP. Dazu könnt ihr auch Putty verwenden. Öffnet eine neue Sitzung. Der Host ist euer RasPi, der Port ist 6419 und das Protokoll RAW.

Mit dem Kürzel: NEWT wird ein neuer Timer erstellt:

1:19:4:2010:2150:51:50:Testaufnahme NAS:

aktiv:Kanalnummer:Tag_des_Monats:Startzeit:Endzeit:Priorität:Dauerhaftigkeit:Titel:

wird die auf dem NAS gespeichert, ist so weit alle OK und wir können das NAS in der /etc/fstab mounten. Dadurch wird das NAS automatisch beim Starten gemounted. Dazu die Zeile ganz unten in der /etc/fstab einfügen (z.B. mit mc und Datei bearbeiten):

192.168.1.2:/NFS /mnt/data/tv nfs rw 0 0

Steuerung des VDR

Momentan benutze ich AndroVDR unter Android - VDR-Manger wäre auch noch möglich, aber da finde ich das Plugin für MLD nicht.

Fernseh schauen mit einem Android Tablet/Handy oder PC

Ihr könnt mit VLC so ziemlich überall Fernsehen, aber am besten ist das geeignet, wenn ihr mit einem Android Tablet schauen wollt. Ich empfehle euch VLC oder meiner Meinung besser, weil stabieler (aber nicht kostenfrei) vPlayer. Aufnahmen könnt ihr euch auch unter Android anschauen. Das Problem ist, dass die meisten Dateimanger die Aufnahmen im Netzwerk herunterladen wollen. Mit dem “Filemanger” könnt ihr sie aber auch streamen (da kommt der Dialog “öffnen mit…”) mit VLC oder vPlayer ;-)

Das bittere Ende

Leider bin ich bis jetzt gescheitert, einen RasPi so einzurichten, dass eine ruckelfreie Benutzung mit mehr als einem Receiver möglich wäre. Dies liegt verutlich daran, dass beim RasPi der Controller für USB und Ethernet auf einem Chip sind.

Bisher ist es auf diese Weise möglich HD-Fernsehen im LAN anzuschauen oder aufzuzeichnen. Natürlich fehlt auch noch eine Oberfläche das alles zu bedienen. vdradmin-am ist nicht gut für den Raspi geeignet, hier suche ich noch eine alternative

Das Problem scheint zu sein, sobald der Ethernet Controler / USB Hub zu stark belastet wird (dort hängen ja die Receiver per USB dran und das Netzwerk. Was bedeutet, die Daten kommen per USB an, werden verarbeitet und gehen über Ethernet raus), kommt es zu Aussetzern.

Wenn ihr den RasPi ausschalten wollt, macht ihr das über das SSH Terminal mit dem Befehl: poweroff

mld/tutorials/installation_raspberry_als_server.1396687751.txt.gz · Last modified: 2014/04/05 04:49 (external edit)