[linux-l] [Ubuntu] Textkonsole, Boot- &Login

Frank Reker frank at reker.net
Mi Okt 25 21:10:54 CEST 2006


Am Wed 25. Oct 2006 12:44 +0000 schrieb Norman Steinbach:

>Habe das jetzt mal geändert, es wird jetzt jede Zeile "/etc/init.d/rc
><runlevel>" mit "once" anstatt mit "wait" aufgerufen. Dennoch dauert es
>immernoch ewig, bis die konsolen erscheinen. liegt evtl. am Inhalt des

koennte moeglicher weise daran liegen, dass du framebuffer
verwendest, und der erst sehr spaet initialisiert wird.
da hilft es die prio des framebuffer-start-scriptes zu
erhoehen. also in rc<runlevel>.d das xx in Sxxfb durch
eine niedrigere nummer zu ersetzen.


>Ich hätte nicht gedacht, dass es möglich ist, diesen Aufruf nochmal
>aufzusplitten...da wird ja (wenn ich das richtig verstanden habe) aus

am einfachsten (auch wenn nicht elegantesten) kopierst du
/etc/init.d so dass du zwei verzeichnisse haste:
/etc/init.d.once
/etc/init.d.wait
dann packst du in die jeweiligen unterverzeichnisse rc<runlevel>.d
nur die scripte, die du mit once bzw. wait aufrufen willst
(achte aber auf abhaengigkeiten der scripte von einander).
dann kopierst du die zeilen in /etc/inittab der art:
<id>:<runlevel>:wait:/etc/init.d/rc <runlevel>
so dass du zwei zeilen der art:
<id1>:<runlevel>:wait:/etc/init.d.wait <runlevel>
<id2>:<runlevel>:once:/etc/init.d.once <runlevel>
die reihenfolge mit wait und once ist wichtig!


>einer Datei (inittab) über ein Shellscript (/etc/init.d/rc) eine Liste
>von Startscripten die alle in einem Verzeichnis (/etc/rc<runlevel>.d)

ah rc<runlevel>.d liegt bei dir nicht in einem unterverzeichnis von
/etc/init.d sondern direkt in /etc. dann musst du, wenn du obiges
ausfuehren willst das erst aendern, und dann auch das script
/etc/init.d/rc entsprechend anpassen. - ist dann etaws komplizierter.


>aufgerufen werden müssten...irgendwie scheint es daran zu liegen, was
>die datei rc macht - nur dass die so verdammt viel macht, dass ich es
>noch nicht kapiere (das meiste scheinen aber überprüfungen zu sein, ob
>was sie machen darf/soll)...vielleicht liegt auch in /etc/rc<runlevel>.d

im wesentlichen macht das script rc nur, alle scripte in 
/etc/rc<runlevel>.d/ zu starten die mit S anfangen (und zwar
mit dem parameter start). 
bzw. beim wechseln des runlevels, werden zuerst alle scripte
in /etc/rc<oldrunlevel>.d/ die mit K anfangen gestartet mit
dem parameter stop.
wenn man's ganz genau nimmt stopt bzw. startet rc nur die
services (scripte), die nicht im jeweiligen anderen runlevel
auch auftauchen. wenn also in /etc/rc<oldrunlevel>.d/ ein
script mit K auftaucht, dass in /etc/rc<runlevel>.d/ mit S
auftaucht, dann wird dieses script weder mit stop, noch
anschliessend mit start aufgerufen. (waere ja auch ziemlich
daemlich es erst zu stoppen, um es dann neu zu starten).

das und nichts anderes macht das script /etc/init.d/rc.


PS: schick mir mal (privat) deine /etc/inittab und die ausgabe
von:
ls -lRF --color=no /etc/init.d/
sowie:
ls -lRF --color=no /etc/rc?.d/
und wenn vorhanden:
ls -lRF --color=no /etc/boot.d/


-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20061025/9a828286/attachment.sig>


Mehr Informationen über die Mailingliste linux-l