[HOWTO] Debian Etch mit VDR von e-tobi installieren (Schritt für Schritt)

  • Ich bin gerade mit meinem VDR auf Debian Etch umgestiegen und präsentiere hier quasi eine
    Kopie der .bash_history der Installation. Da ich den VDR diskless per NFS betreibe, finden sich
    auch einige spezielle Hinweise dazu. Wer den VDR mit einer lokalen Festplatte betreibt, kann
    diese getrost überlesen.


    Ein aktuelles HOWTO unter Debian 5.0 lenny gibt es hier


    Weiteres zum NFS Betrieb: [HOWTO] VDR Client via Netz per NFS booten


    Alles auf eigene Gefahr und ohne Gewähr. ;)


    Nach der Installation hat man folgende Software auf seinem VDR laufen:


    Debian Etch (Debian 4.0)
    Linux 2.6.23.8
    LIRC CVS (0.8.3)
    vdr 1.4.7 multipatch von e-tobi (etch)


    Stand: 2007.12.22


    Here we go:


    Inhaltsverzeichnis


    1. Booten
    2. Grundsystem
    3. Kernel
    4. NFS Server
    5. LIRC
    6. Firmware
    7. VDR
    8. HG DVB Treiber
    9. Optionen
    10. VLC Wiedergabeliste



    1. Booten


    Code
    # 
    # Rechner via Netzwerk oder per Debian Etch CD booten
    #

    Netzwerk- und andere Installations-CDs finden sich unter http://www.debian.org/releases/etch/debian-installer/


    -- <NFS> --

    Code
    ## Dateien für das Booten per Netzwerk laden und installieren#server:~# wget http://http.us.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/netboot.tar.gzserver:~# cd /var/lib/tftpbootserver:/var/lib/tftpboot# tar xvzf netboot.tar.gz ./debian-installer/server:/var/lib/tftpboot# cd pxelinux.cfgserver:/var/lib/tftpboot/pxelinux.cfg# cp ../debian-installer/i386/pxelinux.cfg/default default.etchserver:/var/lib/tftpboot/pxelinux.cfg# ln -s default.etch default

    Eine Alternative zu dieser Installationsmethode bietet debootstrap. Damit läßt sich das System
    schon von Anfang an auf dem Server aufspielen. Siehe auch
    [HOWTO] VDR Client via Netz per NFS booten (debootstrap) -> c. Client per debootstrap installieren
    -- </NFS> --



    2. Grundsystem



    -- <NFS> --

    Code
    ## für NFS Betrieb uid und gid für Nutzer vdr wie auf Server festlegen# Beispiel:# passwd: vdr:x:103:104:VDR user,,,:/var/lib/vdr:/bin/false# group : vdr:x:104:#vipwvigr

    -- </NFS> --



    Am einfachsten ist es, wenn man die weitere Installation remote (per SSH) durchführt. Dazu
    genügt es, wenn man auf dem vdr erstmal nur openssh-server installiert und sich dann per
    SSH mir diesem verbindet. Auf Clientseite erstellt man zuerst ein Schlüsselpaar ohne Passphrase
    und kopiert den öffentlichen Schlüssel auf den vdr. So kann man sich ohne Passwort per SSH
    an dem vdr Rechner anmelden.


    Code
    user@client:~$ [ -a .ssh/id_dsa.pub ] || ssh-keygen -t dsa
    user@client:~$ scp .ssh/id_dsa.pub user@vdr:.
    user@client:~$ ssh user@vdr "[ ! -d .ssh ] && mkdir .ssh; cat id_dsa.pub >> .ssh/authorized_keys; chmod 600 .ssh/authorized_keys; rm id_dsa.pub"

    Wer möchte, kann natürlich auch direkt auf dem Client weiterarbeiten.


    3. Kernel


    Damit der Kernel die Module für die DVB Karten nicht selbst lädt, werden diese in die blacklist
    eingetragen und man gibt in /etc/modules die Reihenfolge selbst vor.

    Nutzer eines Kernels mit initrd, welche die DVB Module per /etc/modules laden und /usr
    nicht auf der root Partition haben, laufen Gefahr, daß Treiber, die eine Firmware unter
    /usr/lib/hotplug/firmware/ suchen, diese nicht finden, wenn sie sich nicht im initrd Image
    befindet und /usr "relativ spät" gemountet wird. Das Fehlerbild in dmesg sieht dann so aus:

    /usr, und damit auch die Firmware, befinden sich auf sda6. Diese Partition wird erst nach
    dem Laden des Treibers dvb-ttpci gemountet, so daß die Firmware nicht gefunden wird.
    Mögliche Lösungen finden sich hier.


    -- <NFS> --


    Für diskless Systeme müssen folgende Funktionen aktiviert werden:

    • Networking -> Networking options -> IP: kernel level autoconfiguration -> IP: DHCP support

    • File systems -> Network File Systems -> NFS file system support <*>

    • File systems -> Network File Systems -> Root file system on NFS

    Wer mit VMWare testet, benötigt für die NIC: "AMD PCnet32 PCI support"


    TIP: Den Kernel kann man auch auf dem Server übersetzen lassen, was Sinn ergibt, wenn
    die Server-CPU performanter als die des VDR Rechners ist. Dazu auf dem Server chroot mit
    dem Rootverzeichnis des VDR aufrufen und obige Prozedur (inkl. make-kpkg ...) ausführen.


    -- </NFS> --



    Code
    make-kpkg --initrd --revision=vdr1 kernel_image # alternativ ohne initrd: make-kpkg --revision=vdr1 kernel_image
    dpkg -i ../linux-image-2.6.23.8_vdr1_i386.deb
    echo "powernow_k7 overwrite_table=1 fsb=100000 multiplier=50,60,70,80,90,105" >> /etc/modules # powernow_k7 Modul für AMD Geode NX 1750 in /etc/modules eintragen
    mkdir /video /media/downloads # /video (und ggf. weitere) Verzeichnis(se) des Servers einbinden
    echo "server:/video /video nfs auto,rw,nosuid,hard,intr,rsize=65536,wsize=65536 0 0" >> /etc/fstab
    echo "server:/media/downloads /media/downloads nfs auto,rw,nosuid,hard,intr,rsize=65536,wsize=65536 0 0" >> /etc/fstab
    reboot # Grub bootet nun automatisch den neuen Kernel
    uname -a
    Linux zaphod 2.6.23.8 #1 Thu Nov 22 11:45:37 CET 2007 i686 GNU/Linux


    -- <NFS> --


    4. NFS Server


    Code
    ## Server updaten## mount server:/netboot/nfsroot/zaphod_etch /mnt# cat rsync_exclude# /initrd# /media# /mnt# /proc# /sys# rsync -avx --exclude-from=rsync_exclude / /mnt/# cd /mnt/ && mkdir initrd media mnt proc sys## !! auf /dev achten !!## !! /etc/fstab für Netzwerk-Boot anpassen !!# server:/netboot/nfsroot/zaphod_etch     /                       nfs     defaults,hard,intr,rsize=65536,wsize=65536 0 0# none                                    /tmp                    tmpfs   defaults        0 0# none                                    /var/run                tmpfs   defaults        0 0# none                                    /var/lock               tmpfs   defaults        0 0# none                                    /var/tmp                tmpfs   defaults        0 0## !! eth0 auf manual umstellen, wenn dhcp genutzt wird - bitte kontrollieren !!# sed 's/dhcp$/manual/' /etc/network/interfaces > /etc/network/interfaces.tmp && mv /etc/network/interfaces.tmp /etc/network/interfaces## nfs Einträge aus /etc/updatedb.conf entfernen#

    at hat immernoch ein Problem, wenn es auf diskless Systemen mit NFS läuft.

    Code
    # at - nfs workaroundvi /etc/rc.local# folgendes vor "exit 0" einfügenmount -t tmpfs none /var/spool/cron/atjobs/echo "0" > /var/spool/cron/atjobs/.SEQchmod 600 /var/spool/cron/atjobs/.SEQchown daemon.daemon /var/spool/cron/atjobs/.SEQ/etc/init.d/atd restart

    Swap per NFS:

    Code
    # swap (per NFS) anlegendd if=/dev/zero of=/var/swap bs=1k count=128Kmkswap /var/swapecho "/dev/loop/0       none    swap    sw,noauto       0 0" >> /etc/fstablosetup /dev/loop/0 /var/swapswapon /dev/loop/0chmod 755 /etc/rc.localvi /etc/rc.local# folgendes vor "exit 0" einfügenlosetup /dev/loop/0 /var/swapswapon /dev/loop/0

    -- </NFS> --



    5. LIRC


    6. Firmware



    7. VDR



    8. HG DVB Treiber


    Wer statt der Kerneltreiber lieber die aktuellen Entwicklungsversionen der Treiber nutzen möchte,
    geht nach folgender Anleitung vor:

    9. Optionen


    Code
    # lm-sensors installieren (PC-Chips M811)
    aptitude install lm-sensors
    #
    wget http://www.on-luebeck.de/kilroy/debian_etch_howto/sensors.conf.m811 -O /etc/sensors.conf
    /etc/init.d/lm-sensors start


    Code
    # irexec für zusätzliche Befehle einrichten
    wget http://www.on-luebeck.de/kilroy/debian_etch_howto/lircrc -O /etc/lircrc
    wget http://www.on-luebeck.de/kilroy/debian_etch_howto/irexec -O /etc/init.d/irexec
    update-rc.d irexec defaults 42


    Code
    #
    # aufräumen
    #
    aptitude clean
    aptitude purge linux-image-2.6-k7 linux-image-2.6.18-3-k7
    update-grub
    rm /usr/src/linux-2.6.23.8.tar.gz


    Hinweis: Prinzipiell kann man den Code markieren und pasten. Nur "aptitude install ..." sollte
    man separat eingeben, da es oftmals eine Eingabe erwartet.


    Da sich etch noch in der Entwicklung befindet, sollte man vielleicht etwas öfter als normal ein
    Update durchführen:

    Code
    # Pakete aktualisieren
    aptitude update && aptitude upgrade


    lirc und die HG DVB Treiber müssen nach einem Kernelupdate neu übersetzt werden!


    10. VLC Wiedergabeliste


    Wer VLC als Streamingclient nutzt, kann mit diesem Skript eine passende Wiedergabeliste
    (playlist) generieren. Bitte beachten: Das Skript ist nicht narrensicher. ;)

    Beispielaufruf:

    Code
    kilroy:~$ build_vlc_playlist.sh vdr playlist.m3u
    Playlist playlist.m3u existiert bereits. Überschreiben? <j/n>j
    
    
    Server meldet: 220 zaphod SVDRP VideoDiskRecorder 1.4.7; Mon Jun 11 15:49:10 2007
    ############################################################################################################################################################################################################################################################################################################################################################################
    Server meldet: 221 zaphod closing connection
    kilroy:~$ vlc playlist.m3u
  • Hallo,


    vielen Dank für die super Anleitung. Das ganze müsste doch auch analog mit Ubuntu 6.10 "Edgy Eft" und Kernel 2.6.17 gehen, da Ubuntu auf Debian basiert oder liege ich da daneben?


    Gruß Shooty

  • Gibt schon ein paar Fallstricke.
    Grundsätzlich müsste es aber auch mit Ubuntu funktionieren.


    Wobei bei Ubuntu selber kompilieren aus Tobis Sourcen vermutlich der bessere Weg ist.

  • Hallo,


    danke für das Howto. Speziell interessiert mich das installieren des diskless Client. Du installiert auf dem Server den PXE Server. Wo ist den die NFS-Freigabe definiert wo der diskless Client sein NFS Root hininstalliert, oder wird der diskless Client nicht mit dem Debian Installier installiert ? Und noch 'ne Frage funktioniert das auch mit sarge ?


    Gruß Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

  • shooty:


    Die Anleitung sollte prinzipiell auch mit Ubuntu funktionieren. Ich setze Ubuntu aber nur als
    "Desktop" ein. Wie wilderigel erwähnt, kann es sein, daß Tobis Pakete nicht funktionieren.
    Ich weiß nicht, wie "dicht" Ubuntu an sid (bzw. etch) dran ist.
    Ggf. könnte man das HOWTO um eine Rubrik "VDR selbst kompilieren" erweitern.



    svkn:


    Zur Vorbereitung installiere ich den diskless Client zu erst auf eine Festplatte oder auch virtuell
    unter VMWare. Wenn das Grundsystem steht, wird es auf den Server kopiert. Näheres dazu
    findest Du auch unter [HOWTO] VDR Client via Netz per NFS booten. Sarge kannst Du auf die
    gleiche Art und Weise installieren.

  • Zitat

    Original von kilroy
    Zur Vorbereitung installiere ich den diskless Client zu erst auf eine Festplatte oder auch virtuell
    unter VMWare. Wenn das Grundsystem steht, wird es auf den Server kopiert. Näheres dazu
    findest Du auch unter [HOWTO] VDR Client via Netz per NFS booten. Sarge kannst Du auf die
    gleiche Art und Weise installieren.


    Alles klar, danke. Ich hatte dein Howtow so verstanden das damit gleich der diskless Client installiert wird.


    Gruß Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

    Einmal editiert, zuletzt von svkn ()

  • Zitat

    Original von svkn
    Alles klar, danke. Ich hatte dein Howtow so verstanden das damit gleich der diskless Client installiert wird.


    Ich habe es bislang nur über den Umweg Festplatte geschafft. Ein direktes Installieren des
    diskless Clients auf den Server klappte nicht - falls Du das meintest. ;)

  • genau das meinte ich. z.Z. versuche ich das mit debootstrap zu machen.


    Gruß Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

  • Schreibe mal, falls es Dir gelingt. Der Debian-Installer kann zwar per NFS gestartet werden,
    bietet aber AFAIK nicht die Möglichkeit, auf NFS zu installieren.

  • Das ist ja cool...


    Habe gerade Uralub und wollte meinen VDR aufmöbeln... NA dann mal los ich gebe bescheid, falls ich was finde...


    Gruß

    FF 1.5 - 800MHz PIII mit Intel 810i Board (ca810e)


    VDR version 1.3.36
    streamdev-server, skinelchi, libvdr-dvd, libvdr-weatherng, libvdr-text2skin, libvdr-femon, libvdr-image, libvdr-mplayer


    am testen von : acpi wakeup, lcd proc plugin

  • hi,


    erstmal danke für die anleitung.


    hab ein kleines problem mit dem powernow-k7-patch für den geode.
    hab ihn nach anleitung ausgeführt, bekomme dann beim übersetzen aber folgenden fehler:


    .../powernow-k7.c:463: error mobile_vid_table undeclared (first use in this function)


    danach bricht make mit fehler 2 ab.


    *edit*


    lirc läuft auch net: modprobe lirc_serial -> invalid module format
    kann das mit dem kernel zusammen hängen?


    kann mir jemand helfen hab von der materie nicht wirklich viel ahnung.


    danke schon mal.


    gruß roberto

  • Wenn Du wie beschrieben vorgegangen bist, dürfte "eigentlich" nichts schief laufen. ;) Gab
    es beim Patchen des Kernels vielleicht eine Fehlermeldung?

  • Hallo,


    ein großes Lob an kilroy. Habe gerade umgestellt, hat soweit alles auf Anhieb funktioniert. Nur beim Lirc habe ich Probleme. Mein Hoffnung war eigentlich, dass ich mit den Standardpaketen leben kann und nicht neu kompilieren muss. Hat jemand diesen Weg schon bestritten? Obwohl ich die Conf-Files aus meinem Sarge-System rüber gerettet habe, wird derzeit keine Fernbedienung erkannt. Da gab es doch ein Tool, um auf Low-Level die lircd.conf zu testen?


    Grüße vdrjünger

    ASROCK B75M R2.0 - Intel Celeron G1610 - ASUS GT520 Silent
    Digital Devices Cine S2 V6.5 & DuoFlex S2 (4 Tuner)
    SSD 16GByte + SATA 1TByte (Video) + SATA 1TByte (Archiv)
    Lirc Homebrew Serial - Harmony 600 - yavdr-0.5 (SoftHDDevice)
    Opticum LH-100 Sat-Antenne, SMART TQX Quattro LNB, 2.5m Kabel

  • Es gibt ca 500.000 Beiträge zu Lirc im Forum. :lehrer1


    [list=1]
    [*]Module sind vorhanden?
    lirc_dev und lirc_serial bei seriellem Empfänger
    [*]Module sind geladen?
    lsmod, laden mit modprobe
    [*]Devices sind vorhanden?
    ls /dev/lirc*, sollte /dev/lirc oder dev/lirc0 oder /dev/lirc/0 geben.
    [*]mode2 funktioniert?
    [*]lircd.conf vorhanden oder anlernen mit irrecord
    [*]in der hardware.conf das Device anpassen falls erforderlich.
    [*]lircd starten
    [*]irw zum testen
    [*]vdr zum anlernen
    [/list=1]
    Immer Aufbauend, wenn Punkt 4 ned funkt ist Punkt 5 sinnlos derweil.

  • wilderigel


    Danke für die Ausführliche Antwort. Ich bin immer wieder begeistert wie schnell man hier im Portal eine Antwort findet bzw. bekommt. Da ich mit Lirc bis heute noch nie Probleme hatte, bin ich von einem Etch spezifischem Problem ausgegangen.


    IRW hat mir gefehlt. Aber du hattest recht, wenn Step 1 nicht vorhanden ist, dann geht der Rest natürlich auch nicht. Bin dem Irrglauben aufgesessen, dass die Module vorhanden sind, da der Dämon gestartet ist.


    Jetzt stellt sich mir aber die Frage - Stellt Etch per Standard die Lirc-Module bereits oder muss ich compilieren? -


    @Alle


    Noch was By the Way: vdrconvert und muggle lassen sich wohl wegen nicht erfüllter Abhängigkeiten NICHT installieren. Hat hier jemand schon eine Lösung erarbeitet?


    Grüße vdrjünger

    ASROCK B75M R2.0 - Intel Celeron G1610 - ASUS GT520 Silent
    Digital Devices Cine S2 V6.5 & DuoFlex S2 (4 Tuner)
    SSD 16GByte + SATA 1TByte (Video) + SATA 1TByte (Archiv)
    Lirc Homebrew Serial - Harmony 600 - yavdr-0.5 (SoftHDDevice)
    Opticum LH-100 Sat-Antenne, SMART TQX Quattro LNB, 2.5m Kabel

  • wenn du nen original Debian Kernel verwendest sollte der module-assistant weiterhelfen.
    Wenn du 2.6.19 verwendest könnte es da aber wieder Probleme geben.


    Etwas ausführlicher hier beschreiben:
    [Anleitung] ctvdr5 Lirc Module bauen
    Ist halt ctvdr5 spezifisch, eigentlich sollte es reichen dir Pakete module-assistant und lirc-modules-source zu installieren (+Abhängigkeiten)


    Oder wie in meiner Kernel Anleitung, ist aber als Gesamtpaket zu sehen:
    [Anleitung] ctvdr/Debian Kernelupdate von kernel.org + lirc + cdfs (+ hg-dvb)

  • Zitat

    Original von vdrjünger
    Noch was By the Way: vdrconvert und muggle lassen sich wohl wegen nicht erfüllter Abhängigkeiten NICHT installieren. Hat hier jemand schon eine Lösung erarbeitet?


    Welche Abhängigkeiten fehlen, was für e-tobi Quelle wird verwendet?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!