Startupskripte

Hier geht's nur um das JtG-Team Image
Antworten
Nachricht
Autor
palace
Site Sponsor
Site Sponsor
Beiträge: 293
Registriert: Mo 10 Apr 2006, 11:18
Kontaktdaten:

Startupskripte

#1 Beitrag von palace » Di 21 Nov 2006, 20:15

Hallo,

vielleicht ist hier ein Linuxer, der mir folgendes erklären kann:

1.
rcS bleibt offen
Am Ende der rcS steht:

Code: Alles auswählen

if [ -e /var/tuxbox/start_neutrino ] ; then
 /var/tuxbox/start_neutrino
else
 /etc/init.d/start_neutrino
fi;

exit 0
somit bleibt der Shellprozess "rcS" unnötig offen; muss das bei Linux so sein?
Oder hilft ein " &" hinter ".../start_neutrino"?

2.
in der "init1" steht "touch /tmp/init"
zurück in der rcS dann:

Code: Alles auswählen

/bin/sleep 2

until [ -e /tmp/init ]; do
 /bin/sleep 1
done
rm /tmp/init
Ich lese das so: Schlafe, solange "/tmp/init" existiert.
Dann lösche es... Hä?
EDIT: Aso, wartet, BIS /tmp/init vorhanden ist. also "sleep 2" unnötig?

Ansonsten schaue ich mir gerade die Startskripte an, versuche sie zu verstehen, ohne die Abhängigkeiten zu kennen ;)
------
palace.

DBox2 Nokia Kabel 2x Intel, Avia 500, 400 GB HDD
Jeweils aktuelles JTG Snap

saruman
Einmal-Streamer
Einmal-Streamer
Beiträge: 8
Registriert: So 08 Mai 2005, 7:11

Re: Startupskripte

#2 Beitrag von saruman » Di 21 Nov 2006, 21:06

palace hat geschrieben:1.
rcS bleibt offen
Am Ende der rcS steht:

Code: Alles auswählen

if [ -e /var/tuxbox/start_neutrino ] ; then
 /var/tuxbox/start_neutrino
else
 /etc/init.d/start_neutrino
fi;

exit 0
somit bleibt der Shellprozess "rcS" unnötig offen; muss das bei Linux so sein?
Oder hilft ein " &" hinter ".../start_neutrino"?
Ja, in diesem Fall kann ein '&' helfen. Das befördert den Prozess start_neutrino in den Hintergrund, die rcS kann weiter abgearbeitet werden und terminiert dann, weil nur noch ein "exit 0" hinter dem start_neutrino auftaucht.
palace hat geschrieben:2.
in der "init1" steht "touch /tmp/init"
zurück in der rcS dann:

Code: Alles auswählen

/bin/sleep 2

until [ -e /tmp/init ]; do
 /bin/sleep 1
done
rm /tmp/init
Ich lese das so: Schlafe, solange "/tmp/init" existiert.
Dann lösche es... Hä?
EDIT: Aso, wartet, BIS /tmp/init vorhanden ist. also "sleep 2" unnötig?

Ansonsten schaue ich mir gerade die Startskripte an, versuche sie zu verstehen, ohne die Abhängigkeiten zu kennen ;)
Ich kann jetzt mal nur vermuten, da ich Rikers Intention nicht kenne, aber ich denke mal dass hier das parallele Ausführen der Startskripte im Vordergrund steht um Bootzeit zu sparen. Weiter oben in der rcS steht ja

Code: Alles auswählen

if [ -x /var/etc/init1 ] ; then
 /var/etc/init1 &
else
 /etc/init.d/init1 &
fi;
Also wird init1 in den Hintergrund gestartet, die Abarbeitung von rcS kann weitergehen ohne auf die Terminierung von init1 zu warten. Jetzt könnte es aber zu einer Race Condition kommen: Wenn init1 zu lange läuft, wird init2 noch zur Laufzeit von init1 gestartet. Und das ist nicht gewünscht. Also wartet die rcS so lange, bis init1 das Flag /tmp/init (danach terminiert init1) setzt, damit dann init2 aus der rcS aufgerufen werden kann.

palace
Site Sponsor
Site Sponsor
Beiträge: 293
Registriert: Mo 10 Apr 2006, 11:18
Kontaktdaten:

#3 Beitrag von palace » Di 21 Nov 2006, 21:16

