\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]{lun. mai 22 10:53:05 CEST 2017}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={dracut.cmdline},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Options de ligne de commande kernel dracut},
CreationDate={D:20170522105305},
ModDate={D:20170522105305},
Keywords={boot;Linux;initramfs}
}}
\begin{document}
 
\begin{center}
{\Huge dracut.cmdline }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Options de ligne de commande kernel dracut}
 
\vspace{10mm}
 
\hspace{1mm}  Le périphérique root utilisé par le kernel est spécifié dans le fichier de configuration de boot dans la ligne de commande kernel, comme toujours. La spécification traditionnelle root=/dev/sda1 est toujours permise, mais non encouragée. Le périphérique root devrait être identifié par un label ou un uuid.
\vspace{5mm} \\
\hspace{1mm}  Les paramètres "rd.*" mentionnés sans '=' sont des paramètres booléens. Si l'assignement avec '=' est manquant, '=1' est assumé.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Standard }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} init=<path to real init>]{Spécifie le chemin du programme init à démarrer un fois l'initramfs terminé}
\item[\hspace{1mm} root=<path to blockdevice>]{Spécifie le périphérique à utilisé pour '/'}
\item[\hspace{1mm} rootfstype=<filesystem type>]{auto, si non spécifié}
\item[\hspace{1mm} rootflags=<mount options>]{Spécifie des options de montage additionnels pour '/'. Non spécifié, lit /etc/fstab du vrai '/'.}
\item[\hspace{1mm} ro]{force '/' et '/usr' en lecture seule}
\item[\hspace{1mm} rw]{force '/' et '/usr' en lecture écriture}
\item[\hspace{1mm} rootfallback=<path to blockdevice>]{Spécifie le périphérique block à utiliser comme périphérique root, si le root normal ne peut être trouvé}
\item[\hspace{1mm} rd.auto rd.auto=1]{ACtive l'auto-assemblage des périphérique spéciaux comme cryptoLUKS, dmraid, mdraid ou lvm.}
\item[\hspace{1mm} rd.hostonly=0]{Supprime tous ce qui est compilé dans la configuration de l'hôte. Celà permet de booter sur un changement de disque.}
\item[\hspace{1mm} rd.cmdline=ask]{Demande à l'utilisateur des paramètres additionnels}
\item[\hspace{1mm} rd.fstab=0]{N'honore pas les options de montage spéciaux pour '/' dans /etc/fstab du vrai '/'}
\item[\hspace{1mm} resume=<path to resume partition>]{Résume depuis une partition swap}
\item[\hspace{1mm} rd.skipfsck]{N'effectue pas de fsck pour '/' et '/usr'.}
\end{description}
 
\vspace{1cm}{\huge iso-scan/filename }
 
\
 
\hspace{1mm}  Utiliser iso-scan/filename avec une iso Fedora/Red Hat/CentOS fonctionne en copiant les paramètres cmdline kernel
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Divers }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.driver.blacklist=<drivername>\texttt{[},<drivername>,...\texttt{]}]{Ne pas charger le module kernel. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.driver.pre=<drivername>\texttt{[},<drivername>,...\texttt{]}]{Force le chargement du module spécifié. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.driver.post=<drivername>\texttt{[},<drivername>,...\texttt{]}]{Force le chargement du module une fois tous les modules automatique ont été chargé. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.retry=<seconds>]{Délai pour retenter le initqueue pour configurer les périphériques. Défaut: 30s. après 2/3 du temps, les raids dégradés sont démarrés de force.}
\item[\hspace{1mm} rd.timeout=<seconds>]{Délai d'attente pour que les périphériques apparaissent. Défaut: 0 - indéfinis. noter que ce délai ne devrait pas dépasser rd.retry}
\item[\hspace{1mm} rd.noverifyssl]{Accèpte les certificats auto-signés pour les téléchargements ssl}
\item[\hspace{1mm} rd.ctty=<terminal device>]{Spécifie le terminal de contrôle pour la console. Utile avec plusieurs console=*.}
\end{description}
 
\vspace{1cm}{\huge debug }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.info]{AFfiche des informations supplémentaires même si 'quiet' est spécifié}
\item[\hspace{1mm} rd.shell]{Permet d'être basculé dans un shell si le montage root échoue}
\item[\hspace{1mm} ld.debug]{définis -x pour le shell dracut. Si systemd est actif dans l'initramfs, toute la sortie est loggée dans le journal système.}
\item[\hspace{1mm} rd.memdebug=\texttt{[}0-3\texttt{]}]{Affiche l'utilisation mémoire, de 0 à 3}
\item[\hspace{1mm} rd.break]{Bascule dans un shell à la fin}
\item[\hspace{1mm} rd.break=\{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup\}]{Bascule dans un shell au breakpoint définis}
\item[\hspace{1mm} rd.udev.info]{Définis le niveau de log udev à info}
\item[\hspace{1mm} rd.udev.debug]{Définis le niveau de log udev à debug}
\end{description}
 
\vspace{1cm}{\huge I18N }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.vconsole.keymap=<keymap base file name>]{Table de traduction clavier chargé par loadkeys; pris depuis le répertoires de keymaps. Écris dans KEYMAP dans /etc/vconsole.conf dans l'initramfs}
\item[\hspace{1mm} rd.vconsole.keymap.ext=<list of keymap base file names>]{Liste de keymaps supplémentaires, écris d-ans EXT\_KEYMAP dans /etc/vconsole.conf}
\item[\hspace{1mm} rd.vconsole.unicode]{(bool) Indique le mode utf-8. Sera écrit dans UNICODE dans /etc/vconsole.conf}
\item[\hspace{1mm} rd.vconsole.font=<font base file name>]{Police de caractère de la console. Écris dans FONT dans /etc/vconsole.conf}
\item[\hspace{1mm} rd.vconsole.font.map=<console map base file name>]{Voir setfont -m.}
\item[\hspace{1mm} rd.vconsole.font.unimap=<unicode table base file name>]{Voir setfont -u}
\item[\hspace{1mm} rd.locale.LANG=<locale>]{Pris depuis l'environnement.}
\item[\hspace{1mm} rd.locale.LC\_ALL=<locale>]{Pris depuis l'environnement}
\end{description}
 
\vspace{1cm}{\huge LVM }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.lvm=0]{Désactive la détection LVM}
\item[\hspace{1mm} rd.lvm.vg=<volume group name>]{N'active que ce groupe de volume. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.lvm.lv=<logical volume name>]{N'active que les volumes logique spécifiés. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} ld.lvm.conf=0]{Supprime tout /etc/lvm/lvm.conf, qui pourrait exister dans l'initramfs}
\end{description}
 
\vspace{1cm}{\huge LUKS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} ld.luks=0]{Désactive la détection LUKS}
\item[\hspace{1mm} rd.luks.uuid=<luks uuid>]{N'active que les partitions LUKS avec l'uuid donné.}
\item[\hspace{1mm} rd.luks.allow-discards=<luks uuid>]{Permet l'utilisations des requêtes discards (TRIM) pour les partitions LUKS avec l'uuid donné.}
\item[\hspace{1mm} rd.luks.allow-discards]{Permet l'utilisations des requêtes discards (TRIM) pour toutes les partitions LUKS}
\item[\hspace{1mm} rd.luks.crypttab=0]{Ne vérifie pas si la partition LUKS est dans /etc/crypttab}
\end{description}
 
\vspace{1cm}{\huge LUKS - key on removable device support }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.luks.key=<keypath>:<keydev>:<luksdev>]{keypath est le chemin d'une clé à rechercher. si keypath fini par .gpg, c'est une clé symétrique GPG. keydev est un périphérique sur lequel la clé réside. Peut être un périphérique, UUID ou label. luksdev indique le périphérique luks auquel s'applique la clé.}
\end{description}
 
\vspace{1cm}{\huge md raid }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.md=0]{Désactive la détection raid}
\item[\hspace{1mm} rd.md.imsm=0]{Désactive les raids imsm/ism}
\item[\hspace{1mm} rd.md.ddf=0]{Désactive les raids ddf}
\item[\hspace{1mm} rd.md.conf=0]{Ignore mdadm.conf inclus dans l'initramfs}
\item[\hspace{1mm} rd.md.waitclean=1]{Attends la fin des resynchro, récupération, ou reshape avant de continuer}
\item[\hspace{1mm} rd.md.uuid=<md raid uuid>]{N'active que le raid avec l'uuid spécifié. peut être spécifié plusieurs fois}
\end{description}
 
\vspace{1cm}{\huge dm raid }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.dm=0]{Désactive la détection dm raid}
\item[\hspace{1mm} rd.dm.uuid=<dm raid uuid>]{N'active que le raid avec l'uuid spécifié. peut être spécifié plusieurs fois}
\end{description}
 
\vspace{1cm}{\huge multipath }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.multipath=0]{Désactive la detection multipath}
\end{description}
 
\vspace{1cm}{\huge FIPS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.fips]{Active FIPS}
\item[\hspace{1mm} rd.fips.skipkernel]{Ne vérifie pas le checksum de l'image kernel}
\end{description}
 
\vspace{1cm}{\huge Réseau }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} ip=\{dhcp|on|any|dhcp6|auto6\}]{spécifie la méthode d'obtention d'une adresse ip}
\item[\hspace{1mm} ip=<interface>:\{dhcp|on|any|dhcp6|auto6\}\texttt{[}:\texttt{[}<mtu>\texttt{]}\texttt{[}:<macaddr>\texttt{]}\texttt{]}]{idem, spécifique à une interface. peut être spécifié plusieurs fois}
\item[\hspace{1mm} ip=<client-IP>:\texttt{[}<peer>\texttt{]}:<gateway-IP>:<netmask>:<client\_hostname>:<interface>:\{none|off|dhcp|on|any|dhcp6|auto6|ibft\}\texttt{[}:\texttt{[}<mtu>\texttt{]}\texttt{[}:<macaddr>\texttt{]}\texttt{]}]{Configuration réseau explicite. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} ip=<client-IP>:\texttt{[}<peer>\texttt{]}:<gateway-IP>:<netmask>:<client\_hostname>:<interface>:\{none|off|dhcp|on|any|dhcp6|auto6|ibft\}\texttt{[}:\texttt{[}<dns1>\texttt{]}\texttt{[}:<dns2>\texttt{]}\texttt{]}]{configuration réseau explicite.}
\item[\hspace{1mm} ifname=<interface>:<MAC>]{Assigne le nom spécifié au périphérique réseau.}
\item[\hspace{1mm} rd.route=<net>/<netmask>:<gateway>\texttt{[}:<interface>\texttt{]}]{Ajouter une route statique.}
\item[\hspace{1mm} bootdev=<interface>]{Spécifie l'interface réseau à utiliser pour les informations netroot et de routage. Requis si plusieurs lignes ip= sont utilisées}
\item[\hspace{1mm} BOOTIF=<MAC>]{Spécifie l'interface réseau à utiliser pour les informations netroot et de routage.}
\item[\hspace{1mm} rd.bootif=0]{Désactive le parsing BOOTIF, qui est fournis par PXE}
\item[\hspace{1mm} nameserver=<IP> \texttt{[}nameserver=<IP> ...\texttt{]}]{Spécifie les serveurs de noms à utiliser}
\item[\hspace{1mm} rd.peerdns=0]{Désactive le paramètre DNS des paramètres DHCP}
\item[\hspace{1mm} biosdevname=0]{désactive le renommage d'interface réseau biosdevname}
\item[\hspace{1mm} rd.reednet=1]{active l'événement réseau sans netroot définis}
\item[\hspace{1mm} vlan=<vlanname>:<phydevice>]{Définis un périphérique vlan}
\item[\hspace{1mm} bond=<bondname>\texttt{[}:<bondslaves>:\texttt{[}:<options>\texttt{]}\texttt{]}]{Définis une périphérique bond}
\item[\hspace{1mm} team=<teammaster>:<teamslaves>]{Définis un périphérique team}
\item[\hspace{1mm} bridge=<bridgename>:<ethnames>]{Définis un périphérique bridge}
\end{description}
 
\vspace{1cm}{\huge NFS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} root=\texttt{[}<server-ip>:\texttt{]}<root-dir>\texttt{[}:<nfs-options>\texttt{]}]{Monte un partage NFS. si aucun serveur n'est donné, utilise dhcp}
\item[\hspace{1mm} root=\{dhcp|dhcp6\}]{permet de rechercher le chemin de root via dhcp}
\item[\hspace{1mm} rd.nfs.domain=<NFSv4 domain name>]{Spécifie le domaine NFSv4. Écrase les paramètres dans /etc/idmap.conf}
\item[\hspace{1mm} rd.net.dhcp.retry=<cnt>]{Si définis, dracut tente de se connecter via dhcp, cnt fois avant d'échouer. Défaut: 1}
\item[\hspace{1mm} rd.net.timeout.dhcp=<arg>]{Si définis, dhclient est appelé sans "-timeout <arg>"}
\item[\hspace{1mm} rd.net.timeout.iflink=<seconds>]{Délai d'attente d'activation des liens. Défaut: 60}
\item[\hspace{1mm} rd.net.timeout.ifup=<seconds>]{Délai d'attente de l'état "up" des lient. Défaut: 20}
\item[\hspace{1mm} rd.net.timeout.route=<seconds>]{Délai d'attente d'activation des routes. Défaut: 20}
\item[\hspace{1mm} rd.net.timeout.ipv6dad=<seconds>]{Délai d'attente pour IPv6 DAD. Défaut: 50}
\item[\hspace{1mm} rd.net.timeout.ipv6auto=<seconds>]{Délai d'attente pour l'adressage ipv6 automatique. Défaut: 40}
\item[\hspace{1mm} rd.net.timeout.carrier=<seconds>]{Délai d'attente de reconnaissance du carrier. Défaut: 5}
\end{description}
 
\vspace{1cm}{\huge CIFS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} root=cifs://\texttt{[}<username>\texttt{[}:<password>\texttt{]}@\texttt{]}<server-ip>:<root-dir>]{Définis un partage cifs}
\item[\hspace{1mm} cifsuser=<username>]{username cifs}
\item[\hspace{1mm} cifspass=<password>]{password cifs}
\end{description}
 
\vspace{1cm}{\huge iSCSI }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} root=iscsi:\texttt{[}<username>:<password>\texttt{[}:<reverse>:<password>\texttt{]}@\texttt{]}\texttt{[}<servername>\texttt{]}:\texttt{[}<protocol>\texttt{]}:\texttt{[}<port>\texttt{]}\texttt{[}:\texttt{[}<iscsi\_iface\_name>\texttt{]}:\texttt{[}<netdev\_name>\texttt{]}\texttt{]}:\texttt{[}<LUN>\texttt{]}:<targetname>]{Définis un accès iSCSI pour root}
\item[\hspace{1mm} root=???]{}
\item[\hspace{1mm} netroot=iscsi:\texttt{[}<username>:<password>\texttt{[}:<reverse>:<password>\texttt{]}@\texttt{]}\texttt{[}<servername>\texttt{]}:\texttt{[}<protocol>\texttt{]}:\texttt{[}<port>\texttt{]}\texttt{[}:\texttt{[}<iscsi\_iface\_name>\texttt{]}:\texttt{[}<netdev\_name>\texttt{]}\texttt{]}:\texttt{[}<LUN>\texttt{]}:<targetname>]{Plusieurs options netroot sont permis pour définir plusieurs disques iscsi}
\item[\hspace{1mm} root=??? rd.iscsi.initiator=<initiator> rd.iscsi.target.name=<target name> rd.iscsi.target.ip=<target ip>]{}
\item[\hspace{1mm} rd.iscsi.target.port=<target port> rd.iscsi.target.group=<target group> rd.iscsi.username=<username>]{}
\item[\hspace{1mm} rd.iscsi.password=<password> rd.iscsi.in.username=<in username> rd.iscsi.in.password=<in password>]{Spécifier manuellement tous les paramètres iscsistart.}
\item[\hspace{1mm} root=??? netroot=iscsi rd.iscsi.firmware=1]{Li le paramètre iscsi depuis le firmware BIOS}
\item[\hspace{1mm} rd.iscsi.param=<param>]{Le paramètre est passé à iscsistart. peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.iscsi.ibft rd.iscsi.ibft=1]{Active l'autoconfiguration iBFT pour les interfaces}
\item[\hspace{1mm} rd.iscsi.waitnet=0]{Désactive l'attente que toutes les interfaces soient actives avant de tenter une connection aux targets iSCSI}
\item[\hspace{1mm} rd.iscsi.testroute=0]{Désactive la vérification, si la route vers de target iSCSI est possible avant de tenter une connection}
\end{description}
 
\vspace{1cm}{\huge FCoE }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} fcoe=<edd|interface|MAC>:\{dcb|nodcb\}]{Définis une connexion FCoE via l'interface spécifiée.}
\end{description}
 
\vspace{1cm}{\huge NBD }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} root=??? netroot=nbd:<server>:<port/exportname>\texttt{[}:<fstype>\texttt{[}:<mountopts>\texttt{[}:<nbdopts>\texttt{]}\texttt{]}\texttt{]}]{Mounte un partage nbd.}
\item[\hspace{1mm} root=dhcp dhcp root-path=nbd:<server>:<port/exportname>\texttt{[}:<fstype>\texttt{[}:<mountopts>\texttt{[}:<nbdopts>\texttt{]}\texttt{]}\texttt{]}]{récupère les informations nbd via dhcp.}
\end{description}
 
\vspace{1cm}{\huge DASD }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.dasd=...]{Même syntaxe que le paramètre du module kernel.}
\end{description}
 
\vspace{1cm}{\huge ZFCP }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.zfcp=<zfcp adaptor device bus ID>,<WWPN>,<FCPLUN>]{Peut être spécifié plusieurs fois}
\item[\hspace{1mm} rd.zfcp.conf=0]{ignore zfcp.conf inclus dans l'initramfs}
\end{description}
 
\vspace{1cm}{\huge ZNET }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.znet=<nettype>,<subchannels>,<options>]{Peut être spécifié plusieurs fois}
\end{description}
 
\vspace{1cm}{\huge Booter des images live }
 
\
 
\hspace{1mm}  dracut offre plusieurs options pour les images live.
\vspace{5mm} \\
\hspace{1mm}  \textbf{SquashFS} Le système boot avec un fs readonly depuis le squashfs et applique un dm rw par dessus le fs readonly.
\vspace{5mm} \\
\hspace{1mm}  \textbf{non compressé} Quand le système live est installé avec --skipconpress, le système root ext3fs.img, est étendu à l'installation et aucun squashfs n'est utilisé durant le boot.
\vspace{5mm} \\
\hspace{1mm}  \textbf{image writable} Le système récupère une image compressée, l'extrait dans /run/initramfs/fsimg/rootfs.img, la connecte dans un périphérique loop, créé un dm writable à /dev/mapper/live-rw et le monte comme volume rw à /.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} rd.writable.fsimg=1]{ACtive le support de système de fichier rw.}
\item[\hspace{1mm} root=live:<url>]{Boot une image live récupérée depuis l'url spécifié. (http, https, ftp, terrent, tftp)}
\item[\hspace{1mm} rd.live.debug=1]{Active la sortie debug du processus de boot}
\item[\hspace{1mm} rd.live.dir=<path>]{Spécifie le répetroire dans le squashfs où ext3fs.img ou rootfs.img peuvent être trouvés. Défaut: LiveOS}
\item[\hspace{1mm} rd.live.squashimg=<filename of SquashFS image>]{Spécifie le fichier d'une image squash du système de fichier root. Défaut: squashfs.img}
\item[\hspace{1mm} rd.live.ram=1]{Copie l'image complète en RAM et l'utilise pour booter. Utile quand l'image réside sur un DVD par ex. qui doit être éjeté ensuite.}
\item[\hspace{1mm} rd.live.overlay=<devspec>:(<pathspec>|auto)|none]{Permet l'utilisation d'overlay permanent.}
\item[\hspace{1mm} rd.live.overlay.size=<size MiB>]{Spécifie une taille d'overlay persistant. Défaut: 512}
\item[\hspace{1mm} rd.live.overlay.readonly=1]{Spécifie un overlay rw non persistant stacké sur un snapshot ro.}
\item[\hspace{1mm} rd.live.overlay.reset=1]{Spécifie qu'un overlay persistant devrait être réinitialisés au boot.}
\item[\hspace{1mm} rd.live.overlay.thin=1]{Active l'utilisation de snapshots thin.}
\end{description}
 
\vspace{1cm}{\huge Plymouth }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} plymouth.enable=0]{Désactive plymouth complètement}
\item[\hspace{1mm} rd.plymouth=0]{Désactive plymouth seulement dans l'initramfs}
\end{description}
 
\vspace{1cm}{\huge Clés kernel }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} masterkey=<kernel master key path name>]{Définis la clé maître}
\item[\hspace{1mm} masterkeytype=<kernel master key type>]{Définis le type de clé maître}
\item[\hspace{1mm} evmkey=<EVM key path name>]{Définis le chemin de la clé EVM}
\item[\hspace{1mm} ecryptfskey=<eCryptfs key path name>]{Définis le chemin de la clé eCryptfs}
\end{description}
\end{flushleft}
\end{document}
