So, das wars mit Debian Sarge, weiter gehts mit Debian Etch.
Einführende Worte:
Kann natürlich nicht garantieren, das das mit jeder Karte oder Hardware funktioniert.
Sicherung vor größeren Änderungen sollte man auch machen.
Keine Garantie, dass das System nach Kernelupdate noch funktioniert.
Alten Kernel nicht löschen und sicherstellen, dass Grub oder Lilo den alten Kernel auch noch starten können.
Das ganze ist als Paket zu sehen, möglich das Teile für sich alleine nicht funktionieren.
Kernel:
Benötigtes Werkzeug installieren:
|
Source code
|
1
|
apt-get install build-essential libncurses5-dev dpkg-dev gcc g++ libc6-dev make patch debhelper bzip2 kernel-package sudo
|
Nur für ctvdr5 und ab Kernel 2.6.18 erforderlich:
/etc/apt/sources.list:
|
Source code
|
1
2
|
# backports.org
deb http://www.backports.org/debian/ sarge-backports main
|
|
Source code
|
1
2
|
apt-get update
apt-get -t sarge-backports install kernel-package
|
yaird Paket bauen:
|
Source code
|
1
2
3
4
5
6
7
8
|
cd /usr/src
wget http://ftp.debian.org/debian/pool/main/y/yaird/yaird_0.0.12-18.dsc http://ftp.debian.org/debian/pool/main/y/yaird/yaird_0.0.12.orig.tar.gz http://ftp.debian.org/debian/pool/main/y/yaird/yaird_0.0.12-18.diff.gz
apt-get install cdbs quilt patchutils cdbs dh-buildinfo xmlto
# falls die obrigen Pakete nicht mehr verfügbar, Sourcen von da: http://packages.debian.org/testing/source/yaird
dpkg-source -x yaird_0.0.12-18.dsc
cd yaird-0.0.12
dpkg-buildpackage -tc
dpkg -i ../yaird*.deb
|
für alle weiter:
Ins Build Verzeichnis wechseln:
|
Source code
|
1
|
cd /usr/src
|
Kernel von kernel.org holen:
|
Source code
|
1
|
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.15.tar.bz2
|
Kernel auspacken:
|
Source code
|
1
|
tar xjf linux-2.6.20.15.tar.bz2
|
Nach linux verlinken und ins Verzeichnis wechseln:
|
Source code
|
1
2
3
|
rm linux
ln -s linux-2.6.20.15 linux
cd linux
|
Config von z.B. 2.6.16-ct-1 verwenden:
|
Source code
|
1
|
cp /boot/config-2.6.16-ct-1 .config
|
Makefile anpassen, für einen eindeutigen Namen:
|
Source code
|
1
|
nano Makefile
|
EXTRAVERSION = .15-dvb #(zum Beispiel)
Configurieren des neuen Kernels:
|
Source code
|
1
|
make menuconfig
|
DVB-Treiber kontrolieren:
Device Drivers --->
Multimedia devices --->
Digital Video Broadcasting Devices --->
kontrolieren, und eventuell noch benötigte Treiber mit "M" als Modul hinzufügen.
Framebuffer aktivieren:
Device Drivers --->
Graphics support --->
<*> Support for frame buffer devices
[*] VESA VGA graphics support
Console display driver support --->
<*> Framebuffer Console support
[*] Select compiled-in fonts
[*] VGA 8x8 font
[*] VGA 8x16 font
Logo configuration --->
[*] Bootup logo
Noch ein paar Einstellungen in der .config:
# CONFIG_VIDEO_STRADIS is not set
Kernel kompilieren:
|
Source code
|
1
|
make-kpkg kernel_image kernel_headers kernel_source kernel_doc --revision=dvb.0 --initrd
|
kernel_headers kernel_source kernel_doc kann man auch weglassen. Ist nur interesant, falls man die Sourcen mal löschen will, und danach Änderungen am Kernel vornehmen muß.
Auf ein

