Le lancement de init est la derniére étape du processus de boot
Init est le parent de tout les process init utilise le fichier /etc/inittab pour determiner les commandes qu''il doit lancer et le mode de lancement
la structure de ce fichier est la suivante :
<code>:<niveau>:<action>:<commande>
le champ code est un identifiant codé sur un ou deux caractéres ( certain sont reservé )
Le champ niveau détermine pour quel niveau de fonctionnement ( runlevels) cette commande doit étre exécuté
pour init les runlevels ne sont rien d'autre que nombre ou une lettre identifiant l'état de fonctionnement du systéme
sous mandrake ( par exemple ) les différent niveaux sont les suivants
0 - Arret
1 - Mode mono utilisateur (essentiellement utilisé pour la maintenance
2 - Mode multi utilisateur sans réseau
3 - Mode multi utilisateur
4 - Non utilisé
5 - Mode graphique
6 - redemarrage
il est parfaitement possible de rajouter ou de renommer les niveaux ( à condition de savoir ce que vous faites )
Le champ action determine le comportement d'init
wait : init lance la commande dans son mode de démarrage une seule fois et attend quelle se termine
respaw : le processus est redémarré à chaque fois qu'il se termine
once : le processus est exécuté lorsque sont mode de démarrage est appelé
boot : le processus est exécuté pendant le démarrage du systéme . le champ runlevels est ignoré
bootwait : comme boot avec attente de fin de process
off : ne fait rien
ondemand : exécuté chaque fois que le mode de démarrage ondemand est appelé. aucun changement de mode ne survient.
initdefault : le niveau défini pour cet action sera le niveau par défaut
sysinit : le processus est exécuté pendant le démarrage du systéme avant les entrées boot ou bootwait . le champ runlevels est ignoré
powerwait : le processus est exécuté quand la machine est sur le point de s'éteindre ( cas d'onduleur connecté ).
powerfail : idem que powerwait à part que init n'attend pas la fin du processus pour continuer
powerokwait : le processus est éxecuté dès que init est informé que la machine est remise en route
powerfailnow : éxecuté par init quand on dit à inir que la batterie de l'onduleur est presque vide et que la tenstion faiblit.
crtaltdel : éxecuté lorsque init reçoit le signal SIGINT. ( c'est à dire en cas de frappe sur les touche CTRL + ALT +DEL )
kbrequest : lorsque init reçoit un signal du gestionnaire de clavier qu'un combinaison spéciale de touches a été actionnée sur le clavier
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
ces lignes dans inittab permettent par exemple de lancer les 6 consoles pour tout les niveaux
nous voyons par le contenu du champ action ( respawn ) que lorsque vous sortez d'une console ( par exit )
une nouvelle console est lancée ( c'est pas plus mal non )
vous pouvez en supprimant ou en ajoutant des lignes diminuer ou augmenter le nombre de consoles au démarrage.
vous trouverez également dans votre inittab une ligne ressemblant a
10