o/ (FEB13/19:12)

OpenELEC – Umstieg von USB als Bootdevice auf Netzwerk


Da mein Low-Cost XBMC im Schlafzimmer beim Streamen desöfteren Probleme gemacht hat habe ich mich nun durchgerungen ein Upgrade von OpenELEC 3 auf OpenELEC 5 durchzuführen.

Im Zuge dessen habe ich auch gleich das ganze System vom USB Stick ins Netzwerk verlagert.

Die meisten HOWTOs gehen davon aus, dass jeder Dienst auf ein und derselben Maschine läuft, daher habe ich kurz zusammengefasst welche Einstellungen für meine spezifische Konfiguration notwendig waren.

Netzwerkaufbau

OpenELEC - Meine LAN Struktur für PXE Boot

Router: Linksys WRT54GL mit Tomato Firmware

  • DHCP Server

Fileserver: Ubuntu 11.04

  • TFTP Server
  • NFS Server

NAS: Synology DiskStation DS213j

  • NFS Server

Client: Zotac ZBOX-ID41 (Technische Daten)

  • OpenELEC

OpenELEC Upgrade auf Version 5 und Datensicherung

Vor der Umstellung auf PXE-Boot habe ich OpenELEC auf dem USB Stick noch auf die aktuelle Version aktualisiert. Das Update geht relativ problemlos, muss aber manuell durchgeführt werden.

Ich habe sicherheitshalber zuerst das Update von Version 3 auf Version 4 durchgeführt und dann erst auf Version 5.

Für das manuelle Update müssen aus dem OpenELEC Archiv die Dateien SYSTEM, SYSTEM.md5, KERNEL und KERNEL.md5 in das freigegebene Verzeichnis Update kopiert werden. Nach einem Neustart wird das Update automatisch installiert.

Als das alles erledigt war habe ich mit dem OpenELEC Plugin unter XBMC/Kodi noch ein Backup angelegt um nach der Umstellung die Einstellungen wieder importieren zu können (die Sicherung kann man sich danach aus dem freigegebenen Ordner Backup holen).

Konfiguration DHCP Server

Auf meinem Linksys Router läuft wie bereits erwähnt die Tomato Firmware und somit Dnsmasq. Um Anfragen an den TFTP Server weiterzuleiten reicht schon eine Zeile in der erweiterten Konfiguration, zu finden unter Advanced » DHCP / DNS » Dnsmasq Custom configuration:

dhcp-boot=pxelinux.0,,192.168.0.7

Syntax: Pfad zum Boot-Image, TFTP-Hostname, IP-Adresse des TFTP-Servers

Tomato DHCP Konfiguration

Ich vergebe auch noch gleich eine statische IP Adresse für den Client um später eine spezifische Boot-Konfiguration festlegen zu können bzw. für die NFS Freigabe – da dieser sowieso gerade im Netz ist kann diese unter Status » Device List einfach eingestellt werden. Dazu einfach auf den kleinen Link „[static]“ bei der richtigen Mac Adresse klicken, danach auf „Add“ (wichtig) und abspeichern. Wenn der Rechner gerade nicht im Netz hängt kann die IP auch manuell eingegeben, dafür wird aber die MAC Adresse benötigt.

Tomato DHCP Clients - festlegen einer statischen IP Adresse

Konfiguration NFS auf dem Synology NAS

Die Einrichtung läuft unter DSM 4.3 relativ unkompliziert ab. Zuerst muss NFS aktiviert werden, das erledigt man im Control Panel unter „Win/Mac/NFS“. Im Reiter „NFS Service“ muss nur das Häcken bei „Enable NFS“ gesetzt werden.

Synology DSM: Aktivieren von NFS

Dann lege ich noch im Control Panel unter „Shared Folder“ eine Freigabe an, in meinem Fall nenne ich sie einfach nur „tftp“.

Die Freigabe per NFS wird dann per Rechtsklick auf die neue Freigabe unter Privileges » NFS Privileges aktiviert.

Synology DSM: NFS Berechtigungen Kontextmenü

Die Rechte werden hier nicht nach Benutzernamen vergeben sondern per IP Adressen/Hosts – Zum Testen habe ich die Freigabe fürs ganze Netzwerk gesetzt, daraus ergeben sich bei mir folgende Einstellungen:

