Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Linuxtopia - Red Hat Enterprise Linux Guide de reference - Examen d�taill� du processus de d�marrage

1.2. Examen d�taill� du processus de d�marrage

Le d�but du processus de d�marrage varie en fonction de la plate-forme mat�rielle utilis�e. Toutefois, une fois le noyau trouv� et charg� par le chargeur de d�marrage, le processus de d�marrage par d�faut est identique pour toutes les architectures. Ce chapitre se concentre principalement sur l'architecture x86.

1.2.1. Le BIOS

Lors du d�marrage d'un ordinateur x86, le processeur recherche le programme BIOS (de l'anglais Basic Input/Output System) dans la m�moire morte (ROM) de la carte m�re et l'ex�cute. Le BIOS est le plus bas niveau d'interface pour les p�riph�riques et contr�le la premi�re �tape du processus de d�marrage. C'est la raison pour laquelle le BIOS est enregistr� en lecture-seule dans la m�moire morte et peut ainsi �tre utilis� � tout moment.

D'autres plates-formes utilisent diff�rents programmes pour r�aliser des t�ches de bas niveau plus ou moins �quivalentes � celles effectu�es par le BIOS sur un syst�me x86. Par exemple, les ordinateurs bas�s sur Itanium utilisent le Shell EFI (de l'anglais Extensible Firmware Interface).

