VDR Installation - next generation open7x0.org Firmware
Aus open7x0.org
Dieser Artikel beschreibt die Installation der open7x0-VDR Firmware Schritt für Schritt.
Inhaltsverzeichnis |
open7x0.org VDR Firmware Installation
Einleitung
Die open7x0.org VDR-Firmware wurde von dem open7x0-Team für die Gigaset Modelle M7x0 von Grund auf neu entwickelt und unterstützt derzeit die beiden Modelle Siemens Gigaset 740AV und 750S. Dabei wird die original Siemens Firmware komplett ersetzt und durch eine eigene Firmware ersetzt. Bei der neuen Firmware wurde der komplette Linux Kernel und die zugrundeliegenden Programme neue übersetzt. Desweiteren wurde aus Performancegründen die Standard shell bash durch die shell ash ersetzt, sowie alle Startscripte von Grund auf neu geschrieben. Mit diesen Maßnahmen konnte die Gesamtperformance des System drastisch gesteigert werden, was sich in einer schnelleren Start-, Ausschalt- und Umschaltzeit bei Kanalwechseln zeigt. Einhergegangen ist mit diesen Maßnahmen allerdings auch eine Inkompatibilität mit der Siemens orginal Wavebox Software und der alten Lemmi Firmware Reihe. Ein Parallelbetrieb ist nicht mehr möglich!
Für Anfänger und fortgeschrittene Benutzer empfehlen wir die VDR Referenzkarte und den VDR Flyer.
Es sein hier noch einmal ausdrücklich erwähnt, dass auf Grund von rechtlichen Gründen das zur Verfügung stellen einer fertigen Firmware nicht möglich ist. Es liegt keine Genehmigung von Siemens/DV vor die "Closed source binary Treiber" frei zu verteilen.
Warnung
Vor dem Einspielen der next generation open7x0.org Firmware ist eine Sicherung des /data Bereichs dringend zu empfehlen. Ohne diesen ist eine Rückkehr zur Orginal Siemens Firmware nicht mehr möglich. Die Verwendung dieser Firmware geschieht auf eigene Gefahr!!
Funktionsumfang
- VDR Version 1.4.7
- Standard Plugins
- Blink - Ermöglicht die Einstellung des Blinkverhaltens der LEDs der Box
- epgsearch - Details im vdr-wiki.
- cridplayer - Erweitert den VDR um einen Player für Aufnahmen die noch unter der Orginal Siemens Firmware erstellt wurden
- filebrowser - Erweitert den VDR um einen simplen Dateimanager Details im vdr-wiki.
- hdspace - A small plugin to check the free space of all video drives and displays a warning or/and send an e-mail if it is below a configured level
- streamdev-server - Erweitert den VDR um die Fähigkeit das TV Signal im Netzwerk zur Verfügung zu stellen Details im vdr-wiki.
- Optionale Plugins
- skinenigmang Erweitert den VDR um ein neues Layout der Benutzeroberfläche Homepage des Plugins
- channelscan - This plugin scans the satellite and updates/appends all found channels to the current channel list Homepage des Plugins
- Unsupported Plugins
Hinweis: Diese Firmware ist optimiert für den VDR und die original Siemens Wavebox Oberfläche wird nicht mehr unterstützt.
Installation
Die Installation vollzieht sich in 4 Schritten, wobei die neue Firmware die vorhandene Siemens Wavebox komplett ersetzt und alle Einstellungen verloren gehen. Ein Paralellbetrieb ist nicht möglich.
- Download des neuen Firmware Sourcecodes und erstellen der neuen Firmware (automatisiert)
- Anpassen der Netzwerkeinstellungen und Netzwerkshares
- Flashen der neuen Firmware
- Anpassen des VDR an persönliche Vorlieben
Vorraussetzungen
- M740AV oder
- M750S
- Windows oder Linux (incl. devel tools e.g make, gcc, svn)
- USB-Stick/Platte
Wichtige Hinweise
Bei der Inbetriebnahme der open7x0.org VDR-Firmware werden die EPG-Daten und der komplette /data Bereich mit den Einstellungen der Wavebox gelöscht. Daher sollte jeder Nutzer vor dem Einspielen der open7x0.org VDR-Firmware manuell eine Sicherheitskopie vom Verzeichnis '/data' anlegen. Diese kann z.B. durch den folgenden Befehl erfolgen, bei denen aber kein anderes Programm laufen sollte:
tar czf /media/xxxxx/data-backup.tar.gz /data
Das 'xxxxx' ist durch den konkreten Zielpfad zu ersetzen. Beim dem ('tar') wird einfach ein Archiv als Kopie erstellt, das bei Bedarf wieder eingespielt werden kann.
BoxAmp Benutzer sollten die Dateien /data/SISAN06.TTF und /data/click.pcm in ihr BoxAmp-Verzeichnis sichern. Künftig wird BoxAmp diese Dateien von dort verwenden.
Schritt-für-Schritt Anleitung
Windows-Benutzer
- Download des Windows Installer Programmes von vdr-ng-firmware RELEASE
- Entpacken der Archives und aufrufen des Installers m7x0-vdr-fwbuilder-XXX (im folgenden ein Beispiel für eine M750S)
- Auswahl des Zielsystems 740av oder M750S
- Auswahl ob die Firmware als wsw-File oder als ofi-File (ausführbar auf der Box incl. Flasher) erstellt werden soll
- Auswahl des Firmware type (1=testing ("stable") 2=andreas-unstable 3=gambler-unstable)
- Auswahl des Netwerkmodus (DHCP/statisch)
- Anpassen der Netzwerkeinstellungen bei statischer IP-Adresse
- Anpassen des Videoverzeichnisses
- Generieren und flaschen der Firmware:
- Generieren der Firmware und übertragen des generierten wsw-Files auf USB-Stick/Platte
- Anschließend über die Update Funktion der orginal Wavebox, oder über das Rescue System (4x Netzstecker ziehen) einspielen
- Generieren der Firmware und übertragen des generierten ofi-Files auf die Box (mit einem FTP Programm nach /var/tmp)
- per Telnet auf die Box und alle Programme mit kill -9 <Prozessnummer> beenden (das Kommando "ps -A" listet dabei alle laufenden Prozess auf). Am Ende sollten dann nur noch die folgenden Prozess auf der Box laufen:
=> ps -A PID TTY TIME CMD 1 ? 00:00:00 init 2 ? 00:00:00 keventd 3 ? 00:00:00 ksoftirqd_CPU0 4 ? 00:00:00 kswapd 5 ? 00:00:00 bdflush 6 ? 00:00:00 kupdated 7 ? 00:00:00 mtdblockd 8 ? 00:00:00 khubd 25 ? 00:00:00 jffs2_gcd_mtd2 41 ? 00:00:00 iic_watchdog 44 ? 00:00:00 insmod 45 ? 00:00:00 insmod 46 ? 00:00:00 insmod 51 ? 00:00:01 usb-storage-0 52 ? 00:00:00 scsi_eh_0 54 ? 00:00:00 insmod 56 ? 00:00:02 dvb_tuner 64 ? 00:00:00 emmatask 65 ? 00:00:02 emmatask 66 ? 00:00:10 emmatask 67 ? 00:00:00 emmatask 91 ? 00:00:00 lircd 108 ? 00:00:00 inetd 115 ? 00:00:00 rc1 116 ? 00:00:00 rc1 134 ttyS0 00:00:00 getty 306 ? 00:00:00 kjournald 357 ? 00:00:00 cifsoplockd 358 ? 00:00:00 cifsdnotifyd 360 ? 00:00:00 cifsd 814 ? 00:00:00 telnetd 815 ttyp0 00:00:00 sh 820 ? 00:00:00 ps 821 ? 00:00:00 grep 823 ? 00:00:00 wc
Achtung! Diese Prozessliste ist irreführend. Auf keinen Fall dürft ihr den Prozess "busybox" killen, auch wenn er hier kurioserweise nicht steht, der stellt nämlich die Telnet-Verbindung bereit.
Des weiteren ist die Kill-Reihenfolge vermutlich wichtig. Bei mir haben sich die vdr-Prozesse respawned und die box rebootete dann irgendwann. Ich vermute das erst dir mgr-* prozesse weg müssen und dann die vdr-Prozesse. Bei den vdr-Prozessen mit der niedrigste n PID anfangen.
Bitte schreibt Euch auf, was ihr in welcher Reihenfolge gekillt habt und trage es dann nach, dann kann diese unsägliche Liste weg.
- das ofi-File aufrufen und flashen mit dem folgenden Befehl "./var/tmp/open7x0.org-mXXX.ofi"
- Nach dem flashen und dem erfolgten Neustart der Box einen Reset der Box durchführen (4x Netzstecker ziehen) und Factory defaults aufrufen
- Nun müssen ggf. noch Anpassungen des VDR über das Menu->Einstellungen erfolgen (z.B. Kanalliste bearbeiten, Sprache wählen, etc.)
Choose gigaset type.
Hardware type (1=m740 2=m750s):2
Choose firmware type.
Firmware type (1=ofi 2=wsw):2
Choose rootfs branch.
Firmware type (1=testing ("stable") 2=andreas-unstable 3=gambler-unstable):1
Download orig firmware.
Unpack orig firmware.
Download o7o-flasher.
Download m7x0-kernel-m750s.
Download list file.
Download rootfs_dir_m750s_testing.
Unpack m7x0-rootfs.
Grab orig cramfs. This may take a while....
1048576+0 records in
1048576+0 records out
8388608 bytes (8.4 MB) copied, 77.561 s, 108 kB/s
Swapping orig cramfs.
Filesystem is big endian, will be converted to little endian.
Filesystem contains 943 files.
CRC: 0xa7a78852
Extract orig rootfs files.
Copy orig blobby modules with mips-linux-uclibc-objcopy.
.
Basic configuration.
Use DHCP (Y / N):n
IP address:192.168.1.10
Subnetmask:255.255.255.0
Hostname:m750s
.
Set video dir
/var/media/:usbdisk
.
Basic configuration completed
.
Now, you have the time to edit additional files in:
temp/rootfs_dir_m750s_testing/etc
Please use a unix compatible editor, don't use notepad!
.
Press any key to continue . . .
Generate new cramfs.
Build final vdr firmware as wsw for m750s.
Done.
Press any key to continue . . .
Festplatten werden unterhalb von /var/media eingebunden. Desweiteren hängt es von der Anzahl der Partitionen ab und ob dem Dateisystem ein Label vergeben wurde. Alle Dateisysteme mit Disklabel werden unterhalb von /var/media gemountet, ohne Label erhalten sie beim ersten mount einen anonymen mount point zu gewiesen, der durchnummeriert wird "disk-volume-": Bsp: Das Dateisystem Label ist "abc". Dann wird das Dateisystem nach /var/media/abc gemountet.Gibt es kein Label und wurde vorher noch nicht gemountet wird nach /var/media/disk-volume-0 gemountet das nächste Dateisystem nach /var/media/disk-volume-1 usw.
- Der wsw-Weg
- Der ofi-Weg
Linux-Benutzer
folgende Pakete werden benötigt:
Debian basierende Paketstruktur
make, automake, gcc, subversion, patch, makeinfo(texinfo), bison, binutils, genext2fs, zlib, zlib-devel bzw. zlib1g, zlib1g-dev,libncurses5-devel, libc6-dev, libmpfr-dev
Fedora
make automake gcc patch texinfo bison binutils e2fsprogs zlib zlib-devel ncurses-devel glibc-devel mpfr-devel gcc-c++ compat-gcc-34 flex
- Ggf. die benötigten Entwicklungspakete nachinstallieren
- Herunterladen der Source aus dem SVN mit svn co svn://open7x0.org/uclibc_build_env/branches/experimental o7o_tc
- cd o7o_tc
- aus dem Verzeichnis o7o_tc/configs, die Datei default-config nach o7o_tc als .config kopieren und für das Modell 740AV oder 750S anpassen (die einzelnen Parameter sind hier erläutert: .config_-_uclibc_toolchain_config_file)
- ggf. Netzwerkeinstellungen (ip, dhcp usw) in buildin/base/common/etc/rc.conf anpassen
- Erstellen der Firmware was je nach System einige Zeit (ca.1H)in Anspruch nimmt durch den Befehl make
- Nach Fertigstellung hat man ein wsw-File und ein ofi-File (ausführbar auf der Box). Es empfiehlt sich das ofi zur Installation zu verwenden. Das ofi beinhaltet einen eigenen FW Flasher und ist besser getestet.
- Der wsw-Weg
- Übertragen des generierten wsw-Files auf USB-Stick/Platte
- Anschließend über die Update Funktion der orginal Wavebox, oder über das Rescue System (4x Netzstecker ziehen) einspielen
- Der ofi-Weg
- Übertragen des generierten ofi-Files auf die Box
- per Telnet auf die Box und alle laufenden Programme wie z.B. "/usr/sbin/webifd", "ash /etc/vdr/runvdr", "/usr/bin/vdr" usw. mit kill - 9 <Prozessnummer> beenden. Nicht beendet werden dürfen die Module "insmod /lib/modules/xxx2".
- Zur Erstinitialisierung mkdir /data/SI (bzw. mkdir /rw-flash/SI falls bereits eine VDR-FW läuft) und umount /data (bzw. umount /rw-flash) durchführen (vorher das Verzeichnis /rw-flash verlassen, sonst klappt umount natürlich nicht: "device busy")
- das ofi-File aufrufen und flashen
- Nach dem flashen und dem erfolgten Neustart der Box einen reset der Box durchführen (4x Netzstecker ziehen) und Factory defaults aufrufen.
Alternative Vorgehensweise für Windows, Linux und MacOSX-Benutzer
Alternativ zu dem generieren der Firmware direkt unter dem benutzen Betriebssystem gibt es auch die Möglichkeit, sich mit Produkten wie VMWare, Xen, QEMU, VirtualBox oder VirtualPC ein virtuelles Linux einzurichten und dort, wie oben beschrieben, die aktuellste Version aus dem SVN zu laden und zu übersetzten. So können auch Windows oder MacOSX-User sich ein an ihrer Bedürfnisse angepasste Firmware erstellen (z.B. die Bash wieder einbauen).
Mehr zum Thema Virtualisierung gibt es in der Wikipedia. Der Artikel Ubuntu VM zum Erstellen einer Firmware aus dem SVN beschreibt die Vorgehensweise am Beispiel eines zum download bereitgestellten virtuellen Ubuntu-Linux.
Update der Firmware
Neue Firmware updates, die auf open7x0.org Angekündigt werden, können auf unterschiedliche Weise eingespielt werden.
- Über das Rescue Menu (4x Netzstecker ziehen) mittels einer wsw-File
- Das wsw-File am besten auf einem USB-Medium ablegen und die Box in den Rescue Modus durch 4x Netzstecker ziehen versetzten. Anschließend den Menupunkt Update from USB DISK auswählen. Nach dem Einspielen der neuen Firmware sollte ein Factory Reset durchgeführt werden (Achtung alle Einstellungen werden überschrieben)
- Über telnet mittels einer ofi-File
- Zum Einspielen einer neuen Firmware über Telnet, am besten das ofi-File in das Verzeichnis /var/tmp kopieren. Anschließend müssen alle laufenden Programme wie z.B. "/usr/sbin/webifd", "/usr/bin/vdr", "ash /etc/vdr/runvdr", etc. über kill - 9 <Prozessnummer> beendet werden. Nicht beendet werden dürfen die Module "insmod /lib/modules/ XXX". Anschließend wechselt man in das Verzeichnis "/var/tmp", macht das ofi-File mit "chmod +x Name des Ofi.ofi" ausführbar und ruft es mit "./Name des Ofi.ofi" auf. Nach dem Einspielen der neuen Firmware sollte auch hier ein Factory Reset durchgeführt werden (Achtung alle Einstellungen werden überschrieben)
- Vor dem Ausschalten des VDR mittels einer ofi-File
- Eine Neuerung der ng-vdr-Firmware ist die Möglichkeit eine neue Firmware vor dem Ausschalten des VDR einzuspielen. Dafür muss die neue Firmware in ofi-File Form vorliegen und nach "/var/tmp" als "new-fw.ofi" kopiert werden. Das ofi-File muss ausführbar sein, also bei einem FTP transfer anschließend noch das Executable bit setzen, oder über telnet an der Box anmelden und in das Verzeichnis "/var/tmp" wechseln und ein "chmod +x new-fw.ofi" ausführen. Beendet man nun den VDR, wird vor dem Ausschalten der Box die neue Firmware eingespielt. Nach dem Einspielen der neuen Firmware sollte auch hier ein Factory Reset durchgeführt werden (Achtung alle Einstellungen werden überschrieben)
Anzupassende Dateien nach der Installation
Die folgenden Dateien müssen bei Bedarf nach der Installation, derzeit noch manuell, an die lokalen Gegebenheiten angepasst werden. Für die Zukunft ist ein Setup-Plugin innerhalb des VDR geplant. Beim bearbeiten der Dateien auf der Box muss man darauf achten, dass diese im UNIX-File Format bleiben. Entweder man bearbeitet die Dateien direkt auf der box mit vi oder aber von einem PC aus mit einem passenden Editor. Das Windows Wordpad ist hierfür nicht geeignet.
- /etc/fstab - um Netzwerkshares direkt beim Start der Box einzubinden
- /etc/rc.conf - um eine statische IP Adresse einzutragen (net=inet für statische IP-Adresse und net=DHCP für DHCP Adresse)
- /etc/vdr/svdrphosts.conf - Konfigurationsdatei des VDR für Netzwerkcomputer die auf den VDR zugreifen dürfen
- /etc/vdr/plugins/streamdevhosts.conf - Konfigurationsdatei für den Streaming-Server
Wichtige Kofigurationsdateien
- /etc/fstab - Netzwerkshares direkt beim Start der Box einzubinden
- /etc/rc.conf - Netzwerkgrundkonfiguration (net=inet für statische IP-Adresse und net=DHCP für DHCP Adresse)
- /etc/rc.local.conf - Setzen des videodirs (z.B. vdr_videodirs="/var/media/video")
- /etc/lircd.conf - Belegung der Fernbedienung (sollte nicht geändert werden)
- /etc/vdr/channels.conf - Konfigurationsdatei für die Kanalliste
- /etc/vdr/keymacros.conf - Konfigurationsdatei für Macors die ausgeführt werden wenn eine Taste gedrückt wird
- /etc/vdr/remote.conf - Konfigurationsdatei für die Tastenbelegung innerhalb des VDR
- /etc/vdr/setup.conf - Konfigurationsdatei des VDR
- /etc/vdr/svdrphosts.conf - Konfigurationsdatei des VDR für Netzwerkcomputer die auf den VDR zugreifen dürfen
- /etc/vdr/plugins/streamdevhosts.conf - Konfigurationsdatei für den Streaming-Server

