GENTOO - VDR Installation ohne Ebuilds

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemeines

wird zur Zeit überarbeitet

Gentoo + Kernel 2.6.14 + cvs DVB - Treiber + Lirc + vdr-1.3.37

Distribution: Gentoo
Kernel: 2.6.14-gentoo-r5

Diese Anleitung ist für eine Stage 1 Installation.
Für eine Stage 3 Installation befolgt man die Anweisungen des offiziellen Handbuchs.

Voraussetzung: Gentoo Image runter geladen und auf CD gebrannt
(ich bevorzuge das Universal Image. Kann man hier runterladen)
Auf der Festplatte wird nur Linux installiert.
Quellen: co-pro.de gentoo.de vdrportal.de

Anmerkungen: 1 Zeile = 1 Befehl, wird mit Enter bestätigt
Getestet mit Homebrew IR Empfänger an Com 1 und Hauppauge NEXUS S

Gentoo installieren

Von CD booten. Bei den Boot-Parametern einfach Enter drücken.
Bei Bedarf von zusätzlichen Boot-Parametern, kann man mit den Funktionstasten F2 bis F6 durch verschieden Parameterseiten durch blättern
Wenn der Bootsplash erscheint Alt + F1 drücken.
Danach Zahlencode 10 eintippen (für deutsches Tastaturlayout)

Befehle bis hier:
Enter
Alt+F1
10 dann Enter

Nun befindet man sich in der Shell


Festplatte partitionieren

Mit

fdisk /dev/hda

oder

cfdisk

wird die Festplatte am IDE 0 Master partitioniert. Mit einem kurzen Blick auf die vorhanden Partitionen (p drücken), werden diese dann gelöscht. Das löschen der Partitionen geschieht durch drücken von d, der Auswahl der Partition 1 wird diese dann gelöscht. Diese Prozedur wird so lange wiederholt, bis alle Partitionen gelöscht sind.
Jetzt werden die Partitionen erstellt:

Beispiel für ein Partitionsschema:

Partition Größe Mountpunkt
/dev/hda1 32MB boot
/dev/hda2 512MB swap
/dev/hda3 ca.2000MB /
/dev/hda4 Rest /video

Als erstes wird Partition 1 erstellt. Durch drücken von n wird eine neue Partition erstellt. Diese wird als primary angelegt (p drücken, gefolgt von 1). Die Startadresse kann man mit Enter bestätigen. Als Endadresse gibt man +32M ein (wenn man verschiedene Kernels testen will, sollte man die Boot-Partition größer wählen). Die Boot-Partition wird jetzt noch als bootbar markiert. Dies geschieht durch drücken der Taste a. Nun noch Partition 1 auswählen und schon ist die Partition als bootbar markiert. Jetzt erstellt man die restlichen 3 Partitionen. Bei Partition 4 wird die Endadresse mit Enter bestätigt, damit man den übrigen freien Speicher komplett verwenden kann. Nun wird der Partition 2 noch der Systemtyp Swap zu gewiesen. Dies geschieht durch drücken von t, 2 und der Eingabe des Hexcodes 82. Nun wird mit w fdisk beendet und das Partitionsschema geschrieben.

Befehle bis hier:
fdisk /dev/hda
d (Partitionen 1 bis x)
n
Enter
+32M
a
1
n
Enter
+512M (und so weiter, bis alle Partitionen erstellt wurden)
t
2
82
w

Als nächstes muss man den eben erstellten Partitionen ein Dateisystem zu weisen. Ob man jetzt ext2/3, reiserfs, xfs, jfs oder wie diese auch immer heissen mögen verwenden will, sei jedem selbst überlassen.
Ich habe mich dieses mal für xfs entschieden. Bei anderen Dateisystemen hilft ein Blick in das offizielle Gentoo-Handbuch. Mit

mkfs.xfs /dev/hda1

wird Partition 1 mit dem xfs Dateisystem formatiert. Das gleiche Dateisystem wird für Partition 3 und 4 verwendet. Mit

mkswap /dev/hda2

wird die Swap Partition erstellt.

Befehle bis hier:
mkfs.xfs /dev/hda1
mkfs.xfs /dev/hda3
mkfs.xfs /dev/hda4
mkswap /dev/hda2

