Page 1 of 1

automatisches starten von skripten

Posted: Sun 18 Jan 2009, 13:33
by mato
Hallo an alle Puppies,

zuerst bitte ich um Nachsicht, wenn meine Fragen zu duemmlich sein sollten, ich kenne mich zwar mit Debian Linux ganz gut aus, aber Puppy ist echtes Neuland und so mache Dinge sind doch unterschiedlich.

Also:
Ich moechte eine PuppyCD bauen, die nur eine Backuproutine startet und dann den Rechner wieder runterfaehrt. Ich brauche kein X und keinen Schnickschnack.
Das Handbuch von Oliver Scholl beschreibt diesen Wunsch mit einem Eintrag in die /etc/rc.d/rc.local. Das habe ich getan und das Remastern der CD gestartet. Funktioniert auch alles ganz nett. Dann starte ich meine neue CD,die das System hochfaehrt aber beim #Prompt stehenbleibt. Das Skript wird nicht ausgefuehrt. Ein Blick in die rc.local verbluefft mich: sie ist leer.

Also das Ganze noch einmal. Aber diesmal habe ich in der Vorbereitungsphase in /tmp/etc/rc.d/ nachgeschaut.Die naechste Verblueffung: dort gibt es ueberhaupt keine rc.local.

Also bin ich ganz frech hingegangen und habe die /etc/rc.d/rc.local nach /tmp/etc/rc.d/rc.local kopiert und dann den Brennprozess zuende gefuehrt. Ergebnis: Diese CD bleibt beim Booten haegen und kommt nicht einmal zum #Prompt.

Was mache ich falsch?

Gruesse aus dem Schwarzwald
Mato

Posted: Sun 18 Jan 2009, 14:44
by MU
Hallo,
ich denke am günstigsten ist das Ende von /etc/profile.
Dort wird X gestarted (xwin), da kannst Du vorher Dein Script aufrufen und z.B. mit
exit 0
verhindern, daß X danach gestartet wird.

Vorteil:
1.) anders als bei rc.local sind alle Umgebungsvariablen gesetzt
2.) rc.local benutzt noch eine Ausgabeumleitung, so daß man z.B. statt
echo test
schreiben müsste:
echo test >/dev/console
Diese Ausgabeumleitung kann Probleme machen, so funktioniert z.B. "dialog" nicht ohne weiteres.
Mark

Posted: Sun 18 Jan 2009, 16:47
by mato
Hallo Mark,

vielen Dank fuer den Tip und die prompte Hilfe.
Ich habe es natuerlich sofort ausprobiert. Es geht hervorragend.
Mit einem reboot faehrt puppy am Ende sauber runter.

Hervorragend.

Und natuerlich gleich die naechste Frage: Kann ich beim Runterfahren die Frage nach der Sicherungsdatei abklemmen?
Wenn ja, wo?

Noch einmal vielen Dank.

Gruss,
Mato

Posted: Sun 18 Jan 2009, 17:05
by MU
das ist etwas fummeliger.
/etc/rc.d/rc.shutdown

etwa Zeile 530

Code: Select all

#first time booted puppy, there may not have been any persistent storage.
if [ $PUPMODE -eq 5 ];then #ifpupmode5
 #v2.16.1 pxe boot, humongous initrd, have PDEV1='' DEV1FS=''...
Danach kommt die Abfrage.
Man könnte die Bedingung "ungültig" machen, z.B.:

Code: Select all

#first time booted puppy, there may not have been any persistent storage.
if [ "1" != "1" ];then #ifpupmode5
 #v2.16.1 pxe boot, humongous initrd, have PDEV1='' DEV1FS=''...
Da dies immer unwahr ist, wird der Rest nicht ausgeführt.
Ich bin mir nicht sicher ob das reicht, aber da würde ich zuerst ansetzen.
Mark

Posted: Mon 19 Jan 2009, 20:01
by mato
Hallo Mark,

genau das war die Stelle und noch einmal vielen Dank fuer die schnelle Hilfe.
Das Problem ist geloest.

Gruss aus dem Schwarzen Wald
Mato