Het boot proces
Wat gebeurd er tijdens het booten van je Linux Systeem?
DOS gebruikt de bestanden CONFIG.SYS en AUTOEXEC.BAT, onder Linux is het veel interessanter.
Eerst het dure procuct:
Linux kan theoretisch een ongelimiteerd aantal runlevels bevatten, maar de volgende zijn standaard opgenomen:
Vanaf hier is alles afhankelijk van de gekozen distributie - zie ook /etc/inittab
The basic steps
Het voordeel van dit boot proces is de mogelijkheid om alles naar jouw wensen aan te kunnen passen.
In plaats van het Energy Star logo, kun je hier een leuk pinguïn logo plaatsen.
Meer informatie over het veranderen van het BIOS logo kan hier gevonden worden.
Een andere manier is met LILO, de LInux LOader. Deze laadt de kernel direct vanaf de fysieke sector op een harde schijf. Daarvoor schrijft LILO zichzelf in het Master Boot Record (MBR), samen met de sectoren waarin de kernels worden geplaatst. Na het kiezen van de juiste kernel, schrijft het deze in het geheugen en voert deze uit.
De kernel is dan klaar met zijn werk en het complete systeem en alle ontdekte en geactiveerde hardware is beschikbaar.
De berichten die het punt aangeven waar de kernel eindigt en de programma's beginnen, zien er uit als:
VFS: mounted root (ext2fs) filesystem read-only. (still Kernel)
INIT: Version X.XX booting (Reeds INIT)
/etc/inittab, waar het te starten runlevel wordt gevonden (id:X:initdefault:, waarbij X het nummer van het runlevel is).
Dan bekijkt INIT welk programma vervolgens gestart moet worden, omdat er nog geen server of shell is gestart, er nog geen netwerk verbinding is gemaakt en nog geen partitie beschikbaar is gemaakt. Dit alles geschiedt in de regel si:I:wait:PROGRAM.
Meestal staat PROGRAM voor /etc/rc.d/init.boot of /sbin/init.d/boot en wordt deze nu uitgevoerd.
Merk op: Ieder systeem kan anders zijn.
en als een partitie een probleem heeft, wordt het proces onderbroken en vereist een root login
Vaak is het bestand boot.local in dezelfde directory te vinden als waarin boot aan het eind wordt uitgevoerd. Hierin kun je bijkomende commando's plaatsen.
Natuurlijk kun je deze commando's in het boot script plaatsen, maar pas op! Het is verstandig niets te veranderen als je niet zeker weet waar je mee bezig bent./etc/inittab) en nu zijn alle scripts voor dit runlevel /etc/inittab: lN:N:wait:SCRIPT (N=runlevel). Meestal betekend dit dat alle scripts zich die zich bevinden in /etc/init.d/rcN.d (of vergelijkbaar) worden gestart (waarbij N gelijk is aan het runlevel).
Hier woden alle services en daemons in de achtergrond gestart. Op hetzelfde moment worden tijd, lock- en log-bestanden gecreëerd, indien nodig.
Ook dit is opgegeven in /etc/inittab.
"respawn" betekend hier dat het programma opnieuw wordt gestart als het wordt beëindigd. Zonder deze optie zou je maar een keer op een terminal kunnen inloggen...
Ook dit kan net als zoveel andere dingen over een netwerk functioneren. Een eenvoudige startx --query een_andere_computer:0 geeft je het login scherm van een andere computer op het netwerk op jouw computer.
Definitie van Runlevel
M$ Windows kent 6 runlevels die niet worden veranderd:
Nu zou iedereen moeten weten wat er wordt bedoelt met de term "run level".
0:
6:
S:
root mag inloggen; er is geen netwerk ondersteuning. Een handige modus om dingen te repareren.
1:
Wat er precies wordt gestart of gestopt in ieder runlevel wordt gedefinieerd met de scripts in de /etc/rcN.d of /etc/rc.d/rcN.d of /sbin/init.d/rcN.d (waarbij N=runlevel). 2:
3:
4:
5:
>> man 8 init.
De Duitse tekst is onderdeel van de Linux USER FAQ en was ons genereus gestuurd door Jens Benecke, een van de auteurs van de Linux USER FAQ.
Links
Homepage van de auteur (Jens Benecke): http://www.linuxfaq.de