Jetzt müssen die Partitionen in das System eingebunden werden (sprich gemountet werden). Dies geschieht durch den Befehl: mount /dev/hda3 /mnt/gentoo
Jetzt haben wir Partition 3 gemountet. Nun werden auf der Partition 3 zwei Verzeichnisse erstellt.
mkdir /mnt/gentoo/boot und mkdir /mnt/gentoo/video
Als nächstes werden noch die Partionen 1 und 4 gemountet. durch mount /dev/hda1 /mnt/gentoo/boot und mount /dev/hda4 /mnt/gentoo/video
Nun noch die Swap – Partition aktivieren und alle Partitionen sind in das System eingebunden. Dies erreicht man mit swapon /dev/hda2

Befehle bis hier:
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mkdir /mnt/gentoo/video
mount /dev/hda1 /mnt/gentoo/boot
mount /dev/hda4 /mnt/gentoo/video
swapon /dev/hda2

Herunterladen eines Stage 1 – Archivs und eines aktuellen Portages

Voraussetzung: funktionierende Verbindung ins Internet
(für Leute mit Router und dhcp – Server müsste das Netzwerk schon funktionieren.
Alle anderen schauen unter Gentoo Netzwerk einrichten nach)

Als erstes wechselt man mit cd /mnt/gentoo das Verzeichnis.
Mit links2 http://www.gentoo.org/main/en/mirrors.xml wird die Seite zum auswählen eines Mirrors zum herunterladen der beiden Archive geöffnet. (Ich bevorzuge den Server der TU Darmstadt.) Für eine Stage 1 Installation findet man das Stage 1 – Archiv unter releases/x86/<Jahr>.<Release>/stages/ Nun wird die Datei stage1-…..tar.bz2 mit drücken der Taste d heruntergeladen. Wenn der Download fertig ist, wird wieder zurückgewechselt zum Startpunkt in dem man mit den Cursor – Tasten nach links drückt. Dort geht man auf das Verzeichnis snapshots und wähle dort den aktuellsten snapshot aus. Nun wir das Portage Archiv heruntergeladen. Wenn dieser Download fertig ist, wird links mit dem Tastenkürzel q beendet.

Befehle bis hier:
cd /mnt/gentoo
links2 http://www.gentoo.org/main/en/mirrors.xml
...Mirror auswählen
...in das Verzeichnis releases/x86/<Jahr>.<Release>/stages/ wechseln
...stage1-<aktuelles Datum>.tar.bz2 anwählen
d
linke Richtungstaste drücken
...in das Verzeichnis snapshot wechseln
...portage-<aktuelles Datum>.tar.bz2 auswählen
d
q


Beide Archive entpacken

Als erstes muss das stage Archiv entpackt werden. Dies geschieht duch Eingabe von: tar –xvjpf stage1-<aktuelles Datum>.tar.bz2
Wenn der Entpackvorgang fertig ist wird das portage – Archiv entpackt. tar –xvjpf portage-<aktuelles Datum>.tar.bz2 –C /mnt/gentoo/usr

Befehle bis hier:
tar –xvjpf stage1-<aktuelles Datum>.tar.bz2
tar –xvjpf portage-<aktuelles Datum>.tar.bz2 –C /mnt/gentoo/usr

Compiler Optionen

Anmerkung: Gentoo ohne X – Server
Mit einem Editor wird nun die Datei make.conf bearbeitet und an das System angepasst.
nano –w /mnt/gentoo/etc/make.conf öffnet die Datei und kann dann dort Einstellungen treffen. Bei der CHOST Variblen gibt es folgende Einstellungsmöglichkeiten:

Architektur Prozessortyp CHOST
x86 i386 i386-pc-linux-gnu
x86 i486 i486-pc-linux-gnu
x86 i586 i586-pc-linux-gnu
x86 i686 oder höher (inkl. Athlon) i686-pc-linux-gnu
amd64 x86_64-pc-linux-gnu

Bei der CFLAGS – Variablen wird noch die eigene CPU angegben (bei mir march=pentium4). Die restlichen Einstellungen kann man übernehmen. Genauere Infos über die Einstellungen gibt es in der Datei make.conf.example
Nun werden noch 2 Zeilen eingefügt. In die eine Zeile kommt MAKEOPTS=“-j2“ und in die andere Zeile kommt USE=“dvb lirc –gtk –gtk2 –gnome –X –qt –kde -arts -opengl -xmms -xv“
Mit Strg + X wird nano beendet und bei Abfrage, ob man die Änderungen speichern will mit y bestätigen.

