Jul 25 2007
VDR PVR-350 @Mahlzeit-ISO
Hier erscheint im Laufe der (nächsten) Zeit eine aktualisierte Anleitung für die Installation eines VDRs auf Basis einer analogen PVR-350. Stand: 01.04.2008
- Vorwort
- Mahlzeit-ISO 3.2 installieren
- LinVDR Kernelpaket 2.6.21.3 SMP 586 installieren
- Angepaßtes vdr und pvr-spezifische Plugins installieren
- MP3-Wiedergabe ermöglichen
- spezieller mplayer für Ausgabe über ivtv
- Ausgabe von Bildern über das Plugin osdimage
- Probleme und deren Lösungen
1. Vorwort
Eine der ersten VDR-Distributionen die es sich zur Hauptaufgabe gemacht hatten, dem Nutzer einen möglichst einfach aufzusetzenden digitalen Videorekorder zu ermöglichen, war LinVDR. Eine schlichte bootfähige Installations-CD konnte in wenigen unkomplizierten Schritten aus jedem normalen Rechner mit DVB-Karte eine Multimediaplattform machen. Obwohl es sich beim Betriebssystem um Linux handelte, waren keine größeren Linux-Grundkenntnisse notwendig. Leider ist die Entwicklung von LinVDR vor einiger Zeit stehen geblieben. Glücklicherweise zeigt sich genau an dieser Stelle ein wichtiger Vorteil von Open Source. Als Quasi-Weiterentwicklung von LinVDR gibt es nun die „Mahlzeit-ISO 3.2„. Diese basiert zwar immer noch auf LinVDR 0.7, birgt aber zahlreiche Weiterentwicklungen (angepaßter VDR, Kernel 2.6.29.3, VDRAdmin 3.5.0, tvmovie2vdr 0.5.9 u.v.m) von Mitgliedern des VDR-Portals in sich.
2. Mahlzeit-ISO 3.2 für PVR-350 installieren
Die Grundlage für diesen Teil meiner kleinen Anleitung ist der Forenbeitrag „HowTo: PVR350-only auf Basis der mahlzeit-iso 3.2“ aus dem vdr-portal von Dr. Seltsam. Ich habe diese Anleitung um einige eigene Erfahrungen erweitert.
Zunächst muss man die Mahlzeit-ISO herunterladen (Direktlink) und brennen. Die entstehende CD ist bootfähig. Einfach einlegen und den Anweisungen folgen bzw. die Anweisung in dem o.g. Forenbeitrag befolgen.
Da der linvdrupdater nicht im ISO dabei ist, muss er folgendermaßen nachinstaliert werden:
wget http://linvdrupdater.vdrserver.de/download/linvdrupdater-0.2.tar.bz2
tar xjf linvdrupdater-0.2.tar.bz2
mv linvdrupdater-0.2/linvdrupdater.sh /usr/bin
rm -R linvdrupdater-0.2*
3. LinVDR Kernelpaket 2.6.29.3 installieren
Zu diesem speziellen Kernelpaket gibt es ebenfalls einen detailierten Thread im vdr-portal.
wget http://drseltsam.device.name/vdr/linvdr-kernel-2.6.23.9.tgz
tar xvfz linvdr-kernel-2.6.23.9.tgz -C /
ldconfig
Damit man das System bei etwaigen Fehlern dennoch booten kann sicherheitshalber die Datei /boot/grub/menu.lst folgendermaßen anpassen:
title LinVDR (800×600)
root
kernel /boot/vmlinuz vga=0x314 root=/dev/hda1 quiet
savedefault
boot
title LinVDR (800×600) 2.6.20.1
root
kernel /boot/vmlinuz-2.6.20.1 vga=0x314 root=/dev/hda1 quiet
savedefault
boot
4. Angepaßtes vdr und pvr-spezifische Plugins installieren
Nun nur noch den VDR von Toxic-Tonic und die neueren PVR-Plugins herunterladen und entpacken:
wget http://www.vdr-online.org/vdr-1.4.7-ext40-tt-20071129.tar.bz2
tar xfvj vdr-1.4.7-ext40-tt-20071129.tar.bz2 -C /
wget http://drseltsam.device.name/vdr/pvr/vdr-1.4.7-ext40-tt-pvr-plugins.tgz
tar xvfz vdr-1.4.7-ext40-tt-pvr-plugins.tgz -C /
depmod -ae
ldconfig
reboot
5. MP3-Wiedergabe ermöglichen
Zwar gibt es beim VDR mit den Plugins mp3, mp3ng und music vielfältige Möglichkeiten, den VDR auch zum Abspielen von Musikdateien zu bewegen, jedoch haben sie alle einen Haken. Sie funktionieren von Haus aus nicht mit der PVR-350. Alle diese Plugins sind für die Ausgabe über die DVB-Karte ausgelegt. Die PVR-350 benötigt jedoch die Ausgabe über „OSS“. Dafür müssen besagte Plugins speziell kompiliert werden. Außerdem muss das System für die Soundausgabe über die Soundkarte konfiguriert werden:
– in /etc/modules folgendes einfügen:
soundcore
snd-intel8x0
– in /etc/init.d/boot.local folgendes einfügen:
alsa
– in /etc/init.d/runvdr in den start-Teil (Zeile 115) folgendes einfügen:
amixer set Master 90% unmute
amixer set PCM 85% unmute
Hinweise: Die Plugins mp3, mp3ng und music funktionieren mit der PVR-350 nicht, da diese nur für die DVB-Ausgabe kompiliert wurden. Im Plugin-Paket enthalten ist das spezielle Plugin mp3oss. Eine bei mir funktionierende, aber nicht offizielle Version des etwas hübscheren mp3ngoss, kann man bei mir herunterladen und ausprobieren. Auch dieses wurde von Dr. Seltsam aus dem Forum des VDR-Portals bereitgestellt.
6. spezieller mplayer für Ausgabe über ivtv
Für die Nutzung des Ausgabedevices der PVR-350 gibt es eine spezielle mplayer-Version von Dr. Seltsam. Erfreulicherweise hält sich die Prozessorlast meines 1GHz Pentium3 Systemes (45-65%) in Grenzen, so dass eine ruckelfreie Wiedergabe möglich ist. Auch dazu gibt es einen detailierten Thread im VDR-Portal. Hier folgt lediglich eine kleine Kurzanleitung:
wget http://drseltsam.device.name/vdr/mplayer_pvr350.tgz
tar xvfz mplayer_pvr350.tgz -C /
ldconfig
cd /usr/lib/codecs
wget http://www7.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
tar xvfj essential-20071007.tar.bz2
cd essential-20071007
mv * ../
cd ..
rm -r essential-20071007*
7. Ausgabe von Bildern über das Plugin osdimage
Lange Zeit war es für Nutzer der PVR-350 nicht möglich, Bilder über den VDR anzuzeigen. Nun bleibt uns auch dieses Feature nicht mehr verwehrt. Einziger Haken: man darf das Plugin nicht über den normalen Weg laden. Das heißt, es darf nicht in /etc/sysconfig stehen. Vielmehr muss man es durch einen zusätzlichen Eintrag in /etc/init.d/runvdr laden. Einfach die betreffende Zeile suchen und folgendermaßen abändern: …$PLUGINDIR $PLUGINS -P’osdimage -d /pub/images…
8. Probleme und deren Lösungen
- Keine Plugin-Auswahl über setup möglich:
Aufgrund unterschiedlicher API-Versionen einiger Plugins, kann man unter Umständen über setup keine Plugins auswählen. Hier kann man aber auch „von Hand“ vorgehen. Die Plugins stehen alle in der Datei /etc/sysconfig in dem Parameter „PLUGINLIST“. Hier kann man einfach die Namen der Plugins reinschreiben, damit diese geladen werden. Die genauen Namen erhält man, wenn man einen Blick in den Ordner /usr/lib/vdr/plugins wirft. Mein Eintrag lautet folgendermaßen:
PLUGINLIST=“pvr350 pvrinput mplayer mp3oss burn epgsearch skinenigmang vdrrip extrecmenu mp3ngoss nordlichtsepg“. Alternativ kann man die Auswahl der Plugins durch folgenden Trick wieder ermöglichen:
cd /usr/bin
rm vdr
ln -sf vdr-1.4.7-ext40 vdr-1.4.5
ln -sf vdr-1.4.5 vdr - Es kann vorkommen, dass das OSD nach einer Weile nicht mehr erscheint. Der Grund dafür könnte der Linux-Bildschirmschoner sein. Diesen deaktiviert man über einen zusätzlichen Eitnrag in /etc/init.d/rcStart. Vor dem Eintrag „progress 100“ folgendes eintragen:
execute echo -n -e „033[9;0]“ - Das automatische Ausschalten des VDR-Rechners kann man in verschiedenen Konfigurationsdateien beeinflussen. /etc/savepower.netevents und /etc/savepower.netevents sind dafür die richtigen Anlaufstellen. Hilfreich kann es sein, den Eintrag „ssh“ auszukommentieren. Es ist sonst immer wieder ärgerlich, wenn der VDR nach einer gewissen Zeit Inaktivität runterfährt, obwohl man noch über eine ssh-Verbindung darauf arbeiten möchte.
- noad wird nicht automatisch ausgeführt
In der Konfigurationsdatei /etc/vdr/sysconfig den Eintrag
NOADRUN=yes
hinzufügen - Automatisches Stellen der Systemzeit: Da es für LinVDR kein ntpdate gibt, muss man sich eines anderen Programmes bedienen. Dazu einfach folgende Zeilen in die Datei /etc/init.d/rcStart.delayed einfügen:
rdate ptbtime2.ptb.de
hwclock –systohc
Damit wird die Systemzeit nach jedem Start mit einem Server abgelichen und ins Bios geschrieben. Somit ist immer gewährleistet, dass die Systemzeit aktuell ist. - Die Größe der Ramdisk könnte unter Umständen etwas zu klein bemessen sein. Ich hatte zwischenzeitlich Probleme, mit einer vollen Ramdisk, was zu einem Systemabsturz führte. Grund war die Datei sendmail.log, die durch ein etwas zu gesprächiges tvm2vdr zugemüllt wurde. Abhilfe schafft für solche Fälle folgender Befehl in der Datei /etc/init.d/rcStart.delayed:
rm -f /ramdisk/sendmail.log 2>
/dev/null - Ist das System einmal eingerichtet ist es ratsam, ein Backup zu erstellen. Das Script mylinvdr.sh erstellt ein praktisches CD-Image, welches man nach einem Crash einfach wieder einspielen kann. Alle Konfigurationseinstellungen sind dann wieder vorhanden. Das Script kann man folgendermaßen aufrufen:
mylinvdr.sh -miso -oshell
Will man das Script aus dem OSD heraus aufrufen können, fügt man es einfach in der Datei /etc/vdr/commands.conf hinzu. - Wenn das Konfigurieren von Vdradmin über die Konfigurationsdatei /etc/vdradmin/vdradmind.conf Probleme macht (die Konfiguration wird nach jedem Neustart mit den Standardeinstellungen überschrieben), dann ist vdradmin nicht richtig beendet worden. Die zweimalige Eingabe von
killall vdradmind.pl
an der Eingabeaufforderung sollte Abhilfe schaffen. - Funktioniert das WOL nicht auf Anhieb, kann man folgenden Eintrag in die Datei „/etc/init.d/rcShutdown“ einfügen:
ethtool -s eth0 wol g
ifconfig eth0 down - Unter Linux lässt sich mit dem Programm mdadm sehr einfach ein Software-Raid einrichten. Leider fehlte dieses Programm bei der Mahlzeit-ISO bisher. Um dennoch ein Raid erstellen zu können, kann man ein speziell für die Mahlzeit-ISO kompiliertes mdadm bei mir herunterladen und in den Ordner /sbin entpacken. Anschließend lässt sich das Raid nach dieser kurzen Anleitung einrichten. Damit das System das Raid bei jedem Start ordnungsgemäß erkennt muss man den Befehl „mdadm -As /dev/md0“ noch in der Datei /etc/init.d/rcStart vor dem Mounten eintragen.