Table des matières

Description des phases de démarrage sous linux

  1. Bios cherche le périphérique sur lequel il démarrera et passe le contrôle à un chargeur de programme initial (IPL) installé dans le secteur de partition principal (Master Boot Record, MBR) d'un disque.
  2. L'IPL tient dans les 446 premiers octets du disque et a pour seule tâche de localiser et charger un chargeur de démarrage (comme grub)
  3. Grub localise le(s) système(s) d'exploitation(s) à partir de la conf /boot/grub/menu.lst. Pour lancer un linux dans la configuration il est indiqué: le chemin du kernel utilisé, la partition du disque contenant la racine du système (/), et le ramdisk (initrd) contenant les drivers nécessaire au chargement du système.
  4. Au démarrage le noyau à la fonction de détecter les périphériques, d'initialiser les pilotes de périphériques, de monter le système de fichier racine (/) en lecture seule et de charger le processus initial init
  5. init lit sa configuration dans le fichier /etc/inittab. init lancera:

Pour résumer

  1. Bios cherche le périphérique sur le quel il démarrera et où se trouve l'IPL (la conf est dans le CMOS)
  2. IPL localise et charge un chargeur démarrage telque Grub (la conf est dans le MBR)
  3. Grub sait où se trouve l'image du kernel et les drivers de l'OS à charger (la conf est dans /boot/grub/menu.lst)
  4. Kernel détecte et charge les pilotes des périphériques nécessaire pour le démarrage du système
  5. init est le premier processus lancé, il lancera lui même un ensemble de script permettant de démarrer le système et tous les démons (la conf est dans /etc/inittab)

Modifier les services lancés au démarrage

Sous Redhat

Pour lister les services:

chkconfig --list

Pour ne pas demarrer un service:

chkconfig <service> off

Pour demarrer un service:

chkconfig <service> on

Pour démarrer un service dans les niveau 4 et 5

chkconfig --level 45 <services>

Sous d'autres OS

Sous Debian :

update-rc.d [service] defaults

Pour activer le service service dans le niveau de fonctionnement R, créez le lien symbolique /etc/rcR.d/Sxyservice avec comme cible ../init.d/service. Le numéro xy doit être le numéro assigné au service lors de l'installation du paquet.

Pour désactiver le service, renommez le lien symbolique en le faisant commencer par K à la place de S et en lui donnant le numéro 100 moins xy.

Il est plus facile d'utiliser un gestionnaire de service comme sysv-rc-conf

1)
Tâche lancés par la tâche sysinit:
  • Activer udev et sulinux
  • Définir les parametres du noyau dans /etc/sysctl.conf
  • Définir l'horloge système
  • Charger les mappes de clavier
  • Activer les partitions swap
  • Définir le nom d'hôte
  • Vérifier et remonter le système de fichiers racine (/)
  • Activer des périphériques RAID et LVM
  • Activer les quotas de disque
  • Vérifier et monter d'autres systèmes de fichiers
  • Nettoyer les “stale locks” et les fichiers PID