Re: [Debian] verschieden Booten
Christian Roth <cr@rothmedia.net> writes:
> Hallo Leute,
>
> ich habe eine Frage bzgl. versch. Bootumgebungen.
> Mit einem Laptop logge ich mich in einem LAN ein. Der Bootvorgang
> klappt sehr schnell. eth0, dhcpd, sendmail alles antwortet schnell.
>
> Wenn das Geraet nun mal nicht am LAN haeng dann dauert es viel
> laenger weil die einzelnen Dienste immer auf einen Timeout warten
> muessen. eth0 sucht vergeblich nach einem Netz. dhcpd bekommt auch
> keine Antwort, ntp auch nicht.
>
> Gibt es eine einfache Moeglichkeit beim Booten 2 Arbeitsumgebungen
> einzurichten und dem Laptop jeweils zu sagen: jetzt bitte mit LAN, und
> jetzt bitte ohne?
ja. per runlevel.
der allererste prozess nach dem booten heisst /sbin/init. init
initialisiert konsolen, forkt login-prozesse, etc. jeder prozess
im system stammt letztendlich von init ab.
darueberhinaus initiiert init das abarbeiten von /etc/rc<x>.d, wobei
<x> dem runlevel entspricht und in der regel zwischen 1 und 5 liegt.
die konfigurationsdatei heisst /etc/inittab. hier wird auch der
defaultrunlevel, normalerweise 2 definiert.
das fuehrt letztendlich dazu, das beim booten automatisch jedes skript
in /etc/rc2.d/S<y>* gestartet wird. 'S' wie start, <y> ist eine
nummer um die reihenfolge zu kontrollieren. normalerweise sind das
alles links auf die entsprechenden skripten in /etc/init.d, die dann
mit dem parameter 'start' (oder 'stop' wenn ein K (=kill) davorsteht)
aufgerufen werden.
alle anderen rc*.d sind zwar vorhanden, werden aber nie benutzt,
solange du nicht mit 'init <x>' zur laufzeit den runlevel aenderst.
sagen wir mal, runlevel 2 passt fuer deine lan-umgebung. was du jetzt
willst ist, in /etc/rc3.d alles rauszuschmeissen, was du fuer no-lan
nicht haben willst. das bedeutet du renamest z.B. S666dhcp in
K666dhcp.
wenn das passt, sollte aufruf von 'init 3' den no-lan modus
herstellen, und 'init 2' wieder den lan modus. cool.
jetzt zum kaltstart:
step 1:
leg dir zwei configs in /etc/lilo.conf an. ungefaehr so:
--schnipp--
default=lan
image=/vmlinuz
label=lan
image=/vmlinuz
label=nolan
append="3" # '3' wird als argument zu init geschoben.
# siehe linux/init/main.c
--schnapp--
evtl. schon (global) vorhandene 'append's in lilo.conf werden
uebrigens in diesem beispiel ueberdefiniert und nicht erweitert, wie
ich gerade feststelle. also bei append immer alles hinschreiben.
step 2:
'lilo' aufrufen.
step 3:
bei naechsten reboot am 'boot:'-prompt:
boot: <return> oder <lan> fuer lan
oder
boot: nolan
fuer init in rulevel 3.
hth,
dns
--
___________________________________________________________________________
mailto:stodden@in.tum.de
--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------
$COUNT eingetragene Mitglieder in dieser Liste.
Reply to: