Préparation LPI
Exam 102
101.2. Démarrage du système
Document sous licence Creative commons « byncsa » http://creativecommons.org/licenses/byncsa/2.0/fr/
Sommaire
Etapes du démarrage d'un système Linux
Options du noyau
Journaux
UPMC - FP – Préparation LPI - v 1.1
2
101.2 Domaines de connaissances
Poids : 3
Options du chargeur de démarrage et du noyau
Connaître les différentes étapes du démarrage d'un serveur Linux
Contrôler les évènements et messages dans les journaux
UPMC - FP – Préparation LPI - v 1.1
3
101.2 Démarrage du système
1.Partie matérielle BIOSPOST
2.Chargeur de démarrage (GRUB LILO)
3.Chargement du noyau
4.Init – niveaux d'exécution
5.Lancement des processus de service en
fonction du niveau d'exécution
UPMC - FP – Préparation LPI - v 1.1
4
101.2 Etapes 1 à 2
BIOS (Basic Input/Output System) : recherche des
périphériques présents
POST (Power On Self Test) : test des composants
matériels au démarrage. En cas de problème : séquence
de bips (parfois un message vocal) indiquant l'origine du
problème (car pas de vidéo dispo à cette étape)
Parcours des périphériques de stockage pour démarrer le
système ou boot réseau (PXE)
Exécution du chargeur d'amorçage (bootstrap loader) :
recherche d'un secteur d'amorçage (premier secteur de
la partition active, MBR – Master Boot Record)
chargement et exécution de ce secteur qui permet de
charger réellement le bootloader
UPMC - FP – Préparation LPI - v 1.1
exécution de GRUB, LILO ou SYSLinux
5
101.2 BIOS
Etapes de démarrage BIOSPOST
✔ La carte mère reçoit le signal « Power Good » de l'alimentation
✔ Tous les processeurs (x86) récupèrent les 16 derniers octets
de la mémoire conventionnelle à partir de FFFF0h. Contient un
pointeur vers l'emplacement réel du code du BIOS dans la
ROM (compatibilité différentes tailles de ROM BIOS)
✔ Exécution du POST. Si ok : appel interruption INT 19 pour
découverte des périphériques connectés à la carte mère
Advertisement
✔ Recherche de la carte vidéo et chargement du bios de la carte
situé à l'adresse C000h
✔ Recherche et chargement des bios des autres périphériques
(floppy, disque, cartes SCSI,...)
UPMC - FP – Préparation LPI - v 1.1
6
101.2 BIOS
Etapes de démarrage BIOSPOST ...
✔ Test de la mémoire
✔
Inventaire des éléments matériels du système et vérification de
fonctionnement
✔ Affichage d'un résumé des information récoltées
✔ Recherche d'un périphérique pour démarrer le système
d'exploitation
✔ Recherche du Master Boot Record (MBR)
✔ Chargement du code contenu dans le MBR à l'@ 0000:7C00 et
exécution de ce code. A partir de cette étape, le BIOS « passe
la main » au système d'exploitation
UPMC - FP – Préparation LPI - v 1.1
7
101.2 BIOS
Etapes de démarrage BIOSPOST ...
✔ Recherche de la partition active depuis la table de partitions
primaires
✔ Chargement du secteur de boot de la partition active à l'@
0000:7C00
✔ Exécution de ce code : cela correspond à début du chargement
du bootloader. La suite dépend du bootloader (LILO ou GRUB
dans notre cas)
UPMC - FP – Préparation LPI - v 1.1
8
101.2 MBR
MBR Master Boot Record
Se trouve dans les 512 premiers octets du disque (cyl 0, tete 0,
secteur 1)
Contient la table des partitions primaire
Contient le boot code
Table des partitions primaires
4 entrées de 16 octets = 64 octets
4 partitions primaires max
La partition active contient le code pour continuer la séquence
de démarrage
UPMC - FP – Préparation LPI - v 1.1
9
101.2 Noyau
Dans le cas de GRUB
Le code de boot tient dans les 512 octets du premier
secteur : stage1
stage1 : but trouver et charger le stage2
stage2 : code réel du bootloader qui ne peut tenir dans
512 octets
Advertisement
GRUB fait quelques vérifications puisse passe le processeur
du mode réel (mode de fonctionnement 8086) au mode
protégé.
GRUB charge le noyau : fichier compressé et dont l'entête
contient le code de décompression et de chargement en
mémoire
UPMC - FP – Préparation LPI - v 1.1
10
101.2 Noyau
Le noyau est informé de la présence d'un disque
d'initialisation (Init Ram Disk au format initramfs). C'est une
archive cpio compressée avec gzip.
Au démarrage, le noyau crée un Ram Disk puis copie le
contenu de l'archive
Ce Ram Disk fournit au noyau un file system temporaire qui
va fournir :
Le chargement de modules permettant la prise en
charge d'autres systèmes de fichiers
De fonctionnalités spécifiques : RAID logiciel, LVM
Les pseudofs : /proc, /sys, /tmp, /dev
A un moment, le système de fichier racine permute sur le
réel
UPMC - FP – Préparation LPI - v 1.1
11
101.2 Noyau
GRUB (GRant Unified Bootloader)
LILO (LILO)
Premier logiciel (après le BIOS) exécuté au démarrage
Rôle : charger et transférer le contrôle au noyau d'un
système d'exploitation
Permet le démarrage de plusieurs systèmes d'exploitation
différents (en particulier doubleboot WindowsLinux)
Installé sur le MBR (plusieurs OS) ou premier secteur de la
partition active
UPMC - FP – Préparation LPI - v 1.1
12
101.2 Option passées au noyau
Possibilité de définir des options lors du chargement du noyau
Les modifications se font soit en ligne de commande depuis le
bootloader soit d'une manière définitive dans le fichier de
configuration du bootloader
Options courantes
init=num : où num correspond au niveau d'exécution
noapic : désactivation de la prise en charge de l'APIC
(Advanced Programmable Interrupt Controller)
acpi=off : désactivation de la prise en charge de l'ACPI
(économie énergie)
mem=x[K|M|G] : définit la taille mémoire allouable au noyau en
Kilo, Mega ou Gigaoctets
S, s, 1, single : passage en mode monoutilisateur
UPMC - FP – Préparation LPI - v 1.1
13
Advertisement
101.2 Journaux
Journaux ou fichiers de log : fichiers textes
Localisés dans le répertoire /var/log
Dans certains cas, des sousrépertoires dédiés à des services
ou applications
/var/log/cups
/var/log/mail
/var/log/httpd
Localisation paramétrable dans le fichier de conf du service
Sur un serveur, intérêt à ce que /var soit dans une partition
distincte de /
Intérêt de la rotation des fichiers de log pour limiter l'espace
utilisé (cf. plus loin)
UPMC - FP – Préparation LPI - v 1.1
14
101.2 Journaux
Journaux importants :
boot.log : messages relatifs à la séquence de boot
cron : messages relatifs à l'utilitaire cron
maillog : messages relatifs au système de courrier
messages : la presque totalité des messages qui ne sont
pas dirigés dans un fichier spécifique
auth ou secure : messages relatifs à l'authentification
des utilisateurs sur le système (locale ou distante avec
telnet ou ssh)
dmesg : messages envoyés par le noyau
yum.log : messages relatifs au gestionnaire de paquetage
yum
UPMC - FP – Préparation LPI - v 1.1
15
101.2 Journaux
dmesg : également une commande permettant d'examiner le
kernel ring buffer
Taille du buffer limitée à 16384 octets
-n level : demande à n'afficher sur la console que les
messages d'un certain niveau
dmesg -n 1 : affiche uniquement à la console les
messages de type PANIC
-s : vide le buffer
Différence entre le fichier /var/log/dmesg et la commande
dmesg
/var/log/dmesg : uniquement les messages générés
par le noyau durant la séquence de boot
dmesg : affiche tous les messages du noyau au cours de la
vie du système
UPMC - FP – Préparation LPI - v 1.1
16
101.2 Journaux
[root@localhost ~]# dmesg | wc l
584
[root@localhost ~]# cat /var/log/dmesg | wc l
500
Advertisement
Action : insertion d'un clef USB
[root@localhost ~]# dmesg | wc l
604
[root@localhost ~]# cat /var/log/dmesg | wc l
500
UPMC - FP – Préparation LPI - v 1.1
17
101.2 Journaux
Examen des journaux
Chaque évènement (1 évènement par ligne) enregistré dans
un journal contient
Date et heure
Nom machine à l'origine du message
Service ou utilisateur qui génère le message
Texte du message
Feb 1 22:09:02 localhost rsyslogd: [origin software="rsyslogd" swVersion="2.0.2" x
pid="2206" xinfo="http://www.rsyslog.com"][xconfigInfo udpReception="No"
udpPort="514" tcpReception="No" tcpPort="0"] restart
Feb 1 22:45:50 localhost gconfd (franck3194): Sortie
Feb 1 22:45:50 localhost shutdown[9195]: shutting down for system halt
Feb 1 22:45:50 localhost NetworkManager: <info> Deactivating device eth1.
Feb 1 22:45:50 localhost NetworkManager: <info> eth1: canceled DHCP transaction,
dhclient pid 3456
Feb 1 22:45:51 localhost kernel: ipw2200: Failed to send ASSOCIATE: Already sending
a command.
UPMC - FP – Préparation LPI - v 1.1
18
101.2 Journaux
Commandes utiles pour examiner les journaux
less
tail
head
more
tail -f : affichage dynamique des nouvelles lignes qui
apparaissent dans le journal.
Pratique pour suivre l'évolution « en ligne » d'un journal
Crtl + C pour quitter
grep
● -i : pour inclure minuscules et majuscules
UPMC - FP – Préparation LPI - v 1.1
19
101.2 Journaux
[root@localhost ~]# grep i usb /var/log/messages | wc l
504
[root@localhost ~]# grep usb /var/log/messages | wc l
299
UPMC - FP – Préparation LPI - v 1.1
20
Quelques conseils LPI...
UPMC - FP – Préparation LPI - v 1.1
21