Man page - boot(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr es pl tr ja ru ro deManual
boot
NOMDESCRIPTION
Matériel
Chargeur de démarrage
Noyau
Processus root en espace utilisateur
Scripts de démarrage
RĂ©pertoires dâordonnancement
Configuration de démarrage
FICHIERS
VOIR AUSSI
TRADUCTION
NOM
boot - processus de dĂ©marrage du systĂšme basĂ© sur System V version 4 dâUNIX
DESCRIPTION
Le processus de dĂ©marrage (ou « sĂ©quence de dĂ©marrage ») dĂ©pend des systĂšmes, mais peut grossiĂšrement ĂȘtre divisĂ© en phases contrĂŽlĂ©es par les composants suivants :
|
(1) |
matériel |
|||
|
(2) |
chargeur de démarrage |
|||
|
(3) |
noyau |
|||
|
(4) |
processus root en espace utilisateur ( init et inittab ) |
|||
|
(5) |
scripts de démarrage |
Chaque composant est décrit plus en détails ci-dessous.
Matériel
AprÚs la mise sous tension ou une réinitialisation matérielle, un programme stocké en mémoire morte (souvent une PROM) prend le contrÎle. Pour des raisons historiques liées au PC, on appelle généralement ce programme le BIOS .
Ce programme effectue normalement un autotest de la machine et accĂšde Ă la mĂ©moire non volatile pour y lire quelques paramĂštres. Dans les PC, cette mĂ©moire est maintenue par une mĂ©moire CMOS entretenue par une batterie. Ainsi la plupart des gens lâappellent CMOS , alors quâen dehors du monde des PC, elle est gĂ©nĂ©ralement appelĂ©e NVRAM (RAM non volatile).
Les paramĂštres stockĂ©s dans la NVRAM dĂ©pendent des systĂšmes, mais doivent indiquer a minima quel pĂ©riphĂ©rique peut fournir un chargeur de dĂ©marrage, ou quels pĂ©riphĂ©riques peuvent ĂȘtre sondĂ©s pour en trouver un. Un tel pĂ©riphĂ©rique est appelĂ© « pĂ©riphĂ©rique dâamorçage ». La phase de dĂ©marrage matĂ©riel charge le chargeur de dĂ©marrage depuis une position fixe sur le pĂ©riphĂ©rique dâamorçage et lui passe le contrĂŽle.
|
Note : |
Le pĂ©riphĂ©rique depuis lequel le chargeur dâamorçage est lu peut ĂȘtre attachĂ© via un rĂ©seau, auquel cas les dĂ©tails de dĂ©marrage sont indiquĂ©s par des protocoles tels que DHCP, TFTP, PXE, Etherboot, etc. |
Chargeur de démarrage
Le rĂŽle principal du chargeur de dĂ©marrage est de localiser le noyau sur un pĂ©riphĂ©rique, le charger et lâexĂ©cuter. La plupart des chargeurs de dĂ©marrage sont interactifs, pour permettre la spĂ©cification dâun noyau alternatif (par exemple un noyau de sauvegarde dans le cas oĂč la derniĂšre version compilĂ©e ne fonctionne pas) et le passage de paramĂštres optionnels au noyau.
Sur les PC traditionnels, le chargeur de dĂ©marrage est situĂ© sur le premier bloc de 512 octets du pĂ©riphĂ©rique dâamorçage â ce bloc est appelĂ© le MBR (Master Boot Record).
Sur la plupart des systĂšmes, ce chargeur initial est trĂšs limitĂ© du fait de diverses contraintes. MĂȘme sur des systĂšmes autres que le PC, il existe des limitations concernant la taille et la complexitĂ© de ce chargeur, mais la taille du MBR des PC est limitĂ©e â 512 octets y compris la table de partition â et rend quasiment impossible dây insĂ©rer beaucoup de fonctionnalitĂ©s.
Ainsi, sur la plupart des systĂšmes dâexploitation, le chargeur initial appelle un chargeur de dĂ©marrage secondaire situĂ© sur une partition du disque. Ce chargeur de dĂ©marrage secondaire peut se trouver dans un plus grand emplacement de stockage persistant, comme une partition de disque.
Sous Linux, le chargeur de démarrage est souvent grub (8) ( lilo (8) est une alternative).
Noyau
Quand le noyau est chargĂ©, il initialise divers composants de lâordinateur et du systĂšme dâexploitation. Chaque morceau de logiciel responsable dâune telle tĂąche est considĂ©rĂ© comme un « pilote » pour le composant concernĂ©. Le noyau dĂ©marre le gestionnaire de swap (câest un processus noyau, appelĂ© kswapd sur les noyaux Linux modernes), et monte le systĂšme de fichiers sur la racine « / »).
Quelques paramĂštres relatifs Ă cela peuvent ĂȘtre passĂ©s au noyau (par exemple : on peut spĂ©cifier un autre systĂšme de fichiers racine que celui par dĂ©faut). Pour plus dâinformations sur les paramĂštres du noyau Linux, consultez bootparam (7).
Câest uniquement Ă cet instant que le noyau crĂ©e un premier processus en espace utilisateur, qui porte le numĂ©ro de processus 1 ( PID ). Ce processus exĂ©cute le programme /sbin/init , en lui passant tout paramĂštre qui nâest pas dĂ©jĂ gĂ©rĂ© par le noyau.
Processus root en espace utilisateur
|
Note : |
La description suivante sâapplique aux systĂšmes basĂ©s sur System V release 4. Cependant, un certain nombre de systĂšmes trĂšs rĂ©pandus ont adoptĂ© une approche semblable mais fondamentalement diffĂ©rente appelĂ©e systemd (1), pour laquelle le processus de dĂ©marrage est dĂ©taillĂ© dans bootup (7). |
Lorsque /sbin/init dĂ©marre, il lit /etc/inittab pour y trouver ses instructions. Ce fichier dĂ©finit ce qui doit sâexĂ©cuter lorsque le programme /sbin/init doit entrer dans un mode de fonctionnement ( run-level ) particulier. Cela donne Ă lâadministrateur une mĂ©thode simple pour Ă©tablir un environnement pour un usage donnĂ©. Chaque mode de fonctionnement est associĂ© Ă un ensemble de services (par exemple, S correspond Ă un mode maintenance ( single-user ) et 2 implique le fonctionnement de la plupart des services rĂ©seaux).
Lâadministrateur peut modifier le mode de fonctionnement grĂące Ă init (1) et consulter le mode de fonctionnement actuel avec runlevel (8).
Toutefois, comme il nâest pas pratique de gĂ©rer les services individuellement en Ă©ditant ce fichier, /etc/inittab se limite Ă lâappel dâun ensemble de scripts qui dĂ©marrent/arrĂȘtent les services.
Scripts de démarrage
|
Note : |
La description suivante sâapplique aux systĂšmes basĂ©s sur System V release 4. Cependant, un certain nombre de systĂšmes trĂšs rĂ©pandus (Slackware Linux, FreeBSD, OpenBSD) utilisent un procĂ©dĂ© quelque peu diffĂ©rent pour les scripts de dĂ©marrage. |
Pour chaque service gĂ©rĂ© (messagerie, serveur nfs, cron,âŻetc.), il existe un script de dĂ©marrage simple stockĂ© dans un rĂ©pertoire spĂ©cifique ( /etc/init.d dans la majoritĂ© des versions de Linux). Chacun de ces scripts accepte en unique argument le mot « start » (dont lâeffet est le lancement du service) ou le mot « stop » (pour arrĂȘter le service). Le script peut Ă©ventuellement accepter dâautres paramĂštres pratiques (par exemple : « restart », enchaĂźne un « stop » suivi dâun « start », « status » donne lâĂ©tat du service). Un appel du script sans argument permet dâafficher tous ceux possibles.
RĂ©pertoires dâordonnancement
Pour permettre aux scripts spĂ©cifiques de dĂ©marrer/arrĂȘter dans un mode de fonctionnement (run level) spĂ©cifique et dans un ordre particulier, il y a des rĂ©pertoires dâordonnancement . Ce sont gĂ©nĂ©ralement /etc/rc[0-6S].d . Dans chacun de ces rĂ©pertoires, il y a des liens (gĂ©nĂ©ralement symboliques) vers les scripts du rĂ©pertoire /etc/init.d .
Un premier script (souvent /etc/rc ) est appelĂ© par inittab (5) et appelle lui-mĂȘme le script de chaque service grĂące Ă un lien dans le rĂ©pertoire dâordonnancement correspondant. Tous les liens dont le nom commence par « S » sont appelĂ©s avec lâargument « start » (et dĂ©marrent le service concernĂ©). Tous les liens dont le nom commence par « K » sont appelĂ©s avec lâargument « stop » (et arrĂȘtent le service concernĂ©).
Pour dĂ©finir lâordre de dĂ©marrage ou dâarrĂȘt au sein dâun mĂȘme run level, le nom dâun lien contient un numĂ©ro dâordre . Aussi, pour rendre les noms plus clairs, ceux-ci se terminent par le nom du service auquel ils se rĂ©fĂšrent. Exemple : le lien /etc/rc2.d/S80sendmail dĂ©marre le service sendmail (8) dans le run level 2. Cela est fait aprĂšs lâexĂ©cution de /etc/rc2.d/S12syslog mais avant celle de /etc/rc2.d/S90xfs .
GĂ©rer ces liens revient Ă gĂ©rer lâordre de dĂ©marrage et les run levels. Toutefois, sur beaucoup de systĂšmes, il existe des outils qui facilitent cela (exemple : chkconfig (8)).
Configuration de démarrage
Un programme fournissant un service est souvent appelĂ© « dĂ©mon ». Habituellement, un dĂ©mon peut recevoir des options et arguments sur la ligne de commande. Pour permettre aux administrateurs systĂšme de modifier ces paramĂštres sans Ă©diter un script complet de dĂ©marrage, un fichier de configuration sĂ©parĂ© est utilisĂ©. Il est stockĂ© dans un rĂ©pertoire spĂ©cifique ( /etc/sysconfig sur les anciens systĂšmes Red Hat) oĂč un script de dĂ©marrage associĂ© pourra le trouver.
Sur les anciens systÚmes UNIX, ces fichiers contenaient les options de ligne de commande pour les démons, mais sur les systÚmes Linux modernes (et aussi sur HP-UX), ces fichiers contiennent uniquement des variables shell. Un script de démarrage dans le répertoire /etc/init.d lit et incorpore son fichier de configuration (il « source » le fichier de configuration) et utilise ensuite les valeurs des variables.
FICHIERS
/etc/init.d/ , /etc/rc[S0-6].d/ , /etc/sysconfig/
VOIR AUSSI
init (1), systemd (1), inittab (5), bootparam (7), bootup (7), runlevel (8), shutdown (8)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .