Runlevel-Wechsel aus VDR heraus

  • Hallo


    Mal eine Frage bezüglich Runlevels. Ich habe mir einen zusätzliche Runlevel vdr gebaut. In dem werden nur die wichtigsten Dinge gestartet um VDR zu betreiben. In meinen Default Runlevel steht nebenher auch alles zusätzliche wie nfs samba webmin usw. Den vdr-Runlevel habe ich zum Standard-Runlevel gemacht, sodas der immer default gebootet wird. Jetzt möchte ich gerne per commands.conf on thy fly in den Default-Runlevel switchen switchen, wenn ich Netzwerk-Sachen brauche. Das sollte doch eigentlich funktionieren. Ich habe in die commands.conf die Befehle zum Wechsel eingetragen (rc default, rc vdr), jedoch bekomme ich einige Fehlermeldungen, die ich erst heute Abned posten kann. (bin @work). Hat das schonmal jemand probiert? Ist bestimmt nur ein Schusslichkeits-Fehler von mir. :)


    Martini

  • Hi


    Ja, danke. Mit init kommen die Fehler auch. Aber wie gesagt, ich muß noch mal den genauen Wortlaut posten. Ich bin @work, ich schaue heute abend noch mal. Mit irexec hab ichs allerdings noch nicht probiert.


    Martini

  • Hi ,
    meinst nicht , das es besser gewesen wäre es mit in
    den vorhandenen Runleveln mit einzubauen ?


    Kannst doch in deinem Startscript angeben , wann
    VDR gestartet werden soll.
    #+++++++++ runvdr ++++++++++
    #!/sbin/runscript
    #......
    #.......
    depend() {
    need modules
    }


    start() {
    ebegin "Starting VDR"
    /usr/local/src/VDR/vdr -Pdvd blabla
    eend
    }
    #+++++++ end of runvdr ++++++++++++


    Dann nur noch :
    cp runvdr /etc/init.d
    rc-update add runvdr boot


    So mache ich das ungefähr ;).
    VDR wird gleich nach den Modulen gestartet.


    Wenn du jetzt irgendwann Samba brauchst ,
    dann kannst du das ja auch in der commands.conf
    eintragen.
    Z.B. :
    # +++++++ commands.conf ++++++++++
    Samba starten : etc/init.d/net.eth0 start ; /etc/init.d/samba start ...und so weiter
    # +++++++ end of commands.conf +++++


    Wenn du das dann ganz genau haben willst , dann baust du es so in ein Script ein , das der Dienst vor
    der Anwendung gestartet wird und nach Beendigung
    der Anwendung der Dienst wieder beendet wird.
    Das spart Resourcen ;)........


    Nur mal so zur Anregung....
    Trotzdem würde mich mal dein Vorgang interessieren
    Bye


    Kannst ja auch mal das versuchen :
    #++++++ runvdr ++++++++++
    depend() {
    before * #<-- OHNE GEWÄHR :D
    }


    bla bla......
    # ++++++ end of system +++++++++++
    und dann ab in boot runlevel.
    Habe es aber weder getestet noch drüber nachgedacht ob es funzt. Die Module müssen auf
    sicher im Script geladen werden.

  • Hi


    Danke Morone !
    Jo, das ist ja auch ne Möglichkeit, hab ich noch nicht drüber nachgedacht. Habe mich auch immer gescheut was in den Boot-Runlevel zu schmeißen. Ich wollte einfach zwei Runlevels aus Geschwindigkeitsgründen, einen der schnell bootet für VDR im normalen Betrieb und wenn ich dann halt Netzwerk brauche in den anderen wechseln und VDR wieder starten. Ich meinte, so müßte es doch auch gehen, oder? nur mal so theoretisch gesehen. Aber ich probiere mal trotzdem noch weiter, vielleicht gehts ja so auch irgendwie. Wenn nicht ist die Lösung von dir natürlich was wert, deswegen auch.... nochmals Danke :)


    Martini


    /edit on
    Hey cool. Hab gerade noch mal drüber nachgedacht. Das ist wohl wirklich die gängigste Methode :) Ich meine früher kann man VDR wohl kaum starten, oder?
    Danke
    /edit off

  • Hi,
    auf jedenfall die eleganteste Methode , denke ich mal ;).
    Denn wenn du dir da einen eigenen Runlevel erstellst und die Abhängigkeiten stimmen nicht , kann es passieren ,
    a.) Nur ' ne Fehlermeldung , weil Dienst schon vorher gestartet wurde. Ist aber nicht so schlimm
    b.) Irgendein Dienst wird garnicht gestartet , weil ein
    abhängiger Dienst "need diesunddas" garnicht gestartet wurde.


    Da lässt es sich leicht das System zerschiessen.


    Deswegen kriegst ja auch immer ne Ausgabe nach
    "rc-update .......something"
    Check Dependencies........ o.ä.
    Könnte auch der Grund deiner Fehlermeldungen sein.


    Denke mal da wird die Reihenfolge generiert , von
    der Logik her gesehen..heheh.
    Wenn da im script nix mit "depend .." ist, wird es
    wohl am Ende des Runlevel geladen.


    Jedenfalls kann man da einiges mit machen , wenn
    man sich die anderen Scripts mal anschaut.
    Daher habe ich es auch erst verstanden :D


    Bye

  • Hi


    Hm, hast Recht. Naja ich hatte die benötigten Scripte aus dem Default-Level in den neuen übernommen, halt nur weiniger. Das heißt ohne samba, nfs und webmin erstmal, aber vdr logischerwiese in beide. Auch local habe ich in beiden. Aber erstmal egal...ich teste mal di e Methode von dir..gefällt mir gut. Aber noch ne Frage wegen den Depends. Wenn ich LCD und LIRC habe, brauchen die doch NET als Voraussetzung, wenn ich mich nicht irre? Nagut, ist ja auch nicht schlimm, dann startet der VDR halt nicht nach den modules. Aber auf jeden Fall bestimmt ne gute Lösung.


    Danke
    Martini

  • Also ich würde dann sowieso was du für VDR später alles brauchst in den Bootlevel schieben nachdem
    du es aus dem default entfernt hast.
    Ist bei ner VDR Kiste wohl ehh egal.


    Mußt natürlich vorher rc-update del .... machen , sonst
    hängt das trotzdem irgendwo im Script.
    Was geladen werden mußt , muß halt geladen werden .
    Daran kommst ja net vorbei.


    Noch einfacher ist es auch wenn du alles aus dem Bootlevel entfernst und nur das Startscript für VDR
    da reinpackst.
    In dem Startscript lädst du halt die
    Dienste die du für VDR brauchst.


    ++++++++++ runvdr ++++++++++++
    #!/sbin/runscript
    /etc/init.d/checkroot start;
    /etc/init.d/netzwerk start;
    ...
    ...
    /usr/local/src/vdr;
    +++++++ end of runvdr ++++++++++


    So kann man das leicht ausloten was man wirklich
    braucht , indem man es auskommentiert.
    Schneller geht es dann halt nicht.
    Bleibt nur noch der Kernel zu optimieren.


    Bye

  • Hi


    OK, Dank dir. Werde das mal auf Art testen. Mit dem Kernel bin ich zufrieden. Hab so ziehmlich alles als Module drin und lad die über modules.autoload, was halt notwendig ist. Wie gesagt, mit dem Boot-Runlevel war ich immer vorsichtig. Aber ist ja im Prinzip auch nix anderes, außerdem gibts Backups :D


    PS: Schläfts du auch mal :)


    Martini

Jetzt mitmachen!

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