Hostname or IP: 192.168.0.0/24
Privilege: Read/Write
Root squash: No mapping
Security: sys
[*] Enable asynchronous
[ ] Allow Connections from non-privileged ports (ports higher than 1024

Synology DSM: NFS Berechtigungen

Wer möchte kann die Freigabe auch noch per Samba den Windows Clients zur Verfügung stellen.

Abschließend habe ich noch schnell ein Unterverzeichnis „xbmc-schlafzimmer“ angelegt, nur für den Fall dass ich später noch andere Clients einbinden möchte. Hier werden dann alle Daten von XBMC/Kodi landen.

Installation/Konfiguration TFTP & NFS auf dem Ubuntu Fileserver

Zuerstmal installieren wir die benötigten Pakete:

sudo apt-get install tftpd-hpa nfs-kernel-server syslinux

Die Boot Images liegen bei mir unter /mnt/storage/tftpboot, das Home Verzeichnis für OpenELEC befindet sich auf dem Synology NAS.

Konfiguration NFS Server

Ich habe nur folgenden Eintrag der Datei /etc/exports angehägt um den vom TFTP Server benötigten Pfad per NFS freizugeben:

/mnt/storage/tftpboot        192.168.0.0/255.255.255.0(ro,async,no_subtree_check,no_root_squash)

Nach der Änderung muss der Dienst mit service nfs-kernel-server restart neu gestartet werden.

Konfiguration TFTP Server

sudo mkdir -m777 /mnt/storage/tftpboot
sudo mkdir /mnt/storage/tftpboot/pxelinux.cfg
sudo cp -p /usr/lib/syslinux/pxelinux.0 /mnt/tftpboot/
sudo mkdir /mnt/storage/tftpboot/openelec-x86_64-5.0.2

In das Verzeichnis /mnt/storage/tftpboot/openelec-x86_64-5.0.2 werden die Dateien KERNEL und SYSTEM aus dem OpenELEC Archiv kopiert, ich habe das auf die Schnelle einfach per WinSCP erledigt.

In der Datei /etc/default/tftpd-hpa muss dann auch noch der Pfad zum TFTP Root angepasst werden, der Inhalt der Datei ist bei mir folgender:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/mnt/storage/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Konfguration des Bootmenüs

Das zu startende Image für die Netzwerkclients wird standardmäßig mit der Datei /mnt/storage/tftpboot/pxelinux.cfg/default festgelegt – um nur OpenELEC zu booten reicht zum Beispiel folgender Inhalt:

# Zotac OpenELEC XBMC/Kodi Client
DEFAULT openelec5
PROMPT 0

LABEL openelec5
KERNEL /openelec-x86_64-5.0.2/KERNEL
APPEND ip=dhcp boot=NFS=192.168.0.7:/mnt/storage/tftpboot/openelec-x86_64-5.0.2 disk=NFS=192.168.0.240:/volume1/tftp/xbmc-schlafzimmer

Hier wird automatisch OpenELEC gebootet – wer mehrere Clients hat kann für jeden auch eine eigene Konfiguration festlegen und per Default ein Bootmenü anzeigen lassen, ich habe zum Beispiel verschiedene Diagnosetools noch im Standardmenü und für den einen Client wird generell nur OpenELEC gestartet wie in dem oben angeführten Beispiel auch.

Nun muss nur noch der TFTP Dienst mit service tftpd-hpa restart neu gestartet werden.

Abschließende Worte

Wenn alle Pfade passen und die Dateien dort sind wo sie sein sollen müsste der PC nun übers Netzwerk mit der richtigen IP Adresse booten und direkt OpenELEC starten. Dann kann das zuvor erstellte Backup rüberkopiert werden und wiederhergestellt werden und alles (ausser dem Boot-Medium) sollte wieder sein wie vorher.

Bei mir hat sich zwar die Bootgeschwindigkeit weder verbessert noch verschlechtert, aber Thumbnails von YouTube werden nun beinahe ohne Verzögerung dargestellt, was ein großer Pluspunkt für mich ist. Wie lange der Bootvorgang dauert ist eher unerheblich, da der PC sowieso immer läuft und dann bei Nichtbenutzung nur noch im Standby ist – hat sich also auf jeden Fall für mich gelohnt.

Weiterführende Links

Icons zum Teil von Freepik und Icons8.


Kommentare


Bisher keine Kommentare...
Sei der Erste und leg los indem Du die Felder unten ausfüllst!


Schreibe einen Kommentar


  1. « s:UI for WildStar – Minimalistic WildStar UI
  2. HOWTO: Stop Acronis Backup from rebooting Windows PE »

OCT1/20:46 - iTunes plays:
The Prodigy - Wild Frontier

Kontakt Impressum Martin Karer 2008-2024