[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: