Posts by allow

    Hallo all,

    ich muss des öfterne einen VDR neu installieren und nutze zur Zeit CTVDR5. Verschiedene sachen muss ich dabei immer wieder machen.

    Um das zu vereinfachen (und um etwas über Shellscripte zu lernen) habe ich ein Script erstellt dass das Neueinrichten eines CTVDR Systems erleichtern kann.

    [Blocked Image: http://www.citrouniverse.de/ctvdrfinish.jpg]

    Hier das readme:

    Das ganze ist weder perfekt noch fertig (kann aber schon alles was oben steht), und ich bin für Anregungen und Fehlerkorrekturen auf jedenfall dankbar.

    Da es sich um mein allererstes Shellscript handelt seit bitte nachsichtig mit mir:-))

    Ich habe die Sachen angehängt...

    Wenn es für euch hilfreich ist kann ich es noch weiternetwicklen, wenn es eher auf wenig Resonanz stößt ist das auch nicht schlimm, dann wars für mich ne Übungsstunde Linux:-)

    Edit1: Bild hinzugefügt
    Edit2: habe den code aus dem post enfernt (viel zu lang)
    Edit3: neue Version
    Edit4: neue version, jetzt mit beispiel conf Dateien (channels.conf ist für dvb-s)

    Wie kann ich die versionsnummer aus der /etc/issue datei auslesen?

    /etc/issue

    Code
    c't Debian VDR Distribution 5.0 \n \l

    mein ansatz:

    osfound=$(cat /etc/issue | awk '/c't Debian VDR Distribution / {printf("%s");}')


    aber so genau hab ich das noch nicht verstanden... ich möchte das osfound entweder 5.0 oder 4.5 enthält (je nach inhalt von /etc/issue)

    @qvejoun

    wie geht denn das mit wget? Ich habe nicht rausgefunde wie ich wget dazu bekomme die daten auszugeben statt sie in eine datei zu speichern...

    Habs rausgefunden:

    Code
    VER=$(wget -O - http://www.kernel.org/kdist/finger_banner | awk '/latest stable version/ {printf("%s",$NF);}')

    Aktualisierte Fassung (leider neues Posting, da man älter Postings nicht mehr ändern kann):
    11.07.06:
    -------------
    - Hinweis bzgl. sources.list eingefügt
    - core modules hinzugefügt

    13.07.06:
    -------------
    - Hinweis auf /etc/hotplug/blacklist für ctvdr 4.5


    Hier nochmal eine Zusammenfassung des Ganzen:
    Die Anleitung bezieht sich auf ctvdr5, sollte aber auch für 4 und 4.5 stimmen, nur dass dort eine ältere Version von hotplug zum Einsatz kommt, und daher das blacklisten laut http://www.vdr-wiki.de/wiki/index.php…eiber_festlegen etwas anders geht (habs nicht ausprobiert).

    Das Problem:
    Problem 1:
    Bei Verwendung von TechnoTrend Karten (FullFeatuered und Budget zusammen in einem System, z.b. Nexus und Nova) kann es vorkommen dass die Treiber manchmal in der richtige Reihenfolge geladen werden (erst dvb_ttpci und dann budget_ci) und manchmal umgekehrt.

    Dies führt dazu dass z.b. das RemotePlugin (aber auch bei andere Funktionen, z.b. ältere Mplayer Versionen oder SmartCards an den TT Karten) manchmal funktionieren und manchmal nicht. Teilweise läßt sich dieses Problem durch umstecken der Karten in den PCI Slots entschärfen, aber die richtige Lösung findet sich hier.

    Problem 2:
    Zusätzlich zu diesem Problem gibt es aber noch ein zweites:
    Iin der /usr/sbin/runvdr ist ein Fehler der dazu führ dass bei einem VDR restart die DVB Treiber in genau der umgekehrten Reihenfolge geladen werden.
    D.h.: selbst wenn die FB normalerweise geht kann es bei einem VDR crash oder einen restart über das Menü dazu kommen dass die FB nicht mehr geht, weil die Treiber jetzt anders geladen werden.

    Die Lösung:

    Lösung zu Problem 2:
    (als erstes weil es alle betrifft)

    Das 2. Problem wurde in vdr_1.4.0-1ctvdr2_i386 gefixed, daher sollte man als allererstes sein System updaten:
    - /etc/apt/sources.online in sources.list umbenennen
    - weil sich das repository für die Multimedia Dateien geändert hat muss der nerim.net eintrag auf
    deb http://www.debian-multimedia.org sarge main
    geändert werden (z.b.: nano /etc/apt/sources.list)
    - apt-get update
    - apt-get upgrade

    Wer nicht updaten will kan auch manuell die datei /usr/sbin/runvdr editieren und die Funktion get_modulenames durch diese hier ersetzten:

    Code
    function get_modulenames()
    {
        if [ "$KVERS_2_6" ]; then
            MODULES=`lsmod | awk '/^dvb_core/ {gsub(/,/,"\n", $4); print $4}' | tac`
            [ "$MODULES" ] && MODULES="$MODULES dvb_core"
        else
            MODULES=`lsmod | grep dvb-core | cut -d'[' -f2 | cut -d']' -f1`
            [ "$MODULES" ] && MODULES="$MODULES dvb-core"
        fi
    }

    Bei manchen Systemen könnte auch vdrdevel zum einsatzkommen, dort muss dann statt der runvdr die runvdrdevel editiert werden

    Achtung: Wenn der VDR neu installiert wird und dabei eine version vor vdr_1.4.0-1ctvdr2 verwendet wird, wird diese Änderung überschrieben und muss daher von hand neu gemacht werden.

    Um zu prüfen welche Version installiert ist und welche Version installiert würde kann man
    - apt-get update
    - apt-cache policy vdr

    eingeben und erhält sowas:

    Wer nur das restart Problem hat ist hier fertig, aber es schadet meist nicht auch den Rest zu machen

    Lösung zu Problem 1:
    (nur für die bei denen die FB manchmal oder immer nach dem neu booten nicht geht)

    Man muss dafür sorgen dass die Treiber beim booten nicht (in falscher Reihenfolge) geladen werden.

    CTVDR5:
    Dafür trägt man in /etc/modprobe.d/blacklist einfach ganz unten folgendes ein

    blacklist dvb_core
    blacklist dvb_ttpci
    blacklist budget_core
    blacklist budget_ci

    CTVDR4 und 4.5:
    Hier befindet sich die blacklist an andere Stelle.
    Einfach in /etc/hotplug/blacklist.d eine datei erzeugen und die Module eintragen.
    - mit "touch myblacklist" die datei myblacklist erzeugen
    - mit einem editor folgendes eintragen

    Alternativ (ebenfalls ungetestet) soll es eine datei /etc/hotplug/blacklist geben in die das einzutragen ist

    dvb_core
    dvb_ttpci
    budget_core
    budget_ci

    Hab leider kein ctvdr4/4.5 system, wenns jemand getestet hat bitte hier posten, damit ich die Anleitung entprechend anpassen kann.


    Jetzt noch die treiber in /etc/modules eintragen damit sie in richtiger reihenfolge geladen werden

    dvb_core
    dvb_ttpci
    budget_core
    budget_ci

    (die core komponenten werden automatisch mitgeladen, aber Schaden auch nicht.-))

    neu booten und fertig

    Klingt komplizierter als es ist, kann man in weniger als 5 Minuten erledigen.

    Danke an alle die bei der Lösung geholfen haben !

    hmm, das muesste aer korrekter weise

    dvb_core
    dvb_ttpci
    budget_core
    budget_ci

    und

    blacklist dvb_core
    blacklist dvb_ttpci
    blacklist budget_core
    blacklist budget_ci

    heissen, wobei (soweit mir bekannt) die core komponenten zumindest beim laden weggelassen werden können (werden automatisch mitgeladen). Ich schreib sie aber doch mal mit in die Anleitung, nur sicherheitshalber.-)

    deine kritik ist ist schon ok, aber ich möchte darauf hinweise dass ich oben schon von make allmodconfig gerdedt habe, und wo habe ich das wohl her (genau aus dem von dir zitierten readme) :-))

    Ich geb ja zu ich bin keine Leuchte bei dem Thema, aber ich bemühe mich, und habe sowohl google wie auch die boardsuche bemüht, ich denke das problem ist eher exotisch.

    edit: juhuu, doppel-ass :-))

    Greywolf

    hmm, klappt nicht, die sources datei ist leer

    Aber ich haette da nochwas:-))

    wie kann ich aus der ausgabe von

    http://www.kernel.org/kdist/finger_banner

    die aktuelle kernelversion extrahieren? Ich möchte dass die version (aktuelle ist das 2.6.17.4) in einer variable gespeichert wird, damit ich sie im restlichen script verwenden kann...

    anyone?

    Greywolf:

    ich suche eher eine möglichkeit die sources zeilen in einer variable abzulegen um sie dann einfach in die sources.list zu schreiben. Der Grund: diese Zeilen sollen konfigurierbar sein und der benutzter soll ja nicht das ganze script durchgehen muessen, sondern nur am anfang ein paar settings machen...

    ich hatte sowas probier, aber das funktioniert nicht:

    mysources = 'deb http://ftp2.de.debian.org/debian sarge main non-free contrib
    deb http://security.debian.org/ sarge/updates main contrib non-free
    deb http://www.debian-multimedia.org sarge main
    deb http://e-tobi.net/vdr-experimental sarge base backports addons vdr-multipatch
    deb http://www.heise.de/ct/ftp/projekte/vdr5 updates/'

    echo $mysources >> ./sources.list

    mein problem ist, ich möchte folgendes machen (ctvdr5) :

    es sollte möglichst automatisch gehen, allerdings stört dabei das make menuconfig (gibts ne alternaive?) und ich bekomme beim kernel builden immer eine meldung wegen dem initrd (sind sie sicher?)

    Any Ideas?