Befehle bis hier:
nano –w /mnt/gentoo/etc/make.conf
...Variablen setzen und 2 Zeilen einfügen
MAKEOPTS=“-j2“
USE=“dvb lirc –gtk –gtk2 –gnome –X –qt –kde -arts -opengl -xmms -xv“
Strg + X
y
Enter


von Stage 1 zu Stage 2

Als erstes die Datei /etc/resolv.conf nach /mnt/gentoo/etc/resolv.conf kopieren. Dies geschieht mit dem Befehl cp –L /etc/resolv.conf /mnt/gentoo/resolv.conf. Nun muss noch durch mount –t proc none /mnt/gentoo/proc

Proc gemountet werden.

Befehle bis hier:
cp –L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount –t proc none /mnt/gentoo/proc
Die neue Umgebung betreten

Die Vorarbeiten sind erledigt. Jetzt wird zum ersten mal die neue Umgebung betreten. Mit chroot /mnt/gentoo /bin/bash wird das Verzeichnis /mnt/gentoo als root deklariert. Nun noch schnell env-update und danach source /etc/profile eingetippt und der Umzug in das neue System ist fertig.

Befehle bis hier:
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

von Stage 1 zu Stage 2

Wir wechseln nun in das Verzeichnis /usr/portage mit cd /usr/portage. Dort führen wir den Befehl scripts/bootstrap.sh –f aus. Das –f bewirkt, dass erst alle benötigten Dateien runtergeladen werden. Sind alle Dateien heruntergeladen wird mit scripts/bootstrap.sh aus dem Stage 1 ein Stage 2. Dieser Vorgang dauert nun etwas.

Befehle bis hier:
emerge --sync
cd /usr/portage
scripts/bootstrap.sh –f
scripts/bootstrap.sh

von Stage 2 zu Stage 3

Nun wird mit dem Befehl emerge –f system die Dateien herruntergeladen, um aus dem Stage 2 ein Stage 3 zu machen. Nach dem runterladen wird mit emerge system der Rest des Systems kompiliert. Dies dauert dann auch etwas.

Befehle bis hier:
emerge –f system
emerge system

Kernel erstellen

wird im Moment getestet und überarbeitet

Als erstes müssen wir erstmal die Zeitzone einstellen. Für uns aus Deutschland gilt folgender Befehl: ln –sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Jetzt müssen die Kernel – Quellen heruntergeladen werden. Dafür wechselt man in das Verzeichnis /usr/portage/sys-kernel/gentoo-dev-sources. Dort wird dann mit emerge gentoo-dev-sources-2.6.10_r2.ebuild der Kernel 2.6.10-r2 heruntergeladen. Wenn dies fertig ist, wird wegen der Bequemlichkeit noch genkernel mit dem Befehl emerge genkernel heruntergeladen. Jetzt wird noch mit emerge hotplug Hotplug aktiviert. Als nächstes wird das Verzeichnis /lib/firmware erstellt. Dorthin wird dann die Firmware kopiert.

Befehle bis hier:
ln –sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
cd /usr/portage/sys-kernel/gentoo-dev-sources
emerge gentoo-dev-sources-2.6.10-r2.ebuild
emerge genkernel
emerge hotplug
mkdir /lib/firmware


Kernel für cvs DVB – Treiber und Lirc patchen

DVB – Treiber

Als erstes muss man cvs installieren. Dies geschieht durch emerge cvs. Jetzt wechselt man in das Verzeichnis /usr/local/src und gibt dort die Befehle ein:

cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login und dann
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co -P dvb-kernel

Als nächstes muss/sollte man (bei mir musste ich) die datei video.h und osd.h etwas editieren. Die beiden Dateien liegen in /usr/local/src/dvb-kernel/linux/include/linux(?)/dvb/ In beiden Daten gibt es eine ein Wort __user, welches zumindest bei mir beim Kompilieren von VDR und dem Kernel für Probleme sorgt. Dieses wird dann einfach entfernt und die Dateien werden gespeichert. Einen Nachteil konnte ich nicht feststellen. Jetzt wechselt man zurück in das Verzeichnis /usr/local/src/dvb-kernel. Dort gibt man dann ./makelinks /usr/src/linux ein. Jetzt kopiert man die datei firmware/dvb-ttpci-01.fw nach /lib/firmware.

