| Qui est en ligne ? |
| Il y a : 26 utilisateurs en ligne, consultez le détail |
Forum » Documentation Linux » Processus d'initialisation de Linux |
Forum modéré par : Jul |
| Même auteur |
|
Score ( voter ) : ![]() ![]()
|
|
|
|
|
| Page : [1] |
| Auteur | Message | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
#0 Message posté le : 17-09-2006 à 00:00:00 | ||||||||||||
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-07-2003 Nombre de messages : 171 |
1. Introduction :Dans ce document, je vais détailler la configuration des actions qui vont s'enchaîner juste après le chargement du noyau en mémoire. En résumé, vous démarrez votre OS à partir d'un chargeur d'OS comme Lilo ou Grub, en selectionnant un noyau parmis la liste qu'il vous propose. Le noyau selectionné est ensuite chargé en mémoire et il démarre à son tour le processus "Init". "Init" est le père de tous les processus. Il est donc le seul processus lancé par le noyau après son chargement. Son rôle principal est de créer des processus fils à partir du script /etc/inittab. Juste après que "init" ait été invoqué par le noyau, l'entrée de type "initdefault" (dans le fichier "/etc/inittab") détermine le "runlevel" qui doit être exécuté. Si cette entrée ne figure pas dans inittab, un "runlevel" doit être entré dans la console. 2. Configuration de /etc/inittab :Le fichier /etc/inittab définit quels processus sont lancés au démarrage. Comme dit précedemment, "init" distingue plusieurs "runlevels", chacun ayant une fonction particulière. Une entrée dans le fichier "inittab" à le format suivant : id : runlevels : action : process
2.1 id :Un id est une séquence unique de 1 à 4 caractères qui identifie (de manière unique donc..) une entrée dans le fichier /etc/inittab. 2.2 runlevels :La liste des processus que "init" doit charger dépend du runlevel. Un "runlevel" est une configuration système qui autorise seulement un certain groupe de processus à éxister. Les processus engendrés par "init" pour chacun de ces runlevels sont définis dans le fichier /etc/inittab. Un runlevel peut prendre les huit valeurs suivantes : 0 à 6 et S ou s. Un utilisateur ayant des droits suffisants, peut changer de "runlevel" en cours d'utilisation, en faisant appel à la commande "telinit" qui envoie un signal au processus "init". Quand le "runlevel" est changé, tout les processus en cours qui ne sont pas specifiés dans le nouveau "runlevel", sont tués. Par convention, les "runlevels" 0, 1 et 6 sont reservés de la manière suivante /
Mais en réalité cela dépend de votre distribution. Pour plus de détails reportez-vous aux didacticiels spécifiques à votre distribution, dans la section "Distributions". 2.3 actions :Cette partie sert à indiquer les paramêtres de lancement du processus :
2.4 processus :Dans cette partie vous indiquez simplement le script ou la commande à exécuter avec l'option que vous souhaitez, si nécessaire. 3. La pratique par l'exemple :Nous allons essayer d'analyser un exemple de fichier /etc/inittab, que l'on peut retrouver sur une machine tournant sous Debian Woody : # Definit le runlevel utilisé au démarrage. C'est à dire 3 dans le cas présent. id:3:initdefault: # Cette ligne lance, avant tout les autres, le script 'rcS' dans le répertoire '/etc/init.d/'. si::sysinit:/etc/init.d/rcS # Exécuter la commande '/sbin/sulogin' en mode single-user. ~~:S:wait:/sbin/sulogin # Selon le "runlevel" qui a été déterminé, cela lance le script '/etc/init.d/rc' avec cette valeur pour argument. # Ce script a pour but dans lancer tout les processus contenus dans /etc/rcX.d ( X= valeur du "runlevel" ). l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # La commande est relancé automatiquement à chaque fois qu'elle se termine. z6:6:respawn:/sbin/sulogin # La combinaison CTRL-ALT-DEL entraine l'arret du système ('/sbin/shutdown -t1 -a -r now'). ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now # On ouvre un certain nombre de terminaux ('/sbin/getty') selon le "runlevel". # Remarque: sur la plupart des systèmes, tty7 est utilisé par 'X'. 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 Pour s'assurer que vous avez tout compris, nous allons prendre un exemple en particulier :
--Message édité par TrustRobot le 17-09-2006 à 00:00:00-- |
||||||||||||
| Page : [1] |
Forum » Documentation Linux » Processus d'initialisation de Linux |
Forum modéré par : Jul |
| Même auteur |
|
Score ( voter ) : ![]() ![]()
|
|
|
|
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages
