\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{jeu. mars 31 13:21:32 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={systemd processus de démarrage},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Processus de démarrage du système},
CreationDate={D:20160331132132},
ModDate={D:20160331132132},
Keywords={systemd;Linux;boot}
}}
\begin{document}
 
\begin{center}
{\Huge systemd processus de démarrage }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Processus de démarrage du système}
 
\vspace{10mm}
 
\hspace{1mm}  Plusieurs composants sont impliqués dans le démarrage du système. Immédiatement après la mise sous tension, le BIOS fait une initialisation hardware minimale, et donne la main au chargeur de boot stocké dans un périphérique de stockage. Ce chargeur va ainsi invoquer un Kernel. Dans le cas de Linux, ce kernel extrait (optionnellement) et exécute une image disque initiale en RAM (initrd), tel que généré par dracut(8), qui recherche le système de fichier racine (possiblement en utilisant systemd). Une fois trouvé et monté, l'initrd donne le contrôle au gestionnaire du système (tel que systemd), qui est ensuite responsable pour gérer tout le harware restant, en montant tous les système de fihier nécessaires et en lancant tous les services configurés.
\vspace{5mm} \\
 
 
\hspace{1mm}  Lors de l'arrêt, le gestionnaire stop tous les services, démonte tous les systèmes de fichiers, et optionnellement saute dans le code initrd qui démonte le système racine. Enfin, le système est arrêté.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Gestionnaire système au démarrage }
 
\
 
\hspace{1mm}  Au démarrage, le gestionnaire système dans l'image OS est responsable d'initialiser les systèmes de fichier, services et pilotes requis, qui sont nécessaires pour le système. Dans les systèmes systemd, ce processus est splitté en divers étapes qui sont exposés en tant qu'unités cible. Le processus de boot est hautement parallélisé pour que l'ordre dans lequel les unités cible soient atteints ne soit pas déterministe, mais adhère à une structure ordonnée limitée.
\vspace{5mm} \\
 
 
\hspace{1mm}  Quand systemd démarre le système, il active toutes les unités qui sont des dépendances de default.target. Généralement, default.target est simplement un alias de graphical.target, ou multi-user.target, en fonction de la configuration du système. Pour forcer un ordre minimal entre les unités, un nombre d'unité cible sont disponibles.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le tableau suivant est une vue structurelle des unités et leur position dans le boot. Les unité en haut sont démarrées avant les unité plus bas.
\vspace{5mm} \\
 
 
{\includegraphics[]{../images/bootup1.png}}
 
\hspace{1mm}  Les unités cible qui sont communément utilisées comme cible de boot sont en italique. Ces unités sont un bon choix comme cible principal, par exemple en passant au kernel l'option systemd.unit=. en en lien default.target.
\vspace{5mm} \\
 
 
\hspace{1mm}  timers.target est poussé par basic.targe de manière asynchrone. Cela permet aux unités timer de dépendre de services qui deviennent disponible plus tard.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Démarrage dans l'initrd }
 
\
 
\hspace{1mm}  L'implémentation du Ram disk initial peut être définis en utilisant systemd. Dans ce cas, le démarrage dans l'initrd suit la structure suivante.
\vspace{5mm} \\
 
 
\hspace{1mm}  La cible par défaut dans l'initrd est initrd.target. Le processus de boot commence de la mème manière que le démarrage du gestionnaire système jusqu'à ce qu'il atteigne basic.target. De là, systemd approche la cible spéciale initrd.target. Si le périphérique root peut être monté dans /sysroot, l'unité sysroot.mount devient active et initrd-root-fs.target est atteinte. Le service initrd-parse-etc.service scanne /sysroot/etc/fstab pour un point de montage possible de /usr et les entrées additionnelles marquées avec l'option x-initrd.mount. Toutes les entrées trouvées sont montées sous sysroot, et initrd-fs.target est atteind. Le service initrd-cleanup.service isole vers initrd-switch-root.target, où les services de nettoyage peuvent être lancés. En dernier, initrd-switch-root.service est activé, causant le système à switch sont root.
\vspace{5mm} \\
 
 
{\includegraphics[]{../images/bootup2.png}}
 
\vspace{1cm}{\huge Arrêt du système }
 
\
 
\hspace{1mm}  L'extinction du système avec systemd consiste également de divers unités cible avec une structure minimale:
\vspace{5mm} \\
 
 
{\includegraphics[]{../images/bootup3.png}}
\end{flushleft}
\end{document}