Befehle bis hier:
cd /usr/local/src
cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login
    und dann
cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-kernel
cd dvb-kernel/linux/include/linux(?)/dvb/
nano -w video.h
__user entfernen
Strg + X
y
nano -w osd.h
__user entfernen
Strg + X
y
cd /usr/local/src/dvb-kernel
./makelinks /usr/src/linux
cp firmware/dvb-ttpci-01.fw /lib/firmware
Lirc – Patch einspielen

(Optional: ab lirc 0.7_pre<xxx> nicht mehr nötig. Man kann gleich mit dem Kernel backen fortsetzen) Mit Strg + Alt + F2 wechselt man auf die Console 2. Mit cd /mnt/gentoo/usr/src/linux-2.6.10-r2 wird der Pfad zum Kernel gewechselt. Dort gibt man dann ein links2 http://users.pandora.be/seppe/linux/ ein und lädt als nächstes die Datei lirc-2.6.8-rc2-bk2.diff runter. Nun kann man wieder mit Strg + Alt + F1 wieder zurück zu Console 1 wechseln.
Dort wechselt man mit cd /usr/src/linux zu den Kernel Quellen. Jetzt tippt man cat lirc-2.6.8-rc2-nk2.diff | patch –p1 ein. Allerdings schlägt dort ein Patch fehl, den man selbst per Hand eingeben muss. Man öffne die Datei mit nano –w drivers/char/Makefile und öffne in der Console 2 nano –w /mnt/gentoo/usr/src/linux-2.6.10-r2/drivers/char/Makefile.rej und nun kann man die Änderungen in der Console 1 vornhemen.

Befehle bis hier:
Strg + Alt + F2
cd /mnt/gentoo/usr/src/linux-2.6.10-r2
links2 http://users.pandora.be/seppe/linux/
...Datei lirc-2.6.8-rc2-bk2.diff auswählen
d
q
Strg + Alt + F1
cd /usr/src/linux
cat lirc-2.6.8-rc2-bk2.diff | patch –p1
nano –w drivers/char/Makefile
Strg + Alt + F2
nano –w /mnt/gentoo/usr/src/linux-2.6.10-r2/drivers/char/Makefile.rej
...Datei Makefile per Hand die rejects einarbeiten
Strg + Alt + F1

Jetzt haben wir alle Patches eingespielt und können nun den Kernel backen.

Kernel Optionen einstellen und kompilieren

Mit

cd /usr/src/linux

zu den Quellen wechseln. Als nächsten genkernel --menuconfig all eingeben und dann den Kernel an sein System anpassen. Folgende Optionen müssen so in den Kernel eingebaut werden.

Code maturity level options -->
  --> Prompt for development and incomplete code / driver fest einkompilieren
      Select only drivers expected to compile cleanly fest einkompilieren
      Select only drivers that don't need compile-time external firmware DEaktivieren

Loadable module support -->
  --> Enable loadable module support aktivieren
      Module unloading aktivieren
      Automatic kernel module loading aktivieren

Bus options -->
  --> Support for hot-pluggable devices aktivieren

Device Drivers -->
  --> Generic Driver Options -->
      --> Hotplug frimware loading support aktivieren (m)

  --> Block Devices
      --> Normal floppy Disk support aktivieren
      --> RAM disk support aktivieren
      --> Initial RAM disk (initrd) support aktivieren

  --> ATA/ATAPI/MFM/RLL support
         Hier den passenden Chipsatztreiber aktivieren, (welchen kann man mit "lspci" herrausfinden)

  --> Character Devices
      --> Serial Drivers -->
          --> 8250/16550 and compatible serial support DEaktivieren oder als Modul
      --> Unix98 PTY support aktivieren
      --> Linux Infrared Controller -->
          --> Linux Inrared Controller aktivieren (m)
          --> Serial Driver aktiviern (m)
              --> Serial Receiver Type (Homebrew)
              --> I/O Port (0x3f8, 4) für COM1
      --> /dev/nvram aktivieren
      --> Enhance Realtime Clock support aktivieren

  --> I2C support -->
      --> I2C support aktivieren (m)
      --> I2C device interface aktivieren (m)
      --> I2C Algorithms -->
          --> I2C bit-banging interfaces aktivieren (m)
          --> I2C PCF 8584 interfaces aktivieren (m)

  --> Multimedia Devices -->
      --> Video For Linux aktivieren
      --> Digital Video Broadcasting Devices -->
          --> DVB for linux aktivieren
          --> DVB core support aktivieren
          --> STV0299 based DVB-s frontend aktivieren (m)
          --> Alps TDLB7 aktivieren (m)
          --> Alps TDMB7 aktivieren (m)
          --> Grundig 29504-491 aktivieren (m)
          --> Grundig 29504-401 aktivieren (m)
          --> Frontends with external VES1820 demodulator aktivieren (m)
          --> Frontends with VES1893 or VES1993 demodulator aktivieren (m)
          --> AV7110 cards aktivieren (m)
            --> Compile AV7110 firmware into the driver
                  (/usr/lib/hotplug/firmare/dvb-ttpci-01.fw)
          --> AV7110 OSD support aktivieren
          --> Budget cards aktivieren (m)
          --> Budget cards with onboard CI connector aktivieren
          --> Budget cards with analog video inputs aktivieren
          --> AV7110 card with Budget Patch aktivieren

File Systems
  --> Kernel automounter version 4 support aktivieren
  --> Pseudo filesystems -->
      --> /proc file system support aktivieren
      --> /dev file system support aktivieren
      --> Automatically mount at boot aktivieren
      --> /dev/pts file system for Unix98 PTYs aktivieren
      --> Virtual memory file system support aktivieren

Danach das Konfigurationsprogramm beenden und warten bis der Kernel kompiliert wurde. Jetzt noch ein

make modules_install

und der Kernel ist bereit für das neue System.

Befehle bis hier:
cd /usr/src/linux
genkernel -–menuconfig all
die oben genannten Optionen so einstellen
make modules_install

Letzte Anpassungen für den Reboot von der Festplatte

Nun kann man noch die Datei /etc/modules.autoload.d/kernel-2.6 anpassen. Dort stehen alle module, die man beim Systemstart automatisch starten lassen will. Nun noch

modules-update

eingeben, damit die Änderungen übernommen werden. Mit nano noch die Datei /etc/rc.conf bearbeiten. Dort wird erstmal das Tastaturlayout auf de eingestellt. Den Rest kann man lassen so wie es ist.

Befehle bis hier:
nano –w /etc/modules.autoload.d/kernel-2.6
modules-update
nano –w /etc/rc.conf

Partitionstabelle anlegen

Mit

nano -w

die Datei /etc/fstab bearbeiten, so dass sie so aussieht(wenn mein Partitionsschema übernommen wurde):

Partition Mountpunkt Dateisystem Optionen Dump Pass
/dev/hda1 /boot reiserfs noatime,notail 1 1
/dev/hda2 none swap sw 0 0
/dev/hda3 / reiserfs noatime,notail 0 0
/dev/hda4 /video reiserfs noatime,notail 0 0
Befehle bis hier:
nano –w /etc/fstab

Grub Installieren und System für den ersten Bootvorgang vorbereiten

Mit emerge grub, wird grub installiert. Nun kann man mit Hilfe von nano die Datei /boot/grub/grub.conf erstellen und bearbeiten. Danach sollte die Datei in etwa so aussehen:

default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo
root (hd0,0)
kernel (hd0,0)/kernel-2.6.10-gentoo-r2 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3
initrd (hd0,0)/initrd-2.6.10-gentoo-r2

Jetzt muss nur noch Grub im MBR installiert werden. Dies geschieht durch Eingabe von grub. Als nächstes gibt man ein: root (hd0,0), danach setup (hd0) und danach quit.

Befehle bis hier:
emerge grub
nano –w /boot/grub/grub.conf
grub
root (hd0,0)
setup (hd0)
quit

Netzwerk einrichten

Gentoo Netzwerkeinstellungen

Zusätzliche Programme und Tools (ohne Erklärung, nur Befehle)

