Sujet 101 : Architecture système
101.1 Déterminer et configurer les paramètres du matériel (Weight 2)
101.2 Démarrage du système (Weight 3)
101.3 Modification des niveaux d'exécution et arrêt ou redémarrage
du système (Weight 3)
ziedbouziri.com
1
Déterminer et configurer les paramètres du matériel
Description : Les candidats doivent être capables de déterminer et de
configurer le matériel et les périphériques sous GNU/Linux.
Termes, fichiers et utilitaires utilisés :
● /sys
● /proc
● /dev
● modprobe
● lsmod
● lspci
● lsusb
ziedbouziri.com
2
Déterminer et configurer les paramètres
du matériel
ziedbouziri.com
3
lspci : les périphériques attachés au bus PCI
$lspci
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:01.0 PCI bridge: Intel Corporation Mobile 4 Series Chipset PCI Express Graphics Port (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
ziedbouziri.com
4
lsusb
$ lsusb
Bus 008 Device 005: ID 03f0:2b17 Hewlett-Packard LaserJet 1020
Bus 008 Device 004: ID 04f2:b008 Chicony Electronics Co., Ltd
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 15d9:0a4c
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 1058:0704 Western Digital Technologies, Inc.
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
ziedbouziri.com
5
Advertisement
/proc/ioports : ports entrées sorties disponibles
Obtenir la liste des ports d'entrée/sortie
$cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0077 : rtc0
0080-008f : dma page reg
00c0-00df : dma2
ziedbouziri.com
6
/proc/interrupts
Obtenir la liste de toutes les interruptions de tous les périphériques :
$ cat /proc/interrupts
CPU0 CPU1
0: 303284 309287 IO-APIC-edge timer
1: 955 833 IO-APIC-edge i8042
8: 27 26 IO-APIC-edge rtc0
9: 3406 3219 IO-APIC-fasteoi acpi
12: 69 51 IO-APIC-edge i8042
16: 1545 1535 IO-APIC-fasteoi uhci\_hcd:usb2, ohci1394, mmc0
17: 9 8 IO-APIC-fasteoi HDA Intel
18: 0 0 IO-APIC-fasteoi uhci\_hcd:usb8
19: 1197 1200 IO-APIC-fasteoi ehci\_hcd:usb1, uhci\_h
ziedbouziri.com
7
/proc/dma
Obtenir la liste des canaux DMA (Direct Memory Acess) en cours d’utilisation.
$ cat /proc/dma
4: cascade
ziedbouziri.com
8
/proc
Pseudo-système de fichiers d’informations sur le système :
– Partitions : /proc/partitions
– Processeur : /proc/cpuinfo
– Arguments passés au noyau Linux lors du boot: /proc/cmdline
– Les quantités de mémoires (physique et swap) libres et utilisées : /proc/meminfo
–
Informations sur la pile TCP/IP : /proc/net
ziedbouziri.com
9
Sysfs ou /sys
Sysfs est un système de fichiers virtuel introduit par le noyau Linux 2.6.
Sysfs permet d'exporter depuis l'espace noyau vers l'espace utilisateur des informations
sur les périphériques du système et leurs pilotes.
/sys/class/ : montre les périphériques regroupés en classes,
/sys/block/ : contient les périphériques de type bloc.
/sys/bus/ : la manière dont chaque périphérique appartient aux différents bus.
...
ziedbouziri.com
10
UDEV
Advertisement
ziedbouziri.com
11
USB (Universal Serial Bus)
Apparu en 1990,
Conçu par un consortium réunissant différents constructeurs
Objectif : Interconnecter en série de nombreux périphériques (caméras vidéo, systèmes
audio, modems haute vitesse, disques , imprimantes, ...).
Le standard présent sur tous les PC.
L'USB est plug and play
Connexions / déconnexions à chaud.
Peut alimenter la plupart des périphériques qui lui sont raccordés.
ziedbouziri.com
12
USB : Contrôleurs
UHCI : Universal Host Controller Interface
OHCI : Open Host Controller Interface
EHCI : Enhenced Host Controller Interface
ziedbouziri.com
13
Démarrage du système
ziedbouziri.com
14
Démarrage du système
Description : Les candidats doivent être capable de comprendre les phases
d'amorçage d'un système Linux.
Termes, fichiers et utilitaires utilisés :
● /var/log/messages
● dmesg
● BIOS
● bootloader
● kernel
● init
ziedbouziri.com
15
BIOS (Basic Input Output System)
Interface logicielle entre le matériel et le logiciel à un niveau très basique.
Il fournit l’ensemble des instructions de base utilisées par le système d’exploitation.
Il fournit le niveau d’interface le plus bas aux pilotes et périphériques.
Présent sur une mémoire EEPROM (Electrical Erasable Programmable ReadOnly
Memory)
Déclenche quand l’ordinateur est électriquement allumé, .
Le BIOS lit et exécute le premier secteur physique du média de démarrage. Il s’agit
généralement des 512 premiers octets du premier disque dur (le MBR).
ziedbouziri.com
16
BIOS : configuration
ziedbouziri.com
17
Chargeur de démarrage
Le BIOS active le MBR
Le chargeur est décomposé en deux parties.
Le chargeur initial : charge la seconde phase, basée sur un fichier de configuration.
La seconde phase fournit une interface pour lancer un système d’exploitation parmi
un choix donné.
Passer des paramètres au noyau Linux et au processus init.
ziedbouziri.com
Advertisement
18
GRUB : Grand Unified Bootloader
Support de plusieurs systèmes de fichiers
Support du démarrage depuis un réseau
Mode menu et le mode ligne de commandes « un shell »
Protéger l'accès à GRUB à l'aide d'un mot de passe crypté.
Rôle :
– Charger le noyau en mémoire et l'exécute
– Charger le ramdisk initrd.img en mémoire
ziedbouziri.com
19
/etc/grub.conf ou /boot/grub/menu.lst
timeout=10
default=0
title Red Hat
root (hd0,0)
kernel /vmlinuz-2.6.12-15 ro root=LABEL=/
initrd /initrd-2.6.12-15.img
title Windows XP
rootnoverify (hd0,1)
chainloader +1
ziedbouziri.com
20
ziedbouziri.com
21
kernel
/var/log/dmesg et dmesg : le tampon des messages du noyau
Le matériel est détecté et initialisé.
initrd est chargé, les modules présents éventuellement chargés.
Le noyau monte le système de fichiers racine en lecture seule.
Le premier processus est lancé : init.
ziedbouziri.com
22
init
Init est le premier démarré et dernier stoppé au sein du
système, PID 1
init est le père de tous les autres processus qui seront créés par
l'appel system fork()
init lit le fichier /etc/inittab pour savoir :
– quel est le fichier à exécuter pour continuer le chargement du
système
– quel est le runlevel (niveau d'exécution) par défault
– comment lancer les services pour un runlevel donné
ziedbouziri.com
23
Le premier script
Après le chargement du noyau, le script correspondant à sysinit dans fichier inittab est
chargé :
– Sous Red Hat : si::sysinit:/etc/rc.d/rc.sysinit
– Sous Debian : si::sysinit:/etc/init.d/rcS
Rôle :
– Configuration des paramètres du noyau présents dans /etc/sysctl.conf
– Mise en place des fichiers périphériques (/dev via udev ).
– Configuration de l’horloge du système.
– Chargement des tables de caractères du clavier.
– Activation des partitions d’échange SWAP.
Advertisement
– Définition du nom d’hôte.
– Contrôle et montage du système de fichiers racine (en lecture-écriture cette fois).
– Contrôle et montage des autres systèmes de fichiers.
ziedbouziri.com
24
Modification des niveaux d'exécution et arrêt ou redémarrage
du système
ziedbouziri.com
25
Modification des niveaux d'exécution et arrêt ou redémarrage du
système
Description : Modification des niveaux d'exécution et arrêt ou redémarrage
du système
Termes, fichiers et utilitaires utilisés :
● /etc/inittab
● shutdown
● init
● /etc/init.d
● telinit
ziedbouziri.com
26
Niveaux d'exécution
ziedbouziri.com
27
Le script rc
/etc/rc.d/rc ou /etc/init.d/rc prend comme argument le niveau d’exécution x selon :
–
initdefault
– Ou la commande init (telinit)
/etc/init.d/rc x
– Accède au répertoire /etc/rcx.d contenant des liens de la forme [SK]NNservice
– S : lance le script avec l'argument start (démarrage du service)
– K : lance le script avec l'argument stop (arrêt du service)
– NN : est un rang qui fixe l'ordre dans lequel les scripts sont lancés
ziedbouziri.com
28
runlevel, init, telinit
runlevel :Afficher le niveau d'exécution précédent et actuel.
runlevel
3 5
Init ou telinit : Changer le niveau d'exécution
$ ls -l /sbin/telinit
lrwxrwxrwx 1 root root 4 jan 8 16:41 /sbin/telinit -> init
init 3
init 1
ziedbouziri.com
29
Arrêt
shutdown.
ziedbouziri.com
30