gehen
Wenn man mal neu kompilieren muß - nach Änderungen z.B.
Ansonsten nicht ausführen, da sonst Lirc nicht mehr gebaut werden kann.
|
Source code
|
1
|
make-kpkg clean
|
Kernel installieren:
(bei ctvdr5 heisst der Kernel wegen Mischung mit Debian testing
linux-*)
|
Source code
|
1
|
dpkg -i ../kernel-image-2.6.20.15-dvb_dvb.0_i386.deb
|
Kernel deinstallieren (zuvor mit nem anderen Kernel booten) - natürlich nur, wenn man ihn wieder loswerden will
|
Source code
|
1
|
dpkg -P kernel-image-2.6.20.15-dvb
|
Eintrag in Grub sollte automatisch erfolgen.
Ansonsten folgenden Eintrag in /boot/grub/menu.lst hinzufügen:
|
Source code
|
1
2
3
4
5
6
|
title Debian GNU/Linux, kernel 2.6.20.15-dvb
root (hd0,0)
kernel /boot/vmlinuz-2.6.20.15-dvb root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.20.15-dvb
savedefault
boot
|
Falls lilo verwendet wird /etc/lilo.conf ändern und danach lilo aufrufen:
|
Source code
|
1
2
3
4
5
6
|
image = /boot/vmlinuz-2.6.20.15-dvb
label = Linux-26
root = /dev/hda1
initrd = /boot/initrd.img-2.6.20.15-dvb
append = "apm=power-off noapic acpi=off"
read-only
|
Firmware laden / aktualisieren von
linuxtv.org:
Andere Firmware siehe
VDR-Wiki.
|
Source code
|
1
2
3
|
cd /usr/lib/hotplug/firmware/
wget http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
ln -sf dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw
|
Eventuell auch etwas mit
vdr-wiki kombinieren, bzw querlesen.
Falls nur Kernel 2.4 installiert ist:
Für 2.6er Kernel erforderlich:
|
Source code
|
1
|
apt-get install module-init-tools
|
Debian Sarge pur:
/dev/dvb mit folgenden Script anlegen.
devdvb-erstellen:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/sh
rm -rf /dev/dvb/adapter*/*
device=0
for card in `seq 0 3`; do
mkdir -p /dev/dvb/adapter${card}
device=`echo $card \* 64 | bc`
for dev in video audio sec frontend demux dvr ca net osd; do
mknod /dev/dvb/adapter${card}/${dev}0 c 212 $device
chmod 0660 /dev/dvb/adapter${card}/${dev}0
chown root:video /dev/dvb/adapter${card}/${dev}0
let device=device+1
done
done
|
Für meine TT FF DVB-C 2.1 Karte ist es nicht notwendig, ein
Ladescript zu erstellen, könnte bei anderen Karten erforderlich sein.
Falls die Module nicht automatisch geladen werden kann man diese auch in /etc/modules eintragen und danach
update-modules aufrufen. Sollte man aber nur dann machen wenn es nicht automatisch klappt.
LIRC:
Es muß bereits der neue Kernel laufen zum kompilieren.
Anleitung für die Verwendung eines einfachen Empfängers am COM Port.
Für USB oder sonstige Hardware entsprechend ändern.
Benötigte Pakete holen
|
Source code
|
1
|
apt-get install autoconf libtool automake1.9 help2man man2html setserial dialog
|
Bei setserial config:
Welche Art der automatischen Port-Konfiguration? auf "autosave once" stehen lassen.
Danach die Datei /var/lib/setserial/autoserial.conf bearbeiten:
|
Source code
|
1
2
|
/dev/ttyS0 uart none
/dev/ttyS1 uart none
|
Falls man die 2. serielle Schnittstelle für etwas anderes benötigt, eventuell nur Eintrag für die Com Schnittstelle erstellen an der der LIRC-Empfänger angeschlossen ist.
Sourcen holen:
|
Source code
|
1
2
|
cd /usr/src
wget http://mesh.dl.sourceforge.net/sourceforge/lirc/lirc-0.8.1.tar.bz2
|
Auspacken
|
Source code
|
1
2
3
|
tar xjf lirc-0.8.1.tar.bz2
cd lirc-0.8.1
./setup.sh
|
Konfigurieren:
1 Driver configuration
1 Home-brew (16x50 UART compatible serial port)
(X) 1 COM1 (0x3f8, 4)
( ) 2 COM2 (0x2f8, 3)
Je nachdem wo Hardware angeschlossen ist.
[ ] 1 With transmitter diode
[X] 2 Software generated carrier
[ ] 3 Igor Cesko's variation
Weiter mit
3 Save configuration & run configure
|
Source code
|
1
2
3
|
make
cd drivers # Wir brauchen nur die Treiber, die funktionieren auch noch mit lirc 0.8.1
make install
|
Lirc installieren, falls noch nicht geschehen:
|
Source code
|
1
|
apt-get install lirc
|
Die Datei /etc/lirc/hardware.conf muß noch angepasst werden:
|
Source code
|
1
2
3
4
|
LOAD_MODULES=true
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_dev lirc_serial"
|
Bitte kontrolieren, ob nach laden der Treiber wirklich /dev/lirc0 angelegt wurde.
Lirc selber muß natürlich auch konfiguriert werden.
Dies ist aber z.B.
bei Heise schon gut beschrieben.
CDFS:
Variante1 (kompiliert derzeit nicht):
Benötigte Sachen holen:
cdfs-src holen wir von Debian Sid, da das Paket von Sarge zu alt ist.
|
Source code
|
1
2
3
|
apt-get install module-assistant
wget http://ftp.de.debian.org/debian/pool/main/c/cdfs-src/cdfs-src_2.4.20.a+2.6.18-1_all.deb
dpkg -i cdfs-src_2.4.20.a+2.6.18-1_all.deb
|
Bauen des Paketes:
|
Source code
|
1
|
module-assistant
|
UPDATE - kann nicht schaden
PREPARE - falls noch Pakete fehlen sollten
SELECT - zur Auswahl, was gebaut wird.
[X] cdfs shows the tracks on a CD as normal files
BUILD - baut das Paket, anschliesend gleich INSTALL laufen lassen - fertig.
Variante2:
|
Source code
|
1
2
3
4
5
6
|
cd /usr/src
wget http://trappist.elis.ugent.be/~ronsse/cdfs/download/cdfs-2.6.19.tar.bz2
tar xjf cdfs-2.6.19.tar.bz2
cd cdfs-2.6.19
make
make install
|
Integration ins System (für beide Varianten gleich)
Um es im VDR Nutzen zu können muß es noch in diverse Dateien integriert werden.
Die /etc/fstab um diese Zeile ergänzen und /dev/hdX anpassen:
X durch entsprechendes Laufwerk ersetzen!
|
Source code
|
1
|
/dev/hdX /cdfs cdfs ro,noauto,user 0 0
|
In /etc/modules "cdfs" eintragen (ohne "")
Danach /cdfs anlegen:
|
Source code
|
1
2
|
mkdir /cdfs
chmod 777 /cdfs
|
Um jetzt eine Audio-CD abspielen zu können, muss in der mp3sources.conf u.a. folgende Zeile stehen:
|
Source code
|
1
|
/cdfs;Audio-CD;1;*.wav
|
HG-Treiber:
Bei Auswahl der DVB Module im Kernel sind die HG Treiber nicht notwendig, ausser die Karte ist zu neu für den aktuellen Kernel.
In /etc/apt/sources.list folgende Zeile ergänzen:
|
Source code
|
1
|
deb http://www.backports.org/debian/ sarge-backports main
|
Paketquellen updaten nach Änderung in sources.list:
|
Source code
|
1
|
apt-get update
|
Installieren von mercurial für den Zugriff auf linuxtv.org
backports.org in der sources.list wieder auskomentieren oder löschen.
|
Source code
|
1
|
apt-get -t sarge-backports install mercurial
|
Mercurial Treiber Sourcen besorgen:
|
Source code
|
1
2
|
cd /usr/src
hg clone http://linuxtv.org/hg/v4l-dvb
|
Treiber anpassen:
|
Source code
|
1
2
|
cd /usr/src/v4l-dvb
make menuconfig
|
Alle Module was man nicht braucht abwählen, dann kompiliert er schneller.
Oder man hat Zeit und baut alles.
|
Source code
|
1
2
3
|
make
#oder
make all
|
Danach noch installieren:
|
Source code
|
1
|
make install
|
Sollte man mal neu bauen wollen vorher aufräumen:
|
Source code
|
1
|
make clean
|
Sehr wenig getestet, mein bevorzugter Weg ist der mit den Kernel eigenen Treibern.
Bitte dazu auch
im Wiki nachlesen.
ivtv-Treiber:
Wollte aus gegebenen Anlass ja noch ne ivtv Anleitung dazumachen.
Das ist aber so einfach, dass ich nur auf das ivtv Wiki verweise.
http://ivtvdriver.org/index.php/Howto
16.06.2006 - Änderung auf Kernel 2.6.16.20
17.06.2006 - Hinzufügen der HG Treiber Sektion.
[...]
08.06.2007 - Änderung auf Kernel 2.6.20.15