emerge metalog
rc-update add metalog default
emerge vixie-cron
rc-update add vixie-cron default
emerge slocate
emerge reiserfsprogs
emerge dhcpcd
cd /usr/portage/app-misc/sudo
emerge sudo-???.ebuild
emerge jpeg
emerge module-init-tools
passwd

Passwort eingeben Passwort wiederholt eingeben

Jetzt erstmal das System neu starten und nicht vergessen die CD zu entfernen.

Wenn alles geklappt hat befinden wir uns in der Shell

VDR installieren

Lirc fertig installieren

Als erstes muss man vorher noch mit emerge config-kernel installieren.
Jetzt gibt man ein config-kernel –writable=yes. Jetzt wird folgendes eingegeben um lirc zu emergen:

LIRC_OPTS=”--with-driver=serial --without-soft-carrier --with-transmitter --with-irq=4 --with-port=0x3F8”emerge lirc

Jetzt legt man als nächstes das Verzeichnis /dev/lirc angelegt. Nun bearbeitet man die Datei /etc/conf.d/lircd. Danach sollte die eine Zeile in etwa so aussehen:**

LIRCD_OPTS="-d /dev/lirc/lirc0"

Jetzt wird die Datei /etc/modules.d/lirc mit folgendem Inhalt erstellt:*

alias char-major-61 lirc_serial
alias /dev/lirc* lirc_serial
options lirc_serial irq=4 io=0x3F8

jetzt nur noch

update-modules

und

rc-update add lircd default

eingeben und lirc startet bei jedem Systemstart automatisch.

Befehle bis hier:
emerge config-kernel
config-kernel –writable=yes
LIRC_OPTS=”--with-driver=serial --without-soft-carrier --with-transmitter --with-irq=4 --with-port=0x3F8”   
emerge lirc
mkdir /dev/lirc
nano –w /etc/conf.d/lircd
...Zeile anpassen siehe **
nano –w /etc/modules.d/lirc
...Codeblock* eingeben

VDR runterladen und entpacken

Wegen der Bequemlichkeit erst einmal emerge mc. Dies installiert den Midnight Commander ein Norton Commander Clone. Mit mc wird das Programm gestartet. Nun drückt man die Taste F9 und wählt dann im Menü aus (entweder rechts oder links) ftp… dort gibt man dann ein ftp.cadsoft.de Jetzt kann man auf dem ftp Server navigieren, als wäre man auf der eigenen Festplatte. Wir folgen dem Pfad vdr/Developer und laden dort vdr-1.3.17 runter. Dies geschieht mit dem Anwählen der Datei und dann drücken von F5. An der Stelle an der der ftp Server ist, wechseln wir in das Verzeichnis /usr/local/src. Jetzt in das andere Fenster wechseln und das archiv vdr-1.3.17.tar.gz mit einem druck auf die Entertaste öffnen. Das Verzeichnis mit F5 kopieren. Nun wird noch ein symbolischer Link VDR zum Verzeichnis vdr-1.3.17 erstellt

Befehle bis hier:
emerge mc
mc
F9
ftp.cadsoft.de
...in das Verzeichnis vdr/Developer wechseln
vdr-1.3.17 anwählen
F5
cd /usr/local/src
vdr-1.3.17 mit Enter „öffnen“
...das enthaltene Verzeichnis mit F5 kopieren
ln –s vdr-1.3.17 VDR


Patches für VDR einspielen.

Je nach belieben kann man jetzt vdr patchen und/oder mit Plugins erweitern.

VDR kompilieren

