VDR schneller starten

  • Hi,


    ich weiß, dass dieses Thema schon das ein oder andere Mal angeschnitten wurde, aber ich finde es recht wichtig und mache daher mal ein neues Thema auf.
    Ich suche allgemein nach allen Möglichkeiten, die Zeit vom Anschalten des PCs bis zum "Erwachen" von VDR zu verkürzen. Das lässte sich vielleicht grob in 3 Kategorien einteilen:


    1. Prozesse des BIOS bzw. vor dem Laden des OS
    2. Prozesse bzgl Linux
    3. Laden des runvdr-Scriptes


    Ich denke mal, die meisten User werden VDR über /etc/inittab starten lassen. Aber vielleicht kann man es ja auch schon früher starten lassen, weil es so wirklich zu den letzten gestarteten Prozessen gehört.


    Ich bin für alle kreativen Vorschläge offen,


    mfg


    mat

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Hi Ronny!


    Danke für den Tipp!! Hast Du ihn mal ausprobiert? Mit diesem Konzept spare ich jetzt mit meiner lahmen Gurke an die 20 Sekunden bis zum Start von VDR! So habe ich das gemacht:
    - Eintrag zum Start von VDR in /etc/inittab gelöscht
    - ein Script zum Start/Stop von VDR erstellt (noch nicht perfekt, aber es läuft):



    - Ich gehe hierbei davon aus, dass sich im Verzeichnis /usr/local/bin die Scripte "runvdr" und "stopvdr" befinden, letzteres sieht bei mir so aus:


    Code
    #! /bin/sh
    #
    killall kvdr
    killall -9 vdr
    killall lircd
    killall -9 runvdr
    cd /usr/local/src/DVB/driver
    make rmmod


    - Auf einer Konsole ist folgendes zu tun, damit die Scripte funzen:
    mv stopvdr /usr/local/bin


    mv vdr /etc/init.d
    chmod +x /etc/init.d/vdr
    cd /etc/init.d/rc5.d
    ln -s ../vdr S01vdr
    ln -s ../vdr K23vdr


    Nun kann man noch folgendes machen:
    ln -s /etc/init.d/vdr /usr/bin/vdr
    Fortan lässt sich die ganze VDR-Geschichte mit vdr start bzw. vdr stop bzw. vdr restart steuern.


    Könnt ihr ja mal ausprobieren...


    mfg


    mat


    P.S.: Sollte man das mal Hubertus mitteilen?

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

    2 Mal editiert, zuletzt von maz ()

  • Hallo,


    also ich denke mal es wird überwiegend SuSE xx eingesetzt.
    Da empfielt es sich den Kernel neu zu übersetzen und
    nur die Dienste zu starten ,welche man auch wirklich braucht.


    Unter gentoo starte ich nur alles was ich fürs Netzwerk
    brauche , Samba , metalog (Systemlogger) ,atd, vcron.
    Ansonsten mal die Minilinuxdistri von BigEgor anschauen (Version 0.5.0 SuSE 7.3 glaube ich).
    Die startet wirklich schnell.
    Wenn man ansonsten nicht viel anderes nutzt , dann
    kann man da wirklich abspecken (< Bootzeit)


    Ich hatte mal testweise SuSE 8.0 drauf und was da alles an Diensten standardmäßig gestartet wurde war
    allerhand.
    Vielleicht auch mal den Kernel 2.5.50 ac1 (was ich heute nachmittag versuchen werden) einsetzen , da
    dort ja die DVB-Treiber enthalten sind. Schaun wer mal.


    Im Bios halt die bekannten Sachen machen wie:
    First bootdevice
    Disable Smart
    Festplattenparameter eintragen
    Alles was mit durchchecken zu tun hat und nicht
    unbedingt notwendig ist deaktivieren.


    Bye

  • Hi,


    das Problem bei mir ist, dass mein VDR-Rechner gleichzeitig auch mein Desktop-Rechner ist. Es werden also biem Booten nicht nur lilo (um Windows booten zu können) und allerhand Treiber geladen. Ich muss aber sagen, dass ich mit diesem Konzept nun sehr zufrieden bin! Nach den allernötigsten Prozessen wird nämlich jetzt zuerst VDR gestartet. Dabei macht das System bei mir eine Pause von 20 Sekunden (den sleep im vdr-Script muss man auf seine eigenen Verhältnisse anpassen), so dass der DVB-Treiber und VDR in Ruhe starten können. Dann werden die übrigen Prozesse geladen. Ich denke, viel mehr lässt sich aus meiner Kiste nicht rausholen...


    mfg


    mat

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Hi,


    also will ich Dich mal aufklären :-).
    Du sagst also die Scripts funktionieren bei Dir auf der Konsole. Nein Du brauchst nichts extra eingeben, um VDR zu starten, meinst Du ich habs nicht gern bequem? Du brauchst nur noch das o.g. script "vdr" nach /etc/init.d kopieren und dann dann symbolische Links z.B. in /etc/init.d/rc5.d anlegen, die VDR beim Hochfahren starten bzw. beim Herunterfahren stoppen. (Wenn Deine VDR-Kiste Tag & Nacht durchläuft, kannst Du Dir die Mühe natürlich sparen.)


    Wo der Vorteil liegt? Ich finds einfach nervig, dass jedesmal so viel Zeit vergeht, bis VDR nach dem Anschalten des Rechners zum Leben erwacht. Bei Eintrag in /etc/inittab werden DVB-Treiber & VDR erst ganz zum Schluss geladen, mit dieser Methode aber deutlich früher. Dies bringt mir einen Zeitgewinn von etwa einer halben Minute, bis das Fernsehbild erscheint.


    Obs bei Dir nun viel bringt oder nicht, vermag ich nicht zu sagen, aber ich bin mir sicher dass es bei vielen Usern schon einen Vorteil bringt.


    Gruß


    mat

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Na endlich mal jemand der vdr nicht über die inittab startet :)


    Anbei meine Skripte zum starten über runlevels als anregung :


    vdradmin,
    dvdparm,
    startlirc,
    startdvb,
    startvdr und
    vdr2divx als tarfile


    Irgendwann kommen die noch in die install skripte rein.


    Die links unter rc5.d sind so gesetzt :


    S95vdradmin -> ../vdradmin
    S85startlirc -> ../startlirc
    S81startdvb -> ../startdvb
    S90startvdr -> ../startvdr
    S95vdr2divx -> ../vdr2divx


    Für Optimale geschwindigkeit kann das noch angepasst werden.


    Gruß
    Dimitri

  • Hi Ronny,


    die Konzepte von Dimitri und linvdr funktionieren bestimmt auch sehr gut, nur ist mein "vdr"-Script genau auf meine und -wie ich glaube- die Zwecke der meisten anderen "gewöhnlichen" User wohl am zweckmäßigsten. Ich verstehe bei Dimitri nicht ganz, warum er die so viele einzelne Scripte bentzt, anstatt einfach das runvdr Script zu laden, mit dem doch alle nötigen Prozesse gestartet werden.
    Hier noch mal mein "vdr" Script (die Fehlermeldung taucht nun nicht mehr auf):


    ~~~~ MOD ON ~~~~


    Und noch einmal geändert in CODE siehe oben :-))
    mfg Ronny


    ~~~~ MOD OFF ~~~~



    Gruß


    mat

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Ganz einfach,


    ich habe probleme mit dieser konstruktion in runvdr.


    [ -d /usr/local/src/dvd ] && /sbin/hdparm -u1 /dev/cdrom;/sbin/hdparm -X34 /dev/dvd
    [ -d /usr/local/src/lirc* ] && setserial /dev/ttyS0 uart none;modprobe lirc_serial;/usr/local/sbin/lircd &
    [ -d /usr/local/src/lcdpro* ] && cd /usr/local/src/lcdproc-0.4.3 && ./server/LCDd -c /etc/LCDd.conf &
    [ -d /usr/local/src/vdradmin ] && /usr/local/src/vdradmin/vdradmind.pl


    Früher war bei mir da auch der wait2enc.sh drin.


    Resultat : Nach jedem vdr restart (per hand runvdr) liefen da zig prozesse mehrmals parallel.


    Bei manchen sachen ist es halt nicht schlimm ( vdradmin lircd ).
    Da kommt es halt zum Fehler weil die per definition nicht mehrmals laufen können, schön finde ich es trotzdem nicht.



    Wenn jemand aber auf die idee kommt hier sachen einzubauen die mehrmals laufen können ( wait2enc ) und nicht prüft ob der Prozess bereits läuft darf er sich nicht wundern wenn sein system auf die Gnie geht.


    Für Leute die also auch das runvdr mal killen sind eigentlich nur vorteile zu sehen und keine Nachteile.


    Ich bin sogar soweit gegangen das runvdr selbst in zwei teile zu zerlegen.


    Part 1 (runvdr):


    Part 2 : Runvdr


    Damit habe ich die möglichkeit aus der commands.conf teile per sed für Runvdr zu ändern ( Plugins hinzufügen/entfernen, AC3PLAY neu zu setzen, ... )
    ohne jedesmal runvdr neu starten zu müssen.


    Gruß
    Dimitri

  • Hi,


    wie schon gesagt es ist nur zufahl das diese konstelation funktioniert.
    vdradmin spert seinen port deswegen kann kein zweiter gestartet werden, ...


    Es verleitet allerdings dazu da weitere prozesse zu starten was dann fatale folgen haben kann.
    Zumindest eine prüfung ob der Prozess bereits gestartet wurde schadet da also nicht.


    Für das deinstallieren würde ich sowieso vorschlagen das wir ein deinstallationsscript schreiben, das könnte dann alles wieder sauber rauswerfen.


    Das script erlaubt ja jetzt schon die wahl zwischen runlevels und inittab. Bei gelegenheit werden ich die erweiterungen da mit reinbringen und jeder kann selbst entscheiden.


    Gruß
    Dimitri

  • Zitat

    Original von dimitri


    Damit habe ich die möglichkeit aus der commands.conf teile per sed für Runvdr zu ändern ( Plugins hinzufügen/entfernen, AC3PLAY neu zu setzen, ... )
    ohne jedesmal runvdr neu starten zu müssen.


    Gruß
    Dimitri


    Hi dimitri,
    ich wollte mal fragen,ob du vielleicht noch eine commands.conf zu den beiden runvdr-scripts
    posten koenntest.
    Habe selbst leider keine Ahnung,wie die entsprechende runvdr per commands.conf entladen und wieder geladen werden soll.
    Vielen Dank im Voraus.
    MfG

  • Hallo,


    das Einfügen und Löschen von Links in die Runlevel-Verzeichnisse kann mit insserv vereinfacht werden.
    (Siehe auch Hubertus Startanleitung zu vdradmin)


    Voraussetzung: im Kopf des Scripts stehen die nötigen Informationen wie


    ### BEGIN INIT INFO
    # Provides: VDR
    # Required-Start:
    # Required-Stop:
    # X-UnitedLinux-Should-Stop:
    # Default-Start: 3 5
    # Default-Stop: 0 1 6
    # Description: This script start VDR
    ### END INIT INFO
    #


    hinter #Default-Start: stehen die Runlevel in denen gestartet werden soll.


    <scriptname> ist bei mir startvdr


    Aufruf dann in /etc/init.d
    insserv -d <sriptname> // Links erstellen
    insserv -r <scriptname> // Links löschen


    Gruß gorax

  • gorax:


    moin,


    oder auch mit chkconfig
    - siehe man chkconfig


    sehr schönes tool !

    MFG
    JACOBSEN
    ------------------------------------------->
    Microsoft ist nicht die Antwort!
    Microsoft ist die Frage!
    Und die Antwort lautet:
    NEIN
    ------------------------------------------->

  • hi!


    also! grundsätzlich sehe ich eigentlich nicht ein, warum ich überhaupt den ganzen boot-schmonzes ertragen soll. am besten ist, man verzichtet gleich auf den ganzen init und startet den kernel mit init=/sbin/mysystemloader.


    wobei man mysystemloader selbst in C programmiert, welches einfach nur forkt und ein paar prozesse aufruft, zb ein paar modprobes und vdr und danach brav endlos non-busy sleept. Als Luxus kann man ja noch ein system("ifup eth0") einbauen. wer sich unbedingt auf der konsole einloggen muss (braucht man eh nicht, geht über ssh oder vdr-konsole) der startet halt noch eine getty.


    ACHTUNG: das ist nur für "appliance"-freaks empfehlenswert, die einen dedicated-vdr-rechner haben wollen, wo sonst nix mehr läuft.



    der linux-init liest die /etc/inittab, brauchen wir nicht, dann ruft er die rc-skripts auf, brauchen wir nicht, dann ist er zuständig für respawning der gettys, brauchen wir auch nicht, und dann fangt er zb ctrl-alt-del von der console ab, brauchen wir wohl auch nicht. also brauchen wir den ganzen init und die sysV-skripts eigentlich nicht - daher mein etwas radikaler ansatz.

  • Hi,
    Mal ne dumme Frage:
    Klappt das fruehe Starten auch wenn man VDR per Keyboard steuert ? Wenn ja was muss ich dann bei /t fuer den VDR-Start eintragen und wie muss ich in der Inittab die entsprechende Konsole starten ?
    Gruss
    HelAu


  • plugins on/off, per commands.conf ....


    by


Jetzt mitmachen!

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