Debian - mit 2.6.9er / 2.6.10er Kernel für VDR aufsetzen
(→Installation des VDR) |
(→Install-script laden) |
||
Zeile 122: | Zeile 122: | ||
<pre> | <pre> | ||
cd /usr/src | cd /usr/src | ||
− | wget ftp://ftp.cadsoft.de/vdr/Tools/vdr-install-script- | + | wget ftp://ftp.cadsoft.de/vdr/Tools/vdr-install-script-<VERSION>.run |
− | chmod +x vdr-install-script- | + | chmod +x vdr-install-script-<VERSION>.run |
− | + | sh vdr-install-script-<VERSION>.run | |
</pre> | </pre> | ||
script beenden | script beenden |
Version vom 19. Februar 2005, 13:59 Uhr
Einführung
Diese Anleitung soll aufzeigen wie man Debian mit 2.6er Kernel für den VDR installiert, inklusive aktuellem DVB-Treiber und den Bibliotheken, die für Plugins gebraucht werden. Die beschriebene Vorgehensweise funktioniert auch für jeden anderen 2.6er Kernel, "2.6.9" ist durch die Versionsnummer zu erstzen. Die Informationen stammen aus verschiedenen Quellen (u.a. http://www.vdrportal.de) und wurden von Thorsten Gehrig (Thorsten AT Gehrig DOT de) zusammengestellt.
Grundinstallation
Als Basis wird Debian Sarge empfohlen - z.B. den Debian Installer, der direkte Link zur Netzwerk-Installations-CD ist hier.
- Debian normal installieren (2.4.27er Kernel - keine zusätzlichen Pakete auswählen)
- grub in den bootloader
- Hardwareuhr auf gmt
- Keine Softwareauswahl (in tasksel oder aptitude)
- Einen Editor seiner Wahl installieren (z.B. "apt-get install mc" für Midnight-Commander)
/etc/apt/sources.list erweitern um
deb http://non-us.debian.org/debian-non-US testing/non-US main deb ftp://ftp.debian.org/debian testing main contrib non-free
Somit hat die Datei /etc/apt/sources.list folgenden Inhalt:
# Für den 2.6.9 oder 2.6.10er Kernel aus dem unstable Tree deb http://ftp.de.debian.org/debian/ unstable main deb-src http://ftp.de.debian.org/debian/ unstable main deb http://security.debian.org/ stable/updates main deb http://non-us.debian.org/debian-non-US unstable/non-US main # Für Testing und stable deb http://ftp.de.debian.org/debian/ testing main deb-src http://ftp.de.debian.org/debian/ testing main deb http://security.debian.org/ testing/updates main deb http://non-us.debian.org/debian-non-US testing/non-US main deb ftp://ftp.debian.org/debian testing main contrib non-free deb ftp://ftp.debian.org/debian stable main contrib non-free
Damit trotzdem als Voreinstellung die "Testing" Pakete verwendet werden, muss man dies noch in der Datei /etc/apt/apt.conf einstellen:
APT::Default-Release "testing";
Installieren von diversen Paketen:
apt-get update apt-get install dpkg-dev gcc g++ libc6-dev make patch debhelper bzip2 kernel-package sudo apt-get install mc hdparm ssh kernel-package samba cvs wget lynx libtool automake1.9 apt-get install kernel-image-2.6.9-1-686 kernel-source-2.6.9
Hier wird das Image genommen um eine passende .config-Datei für den eigenen Kernel zu haben. Falls der Kernel nicht gefunden wird: bitte prüfen mit apt-cache search kernel-image-2.6
apt-get install libncurses5 libncurses5-dev rcconf dialog setserial
rcconf aufrufen, exim und ppp deaktivieren
diverse Lib´s installieren
libc-client2001-dev wird für den mailbox-client gebraucht, netpbm wird für das Image-Plugin gebraucht.
apt-get install libc-client2001 libc-client2001-dev apt-get install netpbm apt-get install libvorbis-dev libvorbis0a libvorbisfile3 libvorbisenc2 apt-get install libogg0 liboggflac++-dev liboggflac++0c102 apt-get install libdvdnav-dev libdvdnav4 apt-get install alsa-base alsa-source libasound2 libasound2-dev apt-get install libjpeg62 libjpeg62-dev
Für Netze mit eigenem Timeserver oder permanenter Internetanbindung:
apt-get install ntpdate
Anschließend /etc/default/ntpdate editieren und z.b. ntp1.ptb.de eintragen.
acpi-Unterstützung
Wird u.a. zum kontrollierten Herunterfahren durch drücken der POWER-Taste benötigt.
apt-get install acpid
Konfiguration in /etc/acpi/powerbtn.sh
#Inhalt von powerbtn.sh: sende "Power-Taste" an den VDR svdrpsend.pl HITK POWER
VDRAdmin Vorbereitungen
apt-get install libcompress-zlib-perl
ALSA (Soundtreiber)
ALSA kann man grundsätzlich überspringen wenn man nur den Tonausgang der DVB-Karte nutzt (direkt oder mit SPDIF-Slotblende). Wenn man jedoch den Sound über die Soundkarte laufen lassen will (z.B. für das Mp3-plugin) dann muss man ALSA konfigurieren. Falls nicht schon automatisch gestartet: "alsaconf" aufrufen. Danach sollten die entsprechenden alsa-module geladen sein?! ("lsmod" zeigt die geladenen Module an). Der Ton ist aber aus - daher mit "alsamixer" den Ton lautstellen. Danach mit "alsactl store" speichern.
sonstiges
apt-get install hddtemp
(nicht als dienst!) Durch den befehl "hddtemp" kann man nun jederzeit seine Festplattentemeratur überprüfen. Ein guter Platz ist später in der "commands.conf". Nun das System neu starten.
DVB-Firmware runterladen
cd /usr/lib/hotplug/firmware/ wget http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-261d cp dvb-ttpci-01.fw-261d dvb-ttpci-01.fw
Kernel Sourcen auspacken
cd /usr/src tar xjvf kernel-source-<VERSION>.tar.bz2 ln -s kernel-source-<VERSION> linux
Install-script laden
cd /usr/src wget ftp://ftp.cadsoft.de/vdr/Tools/vdr-install-script-<VERSION>.run chmod +x vdr-install-script-<VERSION>.run sh vdr-install-script-<VERSION>.run
script beenden
aktueller DVB-Treiber nachladen
Dieser Abschnitt kann übersprungen werden, wenn die mitgelieferten Kernel-Treiber aktuell sind. Eine eigene/detailiertere Wiki-Dokumentation NUR für den DVB-Treiber gibt es unter DVB Installation 1.1.1 (Kernel 2.6)
cd /usr/local/src cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
Bei Passworteingabe einfach Enter drücken.
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel cd dvb-kernel ./makelinks /usr/src/linux
Kernel configurieren und compilieren
cd /usr/src/linux (kernel-source-2.6.9) make menuconfig
Hier die Option "Load an Alternate Configuration File" auswählen und als Config die Datei /boot/config-2.6.9-1-686 eingeben (je nachdem welchen Kernel man installiert hat - zur not vorher in das /boot-Verzeichniss schauen was zur verfügung steht).
Angeblich verursacht der High Memory Support Probleme mit dem DVB-Treiber, daher schalten wir ihn ab (ist auch nicht wirklich noetig, wer hat schon einen VDR mit > 2GB ):
Processor type and features / High Memory Support (off)
Als naechstes die Einstellungen des DVB-Treiber aendern:
Device Drivers->Multimedia devices->Digital Video Broadcasting Devices->AV7110 cards / [*] AV7110 OSD support
damit das OSD wieder funktioniert. Die restlichen Einstellungen koennen uebernommen werden, oder nach persoenlichem Geschmack geaendert werden.
Die Konfiguration abspeichern und ein neues Kernelimage backen:
make-kpkg kernel_image --revision=dvb.0 --initrd
Das dauert jetzt je nach gewaehlten Einstellungen und Rechner einige Zeit (locker 2 Std). Wenn das Image fertig gebacken wurde, kann es per:
dpkg -i ../kernel-image-2.6.9_dvb.0_i386.deb
installiert werden.
Falls man den Kernel ohne "--initrd" gebacken hat kann man diese so nachträglich erzeugen:
mkinitrd -o /boot/initrd.img-2.6.9 2.6.9
(Danach /boot/grub/menu.lst anpassen! - sollte selbsterklärend sein!)
Jetzt das System neu booten
DVB-Treiber laden
Folgende Dateien sollten vorhanden sein: /dev/dvb/adapter1 (usw).
Ansonsten MAKEDEV-DVB.sh aufrufen:
/usr/local/src/dvb-kernel/MAKEDEV-DVB.sh
Zum Laden der DVB-Treiber gibt es 2 Möglichkeiten: über /etc/init.d/dvb oder über die modules.conf
Ich verwende BEIDE Varianten: beim Hochfahren des Systems lasse ich die DVB-Treiber über die modules.conf automatisch laden. Für das runvdr-script verwende ich "/etc/init.d/dvb reload" um die Treiber neu zu initialisieren!
Variante a) init.d-Datei
Folgende Datei erstellen: /etc/init.d/dvb
# /etc/init.d/dvb: start/setup the DVB drivers set -e PATH=/bin:/usr/bin:/sbin:/usr/sbin loadDrivers () { echo -n "Starting the DVB drivers:" /sbin/modprobe dvb-ttpci hw_sections=0 /sbin/modprobe stv0299 /sbin/modprobe ves1820 #speziell fuer 1.3er dvb-ff karten (ves1x93) /sbin/modprobe ves1x93 echo "." } unloadDrivers() { echo -n "Stopping the DVB drivers:" /sbin/rmmod stv0299 dvb-ttpci ttpci-eeprom saa7146_vv saa7146 video-buf v4l2-common v4l1-compat dvb-core videodev crc32 i2c_core /sbin/rmmod ves1820 2> /dev/null || true /sbin/rmmod firmware_class 2> /dev/null || true /sbin/rmmod budget_ci 2> /dev/null || true /sbin/rmmod budget_core 2> /dev/null || true echo "." } case "$1" in start) loadDrivers ;; stop) unloadDrivers ;; restart) unloadDrivers sleep 1 loadDrivers ;; *) echo "Usage: /etc/init.d/dvb [stop|start|restart]" exit 1 ;; esac exit 0
Dieses Skript nach /etc/init.d/dvb kopieren und executeable setzen (chmod a+x dvb). Dann noch einen Link im Runlevel 2 darauf setzen (cd /etc/rc2.d && ln -s ../init.d/dvb S15dvb). Unter DVB Installation 1.1.1 (Kernel 2.6) gibt es ein vergleichbares Script - bei Problemen kann man auch dort nochmal nachlesen.
Variante b) /etc/modutils/dvb
# DVB-Treiber alias char-major-250 dvb alias char-major-81 videodev alias dvb dvb-ttpci # Vidmode=2 habe ich fuer svideo options dvb-core dvb_shutdown_timeout=0 options dvb-ttpci hw_sections=0 vidmode=2 # Lade DVB-Treiber für FF-DVB-T #options alps_tdlb7 firmware_file=/opt/vdr/share/firmware/SC_MAIN.MC pre-install dvb-ttpci \ /sbin/modprobe input;\ /sbin/modprobe evdev;\ /sbin/modprobe videodev;\ /sbin/modprobe dvb-core;\ /sbin/modprobe ves1x93;\ /sbin/modprobe saa7146;\ /sbin/modprobe saa7146_vv;\ /sbin/modprobe ttpci-eeprom # Lade DVB-Treiber für Nova-DVB-S pre-install dvb-ttpci-budget-ci \ /sbin/modprobe input;\ /sbin/modprobe evdev;\ /sbin/modprobe videodev;\ /sbin/modprobe dvb-core;\ /sbin/modprobe stv0299;\ /sbin/modprobe saa7146;\ /sbin/modprobe saa7146_vv;\ /sbin/modprobe ttpci-eeprom
danach "update-modules" ausführen. Die Treiber werden jetzt automatisch beim Hochfahren geladen.
Jetzt fehlt noch ein Eintrag fuer das sysfs in /etc/fstab.
In der Datei /etc/fstab die Zeile:
sysfs /sys sysfs defaults 0 0
LIRC Installation
Das LIRC müssen wir aus dem CVS holen (damit es mit 2.6er Kerneln kompatibel ist):
cd /usr/src cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lirc login (Passwortabfrage wieder mit enter bestätigten) cvs -z8 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lirc co lirc cd lirc ./autogen.sh ./setup.sh (evtl. Serielle Schnittstelle anpassen - dann "save & run reconfigure") make make install depmod (zum updaten der modulliste)
Zum Testen kann man folgendes eingeben
setserial /dev/ttyS0 uart none (gilt für COM1, sonst anpassen). modprobe -v lirc_serial
es sollte folgende Bildschirmausgabe erscheinen:
#vdr:/etc/init.d# setserial /dev/ttyS0 uart none #vdr:/etc/init.d# modprobe -v lirc_serial insmod /lib/modules/2.6.10/misc/lirc_serial.ko
Nun die Datei "/etc/init.d/lirc" erstellen:
#! /bin/sh # # This is an init script for Debian 2.1 Slink distribution. # Copy it to /etc/init.d/lirc and type # > update-rc.d lirc defaults 20 # test -f /usr/local/sbin/lircd || exit 0 test -f /usr/local/sbin/lircmd || exit 0 case "$1" in start) echo -n "Starting lirc daemon: lircd" setserial /dev/ttyS0 uart none modprobe -v lirc_serial start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --device=/dev/lirc #echo -n " lircmd" #start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd echo "." ;; stop) echo -n "Stopping lirc daemon: " #echo -n " lircmd" #start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd echo -n " lircd" start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd echo "." rmmod lirc_serial rmmod lirc_dev echo "." ;; reload|force-reload) start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircd #start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircmd ;; restart) echo -n "Stopping lirc daemon: lircmd" start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd echo " lircd" start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd sleep 1 echo -n "Starting lirc daemon: lircd" start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --device=/dev/lirc #echo -n " lircmd" #start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd echo "." ;; *) echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}" exit 1 esac exit 0
Anschließend Symbloische Links setzen (damit LIRC automatisch gestartet wird):
update-rc.d lirc defaults 20
Diverse Libs für VDR nachladen bzw. manuell installieren
Anmerkung: ich bevorzuge so viel moeglich die Debian-Libs zu verwenden damit diese mit einem "apt-get dist-upgrade" geupdated werden. Man kann sicherlich die meisten Libs auch per Hand bzw. nstall-Script compilieren - muss sich dann aber selbst um die aktualisierungen kuemmern....
apt-get install libvorbis-dev libvorbis0a libvorbisfile3 libvorbisenc2 apt-get install libdvdnav-dev libdvdnav4 apt-get install alsa-base alsa-source libasound2 libasound2-dev apt-get install libjpeg62 libjpeg62-dev apt-get install libmad0 libmad0-dev (bitstream) apt-get install liba52-0.7.4 liba52-0.7.4-dev (dvd) apt-get install libid3tag0 libid3tag0-dev apt-get install libsndfile1 libsndfile1-dev nasm (mp3-plugin) apt-get install libmagick6++ libmagick++6-dev (text2skin) apt-get install imagemagick apt-get install libcompress-zlib-perl apt-get install libimlib2 libimlib2-dev (u.a. fuer graphlcd-plugin) apt-get install libcrypto++-dev libssl0.9.7 openssl apt-get install ogmtools libcdaudio0 libcdaudio0-dev gozer giblib-dev giblib1 apt-get install fbtv fbset [effectv (f. Deiniterlacer falsch gewünscht)](zur Ausgabe TV auf VGA)
Diese libs per Hand/Installscript herunterladen und kompilieren:
(ich habe sie per Install-Script runtergeladen - aber selbst ausgepackt und installiert... ... ich mag STOW nicht der die sachen in ein eigenes INCLUDE-Verzeichniss kompiliert... - was wann mit dem Install-Script runtergeladen hat findet man unter /usr/local/src/packages wieder)
Achtung: Die Nutzung der libdvdcss ist aufgrund der aktuellen Rechtesprechung in einigen Ländern, darunter Deutschland, rechtlich umstritten. Jeder möge selbst entscheiden, ob er diese Bibliothek mitinstalliert.
libdvdcss 1.2.8 installieren (./configure && make && make install && cd ..)
ffmpeg4.8 installieren
cd $SOURCE (z.B. cd /usr/local/src) cd ffmpeg4.8 ./configure --enable-shared --disable-mmx (für Softedevice noch --enable-pp --enable-gpl) make && make install && cd ..
mpeg2dec-0.4.0b installieren (zu finden als Libmpeg2) (./configure && make && make install & cd ..)
xvidcore-1.1.0 installieren
cd $SOURCE/xvidcore-1.1.0/build/generic ./configure && make && make install ln -s /usr/lib/libxvidcore.so.4.1 /usr/lib/libxvidcore.so.4 (eventuell die Versionsnummern anpassen)
cd $SOURCE (z.B. cd /usr/local/src) divx4linux 20020418 installieren (nur ./install && cd.. ) lame3.96 installieren (./configure && make && make install && cd ..) libsndfile1.0.5 installieren (./configure && make && make install && cd ..) libogg-1.1 installieren (./configure && make && make install && cd ..) libvorbis-1.0.1 installieren (./configure && make && make install && cd ..) libmad-015b installieren (./configure && make && make install && cd ..) libid3tag 015b installieren (./configure && make && make install && cd ..) noad-0.4.2 installieren (./configure && make && make install && cd ..) nvram-wakeup-0.9.7 installieren (make devices && make && make install && cd ..)
Mplayer (apt-get install mpplayer-586) habe ich das Install script installiert:
zuerst Herunterladen "Most recent Links" Paket 1: Mplayer-1.0pre6 Paket 2: Codec, binarys for Mplayer: all Paket 3: Fonts (freie Auswahl) dann Installieren "Select Software and unpack it/bild cmdlist/installation" Zuerst: Codec, binarys for Mplayer Danach: Mplayer 'mp3 + mplayer'
VDRAdmin
vdradmind installieren (dafuer habe ich noch keine schrit-fuer-schritt-anleitung - ich habe einfach eine alte installation uebernommen...)
sonstige Optimierungen des Betriebssystems
Laufwerksparameter für DVD-Laufwerk setzten (Speed wegen Geräusch / hat evtl. Auswirkungen auf Schreibgeschwindigkeit beim Brennen!)
Irgendwo in den Startscripts:
/sbin/hdparm -u1 -d1 /dev/hdc hwclock --systohc = zeit auf hardwareuhr übertragen
Installieren der Smartmontools
apt-get install smartmontools /etc/default/smartmontools: aktivieren
File erstellen: /etc/smartd.conf (nach vorlage)
# -n = nicht testen wen sleep # -m mail an # -H kritische warnung bevor crash # -l selftest - wann soll er sich melden: nach erhhung der fehler nach einem selbsttest # -s selbsttests starten # -s S/../.././02 schnelltest nachts um 2 # -s L/../(01|15)/./22 langer test am 1 und 15. um 22 uhr # -s S/../.././02|L/../(01|15)/./03 # # eMail-Adresse und für welche Laufwerke es aktiv ist muss angepasst werden! # /dev/hda -n sleep -s S/../.././02|L/../(01|15)/./03 -m emailadresse@serviceprovider.net /dev/hdb -n sleep -s S/../.././02|L/../(01|15)/./03 -m emailadresse@serviceprovider.net /dev/hdc -n sleep -s S/../.././02|L/../(01|15)/./03 -m emailadresse@serviceprovider.net
/boot/grub/menu.lst erweitern um Ausschalte-Kontext
title NVRAM-Timer halt
(oder alternativer shutdown-Kontext - siehe nvram-wakeup-readme
Vorbereitungen für DVD Burn
apt-quellen (/etc/apt/sources.list) erweitern:
deb ftp://ftp.heise.de/pub/ct/projekte/vdr/sarge/testing/binary base/ deb ftp://ftp.nerim.net/debian-marillat/ testing main
Installieren:
apt-get install dvd+rw-tools mkisofs apt-get install lame mjpegtools libmjpegtools-dev sox toolame mpeg2dec (nicht libdv-bin) apt-get install libdvdread3 libdvdread3-dev libfame-0.9 libfame-dev libmpeg3-1 libmpeg3-dev apt-get install dvdauthor apt-get install imlib-base imlib-progs imlib1 libimlib2 apt-get install libpopt-dev libsdl-sound1.2-dev (für transcode) apt-get install transcode
Achtung: Die Nutzung der libdvdcss ist aufgrund der aktuellen Rechtesprechung in einigen Ländern, darunter Deutschland, rechtlich umstritten. Jeder möge selbst entscheiden, ob er diese Bibliothek mitinstalliert.
apt-get install libdvdcss2
Installation des VDR
An dieser stelle kann nun der VDR installiert werden. Hierzu gibt es sicherlich viele weitere Anleitungen - und durch das Install-Script (/usr/local/src/VDRtmp/setup) ist die Installation auch sehr einfach.
cd /usr/local/src/VDR make VFAT=1 REMOTE=LIRC mkdir /usr/local/man/man1 mkdir /usr/local/man/man5 make make install
Hier in kürze, die Schritte zu meiner installation:
VDR <VERSION> installieren patch für jump&play (vdr-jumpplay-<VERSION>.diff) Plugins: * dvd-plugin * dvdselect-plugin * image-plugin * mailbox-plugin * mp3-plugin * tvonscreen-plugin * tvtv-plugin * timeline-plugin * burn-plugin
Achtung: Für das mailbox-plugin muss das Makefile (/usr/local/src/VDR/PLUGINS/src/mailbox/Makefile) geändert werden: Zeile 44+45 auskommentieren, Zeile 53+54 aktivieren bzw. Raute-Zeichen (#) entfernen.
Ich wünsche allen viel Erfolg!!!