In einem Anflug von Unternehmungslust habe ich angefangen,
den vdr-az (siehe Sig) vom ct-vdr-3 auf ct-vdr-4 umzustellen.
Und wenn, dann auch gleich richtig: vdrdevel mit Kernel 2.6.12.
Nachdem alles soweit lief, wie ich wollte, blieb als (bisher) letzte Aufgabe,
das Bild mittels fbtv auf den per DVI angeschlossenen TFT zu zaubern,
da Bundesliga sehen und Aufnahmen schneiden auf der PSone wahrlich kein Vergnügen sind.
Das ist dann doch etwas umfangreicher geworden.
Da es aber jetzt läuft und ich noch keine detaillierte Anleitung im Portal gefunden habe,
verfasse ich halt selbst mal wieder eine.
Vorab:
Man (oder Frau) braucht einen relativ dicken Draht vom VDR zum Internet,
weil da einige MB über die Leitung gehen werden.
1. Voraussetzung
eine Grafikkarte, die Framebuffer-fähig ist.
Dafür gibt es das Programm hwinfo
vdr-az:~# apt-get install hwinfo
vdr-az:~# hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.404]
Unique ID: rdCR.PFaST+9_41E
Hardware Class: framebuffer
Model: "Matrox G550"
Vendor: "Matrox"
Device: "Matrox G550"
SubVendor: "Matrox Graphics Inc."
SubDevice:
Revision: "00"
Memory Size: 32 MB
Memory Range: 0xfc000000-0xfdffffff (rw)
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0310: 640x480 (+1280), 15 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0313: 800x600 (+1600), 15 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0316: 1024x768 (+2048), 15 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x0319: 1280x1024 (+2560), 15 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
Alles anzeigen
2. Repository
Wenn das geklärt ist, muss das Repository angepasst werden.
Meins sieht so aus: /etc/apt/sources.list
# public servers (sarge=testing as of yet (Oct 2004)
deb [URL]http://ftp.de.debian.org/pub/debian[/URL] sarge main contrib non-free
deb [URL]http://ftp.de.debian.org/pub/debian-non-US[/URL] sarge/non-US main
# Mirror of Security updates for "sarge"
# not available as of yet (Oct 2004)
deb [URL]http://security.debian.org/[/URL] sarge/updates main contrib non-free
# Tobi's Multipatch-Repository
deb [URL]http://e-tobi.net/vdr-testing[/URL] sarge base backports addons vdr-multipatch
deb [URL]http://e-tobi.net/vdrdevel-experimental[/URL] sarge base backports addons vdr-multipatch
# c't-Repository online Variante (sarge)
deb [URL]ftp://ftp.heise.de/pub/ct/projekte/vdr/sarge/testing/binary[/URL] base/
# Christian Marillats Repository fuer einige Multimedia-Bibliotheken
deb [URL]ftp://ftp.nerim.net/debian-marillat/[/URL] sarge main
# Sourcen
deb-src [URL]http://e-tobi.net/vdrdevel-experimental sarge[/URL] base backports addons vdr
deb [URL]http://www.heise.de/ct/ftp/projekte/vdr4[/URL] experimental/
Alles anzeigen
Danach die Pflichtübung:
3. Kernel-Sourcen holen und anpassen
Und dann kann es richtig losgehen.
Zuerst mal holen wir uns alles, was wir so brauchen:
vdr-az:~# apt-get install kernel-source-2.6.12-ct-1
vdr-az:~# apt-get install kernel-headers-2.6.12-ct-1
vdr-az:~# apt-get install build-essential
Ob die kernel-headers wiklich gebraucht werden, weiss ich nicht.
Geschadet haben sie aber nicht.
Danach sollte es eine Datei /usr/src/kernel-source-2.6.12-ct-1.tar.bz2 geben,
die ausgepackt werden muss:
Und das entstandene Verzeichnis wird aus alter Tradition gleich verlinkt und zum Working Directory:
vdr-az:/usr/src# ln -s /usr/src/kernel-source-2.6.12-ct-1 /usr/src/linux
vdr-az:/usr/src# cd linux
Als Ausgangspunkt für alle Versuche nehmen wir die in /boot gespeicherte Konfiguration.
Die passt zwar nicht zum derzeit installierten Kernel, ist aber besser als nix
vdr-az:/usr/src/linux# cp /boot/config-2.6.12-rc4-ct-2 .config
vdr-az:/usr/src/linux# make menuconfig
An dieser Stelle hat er sich über irgendwelche fehlenden ncurses-Bibliotheken beschwert.
Und ich weiss nicht mehr, welche ich genau per apt-get nachinstalliert habe.
Jedenfalls habe ich dann in der Konfiguration die Framebuffer-Einträge geändert.
Device Drivers ---> Graphics Support ---> Matrox Acceleration von M (wie Modul) auf * (wie fest einkompiliert)
Device Drivers ---> Graphics Support ---> Console Display Driver Support ---> Framebuffer Console Support auch von M auf *
Device Drivers ---> Graphics Support ---> Logo configuration ---> Bootup logo auf *
Dann die neue Konfiguration gesichert.
4. Kernel und Module übersetzen
Jetzt noch in der /usr/src/linux/Makefile
EXTRAVERSION = -thc-1
eingetragen und die Übersetzung gestartet:
Wenn das fertig ist, sind die Module dran
Das dauert ziemlich lange, selbst auf einem schnellen System.
Wer eine andere EXTRAVERSION verwendet, muss natürlich weiter unten die Dateinamen anpassen.
5. Installation
Jetzt muss alles installiert werden, zuerst die Module:
Danach kommt der Kernel samt Konfiguration dran:
vdr-az:/usr/src/linux# cd /boot
vdr-az:/boot# cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.6.12-thc-1
vdr-az:/boot# cp /usr/src/linux/.config config-2.6.12-thc-1
vdr-az:/boot# cp /usr/src/linux/System.map System.map-2.6.12-thc-1
Ob man die System.map wirklich mit kopieren muss, weiss ich auch nicht.
Hat aber ebenfalls nicht geschadet.
Dann noch das Init-RAM-Disk-Image erzeugen:
vdr-az:/boot# apt-get install mkinitrd
vdr-az:/boot# mkinitrd -o initrd.img-2.6.12-thc-1 2.6.12-thc-1
6. Konfiguration
Das Entscheidende ist jetzt geschafft,
fehlt nur noch die Boot-Konfiguration in der /boot/grub/menu.lst
Dort habe ich unter
## altoption boot targets option
meinen Framebuffer eingetragen:
# altoptions=(Framebuffer) video=matroxfb:vesa:0x11B
Datei gespeichert und grub aktualisiert
Dann solte man sich die menu.lst tunlichst ansehen,
wo der bisherige Default-Kernel gelandet ist und diesen wieder einstellen,
bei mir:
default 3
Noch mal update-grub aufrufen und dann kann man prima testen,
da ja grub das Ändern der Konfiguration beim Booten zulässt:
Bei mir fehlte jetzt irgendwas für den lirc, was mir persönlich aber z. Zt. egal ist,
da dieser VDR ständig eine Tastatur hat.
Wenns dafür eine Lösung gibt, bitte mitteilen, irgendwer kanns bestimmt gebrauchen.
Hinweis: Es gibt wohl Extra-Sourcen für lirc.
Wenn alles läuft, kann man den Default-Kernel fest auf den neuen mit Framebuffer einstellen.
Bei mir kommt jedenfalls jetzt der Tux in der oberen linke Ecke,
gefolgt vom Bootvorgang in 1280*1024*32 Auflösung.
Jetzt noch schnell
und ich konnte am Monitor wieder fernsehen.
Gruß
Claus
Änderungen:
2005-10-20 Sicherung der Kernel-Konfiguration und Layout