Une fois charg�, le BIOS teste le syst�me, recherche et v�rifie les p�riph�riques et trouve ensuite un p�riph�rique valide qui sera utilis� pour amorcer le syst�me. Normalement, il v�rifie d'abord les lecteurs de disquettes et les lecteurs CD-ROM pr�sents afin de trouver un support amor�able�; s'il n'en trouve aucun, il cherche sur les disques durs du syst�me. Dans la plupart des cas, l'ordre des unit�s recherch�es lors du d�marrage peut �tre contr�l� par un param�tre du BIOS�; il cherche sur le p�riph�rique IDE ma�tre sur le bus IDE principal. Le BIOS charge ensuite en m�moire tout programme r�sidant sur le premier secteur de ce p�riph�rique appel� bloc de d�marrage ma�tre ou MBR(de l'anglais Master Boot Record). Le MBR a une taille de 512 octets seulement et contient des instructions de codes machine, appel�e chargeur de d�marrage, qui sont n�cessaires pour d�marrer l'ordinateur ainsi que la table des partitions. Une fois que le BIOS trouve et charge en m�moire le programme du chargeur de d�marrage, il lui c�de le contr�le du processus de d�marrage.

1.2.2. Le chargeur de d�marrage

Cette section examine le chargeur de d�marrage par d�faut pour la plate-forme x86, � savoir GRUB. Selon l'architecture du syst�me, le processus de d�marrage peut varier l�g�rement. Reportez-vous � la Section 1.2.2.1 pour obtenir un bref aper�u des chargeurs de d�marrage autres que ceux utilis�s pour x86. Pour obtenir de plus amples informations sur la configuration et l'utilisation de GRUB, consultez le Chapitre 2.

Un chargeur de d�marrage pour la plate-forme x86 fonctionne au minimum en deux �tapes. La premi�re est un petit binaire de code machine sur le MBR. Son seul r�le est de localiser le chargeur de d�marrage pour l'�tape 2 et d'en charger la premi�re partie en m�moire.

GRUB a l'avantage de pouvoir lire les partitions ext2 et ext3[1] et de charger son fichier de configuration — /boot/grub/grub.conf— au moment du d�marrage. Pour obtenir de plus amples informations sur la fa�on de modifier ce fichier, reportez-vous � la Section 2.7.

TuyauAstuce
 

Si vous mettez � niveau le noyau en utilisant l'application Agent de mise � jour Red Hat, le fichier de configuration du chargeur de d�marrage sera mis � jour automatiquement. De plus amples informations sur Red Hat Network se trouvent en ligne � l'adresse suivante�: https://rhn.redhat.com/.

Une fois que le chargeur de d�marrage �tape 2 est en m�moire, il affiche l'�cran graphique indiquant � l'utilisateur les diff�rents syst�mes d'exploitation ou noyaux qu'il doit charger en fonction de sa configuration. Sur cet �cran, l'utilisateur peut, � l'aide des touches fl�ch�es, choisir le syst�me d'exploitation ou le noyau qu'il souhaite charger et valider ce choix en appuyant sur la touche [Entr�e]. Si l'utilisateur n'appuie sur aucune touche avant qu'un certain laps de temps - configurable - ne se soit �coul�, le chargeur de d�marrage chargera la s�lection par d�faut.

NoteRemarque
 

Si la prise en charge par le noyau de Symmetric Multi-Processor (SMP) est install�e, plusieurs options seront propos�es lors du premier d�marrage de votre syst�me. Dans une telle situation, GRUB affiche Red Hat Enterprise Linux (<kernel-version>-smp), qui est le noyau SMP et Red Hat Enterprise Linux (<kernel-version>), qui est pour des processeurs simples (o� <kernel-version> correspond � la version du noyau).

Si vous rencontrez des probl�mes en utilisant le noyau SMP, s�lectionnez le noyau non-SMP au red�marrage.

Une fois que le chargeur de d�marrage �tape 2 a d�termin� le noyau � lancer, il localise le binaire de noyau correspondant dans le r�pertoire /boot/. Le binaire du noyau est baptis� d'apr�s le format— fichier /boot/vmlinuz-<kernel-version> (o� <kernel-version> correspond � la version du noyau sp�cifi�e dans les param�tres du chargeur de d�marrage).

Pour obtenir des instructions sur la mani�re d'utiliser le chargeur de d�marrage pour transmettre au noyau des arguments en ligne de commande, reportez-vous au Chapitre 2. Pour des informations sur la mani�re de changer le niveau d'ex�cution � l'invite du chargeur de d�marrage, reportez-vous � la Section 2.8.

Le chargeur de d�marrage place alors plusieurs images initramfs appropri�es (ou une seule) en m�moire. Ensuite, par l'interm�diaire de cpio, le noyau d�compresse ces images pr�sentes dans la m�moire et les met sur /boot/, un syst�me de fichiers virtuel bas� sur la RAM. Les images initramfs sont utilis�es par le noyau pour charger les pilotes et modules n�cessaires au d�marrage du syst�me. Ce processus s'av�re particuli�rement important si votre syst�me dispose de disques durs SCSI ou s'il utilise le syst�me de fichiers ext3.

Une fois que le noyau et une ou plusieurs images initramfs sont charg�es en m�moire, le chargeur de d�marrage c�de le contr�le du processus de d�marrage au noyau.

Pour obtenir une pr�sentation plus d�taill� du chargeur de d�marrage GRUB, reportez-vous au Chapitre 2.

1.2.2.1. Chargeurs de d�marrage pour d'autres architectures

Une fois que le noyau se charge et qu'il passe les commandes � init, les m�mes �v�nements se produisent sur toutes les architectures. La diff�rence essentielle entre le processus de d�marrage de chaque architecture r�side dans le choix de l'application utilis�e pour trouver et charger le noyau.

Par exemple, l'architecture Itanium utilise le chargeur de d�marrage ELILO, l'architecture eServer pSeries d'IBM utilise YABOOT et les syst�mes IBM s390 et eServer zSeries utilisent le chargeur de d�marrage z/IPL.

Consultez le Guide d'installation de Red Hat Enterprise Linux sp�cifique � ces plates-formes pour obtenir de plus amples informations sur la mani�re de configurer leurs chargeurs de d�marrage.

1.2.3. Le noyau

Lors du chargement du noyau, ce dernier non seulement initialise et configure imm�diatement la m�moire de l'ordinateur, mais il configure �galement les divers composants mat�riels reli�s au syst�me, y compris tous les processeurs, les sous-syst�mes d'E/S ainsi que les p�riph�riques de stockage. Il recherche ensuite la ou les image(s) initrd compress�e(s) dans un emplacement pr�d�termin� de la m�moire, effectue la d�compression directement sur /sysroot/ et finalement charge tous les pilotes n�cessaires. Ensuite, il initialise les dispositifs virtuels associ�s aux syst�mes de fichiers, tels que LVM ou RAID logiciel, avant d'achever les processus initramfs et de lib�rer toute la m�moire que l'image du disque occupait.

Le noyau cr�e alors un dispositif root, monte la partition root en lecture-seule et lib�re la m�moire non-utilis�e.

� ce stade, le noyau est charg� en m�moire et est d�sormais op�rationnel. Toutefois, en l'absence de toute application offrant � l'utilisateur la possibilit� de donner des informations utiles au syst�me, on ne peut pas faire grand chose avec ce syst�me.

Afin de configurer l'environnement utilisateur, le noyau ex�cute le progamme /sbin/init.

1.2.4. Le programme /sbin/init

Le programme /sbin/init (aussi appel� init) coordonne le reste du processus de d�marrage et configure l'environnement de l'utilisateur.

Lorsque la commande init est lanc�e, elle devient le parent ou grand-parent de tous les processus qui sont lanc�s automatiquement sur le syst�me. Tout d'abord, elle ex�cute le script /etc/rc.d/rc.sysinit qui d�finit le chemin d'acc�s de l'environnement, d�marre swap, contr�le les syst�mes de fichiers et ex�cute toutes les autres �tapes n�cessaires � l'initialisation du syst�me. Par exemple, la plupart des syst�mes utilisant une horloge, rc.sysinit lit le fichier de configuration /etc/sysconfig/clock pour initialiser l'horloge mat�rielle. Autre exemple�: s'il existe des processus de port s�rie sp�ciaux qui doivent �tre initialis�s, rc.sysinit ex�cute le fichier /etc/rc.serial.

Ensuite la commande init ex�cute le script /etc/inittab qui d�crit la mani�re selon laquelle le syst�me devrait �tre configur� � chaque niveau d'ex�cution, SysV init runlevel. Les niveaux d'ex�cution sont des �tats ou modes d�finis par les services �num�r�s dans le r�pertoires /etc/rc.d/rc<x>.d/ de SysV, o� <x> correspond au num�ro du niveau d'ex�cution. Pour obtenir de plus amples informations sur les niveaux d'ex�cution (ou SysV init runlevels), reportez-vous � la Section 1.4.

Ensuite, la commande init configure la biblioth�que de fonctions sources, /etc/rc.d/init.d/functions, pour le syst�me. Celle-ci indique comment d�marrer ou arr�ter un programme et comment d�terminer le PID d'un programme.

Le programme init d�marre l'ensemble des processus d'arri�re-plan en consultant le r�pertoire rc appropri� au niveau d'ex�cution sp�cifi� comme valeur par d�faut dans /etc/inittab. Les r�pertoires rc sont num�rot�s de fa�on � correspondre au niveau d'ex�cution qu'ils repr�sentent. Par exemple, /etc/rc.d/rc5.d/ est le r�pertoire correspondant au niveau d'ex�cution 5.

En d�marrant au niveau d'ex�cution 5, le programme init examine le r�pertoire /etc/rc.d/rc5.d/ afin de d�terminer les processus � arr�ter et � d�marrer.

Ci-dessous figure un exemple de listing pour un r�pertoire /etc/rc.d/rc5.d/�:

K05innd -> ../init.d/innd
K05saslauthd -> ../init.d/saslauthd
K10dc_server -> ../init.d/dc_server
K10psacct -> ../init.d/psacct
K10radiusd -> ../init.d/radiusd
K12dc_client -> ../init.d/dc_client
K12FreeWnn -> ../init.d/FreeWnn
K12mailman -> ../init.d/mailman
K12mysqld -> ../init.d/mysqld
K15httpd -> ../init.d/httpd
K20netdump-server -> ../init.d/netdump-server
K20rstatd -> ../init.d/rstatd
K20rusersd -> ../init.d/rusersd
K20rwhod -> ../init.d/rwhod
K24irda -> ../init.d/irda
K25squid -> ../init.d/squid
K28amd -> ../init.d/amd
K30spamassassin -> ../init.d/spamassassin
K34dhcrelay -> ../init.d/dhcrelay
K34yppasswdd -> ../init.d/yppasswdd
K35dhcpd -> ../init.d/dhcpd
K35smb -> ../init.d/smb
K35vncserver -> ../init.d/vncserver
K36lisa -> ../init.d/lisa
K45arpwatch -> ../init.d/arpwatch
K45named -> ../init.d/named
K46radvd -> ../init.d/radvd
K50netdump -> ../init.d/netdump
K50snmpd -> ../init.d/snmpd
K50snmptrapd -> ../init.d/snmptrapd
K50tux -> ../init.d/tux
K50vsftpd -> ../init.d/vsftpd
K54dovecot -> ../init.d/dovecot
K61ldap -> ../init.d/ldap
K65kadmin -> ../init.d/kadmin
K65kprop -> ../init.d/kprop
K65krb524 -> ../init.d/krb524
K65krb5kdc -> ../init.d/krb5kdc
K70aep1000 -> ../init.d/aep1000
K70bcm5820 -> ../init.d/bcm5820
K74ypserv -> ../init.d/ypserv
K74ypxfrd -> ../init.d/ypxfrd
K85mdmpd -> ../init.d/mdmpd
K89netplugd -> ../init.d/netplugd
K99microcode_ctl -> ../init.d/microcode_ctl
S04readahead_early -> ../init.d/readahead_early
S05kudzu -> ../init.d/kudzu
S06cpuspeed -> ../init.d/cpuspeed
S08ip6tables -> ../init.d/ip6tables
S08iptables -> ../init.d/iptables
S09isdn -> ../init.d/isdn
S10network -> ../init.d/network
S12syslog -> ../init.d/syslog
S13irqbalance -> ../init.d/irqbalance
S13portmap -> ../init.d/portmap
S15mdmonitor -> ../init.d/mdmonitor
S15zebra -> ../init.d/zebra
S16bgpd -> ../init.d/bgpd
S16ospf6d -> ../init.d/ospf6d
S16ospfd -> ../init.d/ospfd
S16ripd -> ../init.d/ripd
S16ripngd -> ../init.d/ripngd
S20random -> ../init.d/random
S24pcmcia -> ../init.d/pcmcia
S25netfs -> ../init.d/netfs
S26apmd -> ../init.d/apmd
S27ypbind -> ../init.d/ypbind
S28autofs -> ../init.d/autofs
S40smartd -> ../init.d/smartd
S44acpid -> ../init.d/acpid
S54hpoj -> ../init.d/hpoj
S55cups -> ../init.d/cups
S55sshd -> ../init.d/sshd
S56rawdevices -> ../init.d/rawdevices
S56xinetd -> ../init.d/xinetd
S58ntpd -> ../init.d/ntpd
S75postgresql -> ../init.d/postgresql
S80sendmail -> ../init.d/sendmail
S85gpm -> ../init.d/gpm
S87iiim -> ../init.d/iiim
S90canna -> ../init.d/canna
S90crond -> ../init.d/crond
S90xfs -> ../init.d/xfs
S95atd -> ../init.d/atd
S96readahead -> ../init.d/readahead
S97messagebus -> ../init.d/messagebus
S97rhnsd -> ../init.d/rhnsd
S99local -> ../rc.local

Comme le montre ce listing, aucun des scripts qui lancent et arr�tent vraiment les services n'est r�ellement situ� dans le r�pertoire /etc/rc.d/rc5.d/. Tous les fichiers dans /etc/rc.d/rc5.d/ sont en fait des liens symboliques qui pointent vers les scripts situ�s dans le r�pertoire /etc/rc.d/init.d/. Des liens symboliques sont utilis�s dans chacun des r�pertoires rc afin que les niveaux d'ex�cution puissent �tre reconfigur�s en cr�ant, modifiant et supprimant les liens symboliques, et ce, sans affecter les scripts auxquels ils font r�f�rence.

Le nom de chaque lien symbolique commence soit par K, soit par S. Les liens K correspondent � des processus arr�t�s � ce niveau d'ex�cution, tandis que les liens S correspondent � des processus d�marr�s � ce niveau d'ex�cution.

La commande init arr�te tout d'abord tous les liens symboliques K du r�pertoire en �mettant la commande /etc/rc.d/init.d/<command> stop, <command> correspondant au processus � arr�ter. Elle d�marre ensuite tous les liens symboliques S en �mettant la commande /etc/rc.d/init.d/<command> start.

TuyauAstuce
 

Une fois que le syst�me a termin� son d�marrage, il est possible d'�tablir une connexion en tant que super-utilisateur et d'ex�cuter ces m�mes scripts pour d�marrer et arr�ter des services. Par exemple, la commande /etc/rc.d/init.d/httpd stop arr�tera le Serveur HTTP Apache.

Chacun des liens symboliques est num�rot� de fa�on � �tablir l'ordre de d�marrage. L'ordre dans lequel les services sont d�marr�s ou arr�t�s peut �tre modifi� en changeant ce num�ro. Plus le num�ro est bas, plus le d�marrage se produira t�t. Les liens symboliques disposant du m�me num�ro sont d�marr�s par ordre alphab�tique.

NoteRemarque
 

Une des derni�res choses que le programme init ex�cute est le fichier /etc/rc.d/rc.local. Ce dernier est utilis� pour la personnalisation du syst�me. Reportez-vous � la Section 1.3 pour de plus amples informations sur l'utilisation du fichier rc.local.

Une fois que la commande init a progress� dans le r�pertoire rc appropri� pour le niveau d'ex�cution, le script /etc/inittab cr�e un processus /sbin/mingetty pour chaque console virtuelle (invites de connexion) assign�e au niveau d'ex�cution. Les niveaux d'ex�cution de 2 � 5 ont tous six consoles virtuelles, tandis que le niveau d'ex�cution 1 (mode mono-utilisateur) n'a lui qu'une seule console virtuelle et que les niveaux d'ex�cution 0 et 6 n'en ont eux aucune. Le processus /sbin/mingetty ouvre des chemins de communication vers les p�riph�riques tty[2], d�finit leurs modes, affiche l'invite de connexion, accepte le nom et le mot de passe de l'utilisateur, puis commence le processus de connexion.

Au niveau d'ex�cution 5, /etc/inittab ex�cute un script appel� /etc/X11/prefdm. Le script prefdm ex�cute le gestionnaire d'affichage X pr�f�r� [3]gdm, kdm ou xdm, en fonction de ce qui est contenu dans le fichier /etc/sysconfig/desktop.

Une fois l'ensemble du processus termin�, le syst�me fonctionne � un niveau d'ex�cution 5 et affiche un �cran de connexion.

Notes

[1]

GRUB lit les syst�mes de fichiers ext3 en tant que ext2, en abandonnant le fichier journal. Reportez-vous au chapitre intitul� Le syst�me de fichiers ext3 du Guide d'administration syst�me de Red Hat Enterprise Linux pour de plus amples informations sur le syst�me de fichiers ext3.

[2]

Consultez la Section 5.3.11 pour obtenir des informations suppl�mentaires sur les p�riph�riques tty.

[3]

Consultez la Section 7.5.2 pour obtenir davantage d'informations sur les gestionnaires d'affichage.

 
 
  Published under the terms of the GNU General Public License Design by Interspire