Verzeichnis /usr/include/linux/dvb anlegen, dann die Dateien /usr/local/src/dvb-kernel/linux/include/linux(?)/dvb/* nach /usr/include/linux/dvb kopieren. Als nächstes wird das Verzeichnis nach /usr/local/src/VDR gewechselt. Hier muss man die Datei Make.conf (oder Makefile (bin mir nimmer sicher welche Datei)) bearbeiten. In der Datei wird als erstes der Pfad zu den DVB Treibern angepasst. Die DVB Treiber liegen unter /usr/include/linux/dvb. Des Weiteren muss man auch den Pfad der man pages anpassen. Einfach das local zwischen /usr/local/man entfernen. Datei speichern und Editor beenden.
Jetzt sind alle vorarbeiten geleistet.
Als nächstes tippt man ein make REMOTE=LIRC ein. Ist das kompilieren fertig, gibt man make plugins ein und danach noch ein make install. Nun ist vdr fertig installiert.

Befehle bis hier:
mkdir /usr/include/linux/dvb
cp /usr/local/src/dvb-kernel/linux/include/linux(?)/dvb/* /usr/include/linux/dvb
cd /usr/local/src/VDR
nano –w Make.conf Datei anpassen:
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual       ändern in: (macht Änderungen in der video.h und osd.h Datei überflüssig)
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -D__user=

ggf. DVB dir anpassen

/usr/include/linux/dvb
/usr/man
Strg + X
y
make REMOTE=LIRC
make plugins
make install

Feintuning (Scripte von co-pro.de)

Jetzt wird noch eine Datei dvb angelegt, welche die DVB Treibe lädt. Mit

nano -w /etc/init.d/dvb

wird die Datei mit Folgendem Inhalt erstellt:*

#!/sbin/runscript

start() {
ebegin "Starting DVB_Modules for Rev. 1.3 and NOVA"
modprobe saa7146
modprobe dvb-ttpci
modprobe ves1x93
sleep 1
modprobe budget_ci
modprobe stv0299

eend $? "Error Problems with DVB-Startscript"
}

stop() {
ebegin "Stopping DVB_Modules..."
rmmod dvb-ttpci
rmmod ves1x93
rmmod saa7146_vv
rmmod video_buf
rmmod budget_ci
rmmod budget-core
rmmod saa7146
rmmod stv0299
rmmod ttpci_eeprom

eend $? "Error Problems with stopscript"
}

Die Datei dann noch speichern und mit

chmod 755

ausführbar gemacht. Die runvdr im Verzeichnis /usr/local/bin wird nun komplett umgeschrieben und sieht danach so aus:**

VDRPRG="./vdr"
VDRCMD="$VDRPRG -w 60 -t /dev/tty8 -L /usr/local/src/VDR/PLUGINS/lib -c /etc/vdr $* -s /home/vdr/vdrshutdown"

LSMOD="`/sbin/lsmod | grep dvb | wc -l`"
KILL="/usr/bin/killall -q -TERM"

# Load driver if it hasn't been loaded already:

if [ $LSMOD -eq 0 ] ; then
    /etc/init.d/dvb start
fi

while (true) do
su - $VDRUSR -c "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
date
echo "restarting VDR"
$KILL $VDRPRG
sleep 10
/etc/init.d/dvb stop
/etc/init.d/dvb zap
sleep 2
/etc/init.d/dvb start
date
done

Jetzt werden noch die *.conf Dateien aus dem Verzeichnis /usr/local/src/VDR nach /video kopiert. Des weiteren wird noch eine Datei vdrshutdown.sh im Verzeichnis /usr/local/bin mit folgendem Inhalt angelegt:***

sudo /sbin/halt –p

Des Weiteren wird im Verzeichnis /etc/init.d noch eine Datei vdr angelegt, die den folgenden Inhalt haben sollte:****

#!/sbin/runscript

start() {
ebegin "Starting vdr"
chmod 777 /dev/vc/2
chmod 777 /dev/vc/8
chown -R vdr:video /dev/cdroms
/usr/local/src/VDR/runvdr &
eend $? "Error Problems with startscript"
}

stop() {
ebegin "Stopping vdr"
killall runvdr
killall vdr
killall -9 vdr
killall vdradmind.pl
eend $? "Error Problems with stopscript"
}

Diese Datei speichern und mit

chmod 755

ausführbar machen. Jetzt nur noch mit

rc-update add vdr default

eintragen und vdr startet beim nächsten Systemstart automatisch mit.

Befehle bis hier:
nano –w /etc/init.d/dvb
Inhalt *
chmod 755 /etc/init.d/dvb
nano –w /usr/local/bin/runvdr
Inhalt **
cp /usr/local/src/VDR/*.conf /video
nano –w /usr/local/bin/vdrshutdown
Inhalt ***
chmod 755 /usr/local/bin/vdrshutdown
nano –w /etc/init.d/vdr
Inhalt ****
chmod 755 /etc/init.d/vdr
rc-update add vdr default
reboot