# [gelöst] Neues runlevel einfügen

## wuesti

Moin!

Im Runlevel default stehen viele Netzwerkserver und Hardwaretreiber, die nach dem Alphabet abgearbeitet werden. So wird xdm erst als letztes gestartet.

Den Systemstart habe merklich beschleunigen können, indem ich xdm und hal (wg. der Tastatur) in das Runlevel boot verschoben habe. So wird die Zeit genutzt, während die anderen Startskripts auf Rückmeldung warten.

Ich empfinde es als nicht sonderlich elegant, wenn der Xserver im Runlevel boot gestartet wird. Gibt es daher eine Möglichkeit ein Runlevel x zwischen boot und default einzufügen?

Vielen Dank

wuestiLast edited by wuesti on Sat Oct 23, 2010 4:01 pm; edited 1 time in total

----------

## l3u

Die Scripts werden nicht alphabetisch, sondern aufgrund ihrer Abhängigkeiten gestaret. Die kannst du in /etc/rc.conf auch anpassen. Die Runlevel sind Verzeichnisse unterhalb von /etc/runlevels/, da kann man beliebig welche hinzufügen. Aber ob man einen Runlevel zwischen boot und default abarbeiten lassen kann, weiß ich nicht.

----------

## wuesti

 *l3u wrote:*   

> Die Scripts werden nicht alphabetisch, sondern aufgrund ihrer Abhängigkeiten gestaret.

 

Laut http://www.ansatheus.de/_at_dokserver/1_Linux/2_Linux-Distributionen/1_Gentoo/gentoo_rc_deutsch.pdf spielt die Reihenfolge doch eine Rolle: 

 *Quote:*   

> Die generelle Startreihenfolge der Dienste innerhalb eines Runlevels ist alphabetisch. Dies liegt an der
> 
> Sortierung der Ausgabe von /bin/ls.

 

 *l3u wrote:*   

> Die kannst du in /etc/rc.conf auch anpassen.
> 
> 

 

Nein, es ist die /etc/inittab. Sie enthält folgendes:

```
l0:0:wait:/sbin/rc shutdown 

l0s:0:wait:/sbin/halt -dhp

l1:1:wait:/sbin/rc single

l2:2:wait:/sbin/rc nonetwork

l3:3:wait:/sbin/rc default

l4:4:wait:/sbin/rc default

l5:5:wait:/sbin/rc default

l6:6:wait:/sbin/rc reboot

l6r:6:wait:/sbin/reboot -dk

#z6:6:respawn:/sbin/sulogin

```

ich habe die Zeile 

```
l3:3:wait:/sbin/rc default
```

 in 

```
l3:3:wait:/sbin/rc x
```

  geändert und unter /etc/runlevels ein Verzeichnis x erstellt. Darin befinden sich der hald und xdm. Ob es funktioniert, berichte ich nach einem Neustart.

----------

## wuesti

```
l3:3:wait:/sbin/rc x
```

ist etwas naiv  :Smile: .

Dann startet gentoo die Runlevel boot und x. Default wird nicht angefasst. Wenn ich nun als root 

```
rc default
```

 eingebe, werden die Server aus x beendet und dann die des Runlevels default gestartet. 

Auch ein 

```
# Default runlevel.

id:4:initdefault:
```

 funktioniert nicht. Dann wird default gestartet und x ausgelassen.

----------

## wuesti

Die Lösung ist eigentlich einfach. Ich habe mir ein Skript /etc/init.d/aaa erstellt, das wie folgt aussieht:

```
#!/sbin/runscript

depend() {

  need hald xdm

}

start() {

  ebegin "Starten meines Dienstes"

  start-stop-daemon --pidfile /var/run/wuesti.pid

  eend $?

 }

stop() {

  ebegin "Stoppen meines Dienstes"

  start-stop-daemon --stop --pidfile /var/run/wuesti.pid

  eend $?

  

}
```

Nun noch ein 

```
rc-update add aaa default
```

und schon werden hald, xdm und die dafür benötigten Dienste zuerst gestartet.

----------

