Pour qu'un noyau s'y retrouve dans le disque dur, il faut au moins qu'il sache gérer nativement le contrôleur IDE du disque (ou SATA) ainsi que le type de systèmes de fichiers (Ext3, ReiserFS, XFS,...).
L'utilisation d'une image initrd permet de s'affranchir de compiler en dur ces fonctionnalités en les intégrant en tant que module dans l'image.
Lorsque le noyau a retrouvé son disque dur, celui lance le père de tous les processus:
/sbin/init.
init va lire le fichier /etc/inittab pour, entre autres, déterminer le niveau d'exécution par défaut du système et va, inévitablement, charger le niveau S qui correspond au minimum vital.
Le système linux dispose de 7 niveaux d'exécution numérotés de 0 à 6:
0 correspond à la procédure d'extinction de la machine (tapez telinit 0 en root dans une console)
6 correspond à la procédure de redémarrage de la machine (idem)
1 correspond au mode d'administration qui charge un minimum de choses et se conclue par l'accès à un shell root direct si la distribution est peu sécurisée ou avec demande de mot de passe dans le cas contraire.
2, 3, 4 et 5 permettent de déterminer différents niveaux d'exécution avec différents services chargés
2 est normalement multi-utilisateur sans serveur X
5 , sous mandrake, est associée à un système multi-utilisateur avec serveur X.
Mais on peut faire ce que l'on veut (après tout c'est notre PC
Ces niveaux d'exécution permettent au système de déterminer dans quel répertoire rcX.d piocher les scripts de démarrage.
- Sous Mandrake, ces scripts se retrouvent dans les répertoires /etc/rc.d/rc[0-6].d
Sous Debian, ces scripts se retrouvent dans les répertoires /etc/rc[0-6].d
Ces liens sont tous formés selon la même syntaxe
[S|K]XX<nom_du_script>
S indique au système que le script doit être lancé avec l'opérande start (démarrage du service)
K indique au système que le script doit être lancé avec l'opérande stop (arrêt du service)
XX est un niveau d'exécution, on peut en effet modifier l'ordre dans lequel se lance ces scripts. Par exemple, pour une carte PCMCIA ethernet sur un portable, le chargement de PCMCIA doit se réaliser avant le montage des interfaces réseaux.
Sous Debian, l'utilitaire update-rc.d permet de gérer ces liens.
Sous Mandrake, l'utilitaire est chkconfig.
(je ne rentre pas dans les interfaces graphiques du style KSysV...)
Sous Mandrake, il existe un dernier répertoire nommé rc.local, celui-ci peut contenir des scripts maison qui seront lancés à la fin du processus d'init.
Pour lancer un service sous mandrake, il est possible d'utiliser la syntaxe
service <nom_du_service> start
on peut tout aussi bien faire
/etc/rc.d/init.d/<script_correspondant_au_service> start
//ceci est une ébauche de FAQ. Si des mandrakiens peuvent confirmer ou infirmer mes dires
//truc amusant: au prompt lilo ou grub, taper init=/bin/sh

Aide
Commencer un sujet
Ce sujet est fermé