@saruman: Danke! So langsam scheine ich durchzublicken...
leider sind mir die Abhängigkeiten der Module nicht bekannt :(
Zu erstens denke ich nur, dass die rcS nicht offen bleiben muss...

weiter:
in der init2: "/bin/cdkVcInfo --neutrino" läuft schneller wenn "/bin/cdkVcInfo --neutrino ?"

Der lirc Daemon/Module ($INSMOD $MODDIR/avia_gt_lirc.o) muss nicht geladen werden, wenn es keine Konfig dafür gibt...
------
palace.

DBox2 Nokia Kabel 2x Intel, Avia 500, 400 GB HDD
Jeweils aktuelles JTG Snap

robspr1
Serienhai
Serienhai
Beiträge: 275
Registriert: Mo 28 Mär 2005, 10:48
Kontaktdaten:

Re: Startupskripte

#4 Beitrag von robspr1 » Di 21 Nov 2006, 22:16

palace hat geschrieben:...somit bleibt der Shellprozess "rcS" unnötig offen; muss das bei Linux so sein?
Oder hilft ein " &" hinter ".../start_neutrino"?
Also, rcS muss nicht offen sein.

Wenn du mittels telnet den offenen Process rcS killst (bei mir hat er die ID 10, daher also kill 10), dann hat man plötzlich die virtuellen Konsolen für die dBox-Tastatur zur verfügung -> also Alt-F2 und man hat eine nette Konsole am Fernseher, mit Alt-F1 wieder zurück zum normalen Bild.

saruman
Einmal-Streamer
Einmal-Streamer
Beiträge: 8
Registriert: So 08 Mai 2005, 7:11

#5 Beitrag von saruman » Mi 22 Nov 2006, 0:10

palace hat geschrieben:in der init2: "/bin/cdkVcInfo --neutrino" läuft schneller wenn "/bin/cdkVcInfo --neutrino ?"
Das kapier ich grad nicht, liegt aber bestimmt daran dass ich nebenbei noch nen großen Change abfackel und ich auch schon nicht mehr sonderlich frisch bin.

Meinst Du, dass die init2 schneller abgearbeitet ist, wenn Du ein '&' an das cdkVcInfo hängst?
palace hat geschrieben:Der lirc Daemon/Module ($INSMOD $MODDIR/avia_gt_lirc.o) muss nicht geladen werden, wenn es keine Konfig dafür gibt...
Jo, denn mal fleissig ans Werk:

Code: Alles auswählen

if [ -e <LIRC_CONFIGFILE> ]; then
  $INSMOD $MODDIR/avia_gt_lirc.o
fi
oder auch kürzer

Code: Alles auswählen

[ -e <LIRC_CONFIGFILE> ] && $INSMOD $MODDIR/avia_gt_lirc.o
:)

palace
Site Sponsor
Site Sponsor
Beiträge: 293
Registriert: Mo 10 Apr 2006, 11:18
Kontaktdaten:

#6 Beitrag von palace » Mi 22 Nov 2006, 14:19

saruman hat geschrieben:Meinst Du, dass die init2 schneller abgearbeitet ist, wenn Du ein '&' an das cdkVcInfo hängst?
Hi, genau so mein ich das...

Hm - wo man da aber 20 Sekunden früher zu Bild & Ton kommen sollte seh ich nicht.
Dass irgendwelche Module nicht gebraucht werden weiss und glaub ich nicht.

Es sei denn man lädt erst nur das, was für Bild und Ton benötigt wird, startet Neutrino und lädt den "Rest" parallel dazu und z.B. den FB Treiber zum Schluss...
------
palace.

DBox2 Nokia Kabel 2x Intel, Avia 500, 400 GB HDD
Jeweils aktuelles JTG Snap

Riker
TuxBox CDK Experte
TuxBox CDK Experte
Beiträge: 1466
Registriert: Mo 04 Aug 2003, 16:22
Wohnort: Hallenberg.com
Kontaktdaten:

#7 Beitrag von Riker » Mi 22 Nov 2006, 20:58

Das langsamere starten der aktuellen Images kommt vorallem durch LZMA Kompremierung, das dauert länger zum Entpacken, die Imageinfo kann man ja auch abstellen, mit & dahinter ruckelt die rum wenn die nächsten Treiber laden wegen dem entpacken des Dateisystems.

Riker
1. Nokia Sat 2xI Avia 600 7-farbiges Display, IDE 120GB HDD 2,5"
2. Dreambox DM8000-HD an 46" Full-HD Samsung LED-TV
3. Diverese d-Boxen und Dreamboxen im Schrank
4. habe fertig

Antworten