en to fr translation catalogue (21 entries)

note: type: Content of: <sect1><title>
en: About initramfs
fr: À propos de initramfs

note: type: Content of: <sect1><para>
en: The only purpose of an initramfs is to mount the root filesystem.  The initramfs is a complete set of directories that you would find on a normal root filesystem.  It is bundled into a single cpio archive and compressed with one of several compression algorithms.
fr: La seule fonction d'un initramfs est de monter le système de fichier racine.  L'initramfs est un ensemble complet de répertoires que vous pouvez trouver dans un système de fichiers racine normal. Il est regroupé dans une seule archive cpio et compressé avec l'un des nombreux algorithmes de compression.

note: type: Content of: <sect1><para>
en: At boot time, the boot loader loads the kernel and the initramfs image into memory and starts the kernel.  The kernel checks for the presence of the initramfs and, if found, mounts it as / and runs /init. The init program is typically a shell script.  Note that the boot process takes longer, possibly significantly longer, if an initramfs is used.
fr: Au moment du démarrage, le chargeur de démarrage charge le noyau et l'image initramfs dans la mémoire et démarre le noyau. Le noyau vérifie la présence d'un initramfs et, s'il le trouve, le monte sur / et lance /init. Le programme init est typiquement un script shell.  Notez que le processus de démarrage est plus long, même significativement plus long, si un initramfs est utilisé.

note: type: Content of: <sect1><para>
en: For most distributions, kernel modules are the biggest reason to have an initramfs.  In a general distribution, there are many unknowns such as file system types and disk layouts.  In a way, this is the opposite of LFS where the system capabilities and layout are known and a custom kernel is normally built.  In this situation, an initramfs is rarely needed.
fr: Pour la plupart des distributions, les modules du noyau sont la plus importante raison d'avoir un initramfs. Dans une distribution générale, il y a beaucoup d'inconnues comme les types de systèmes de fichiers et les couches des disques. Dans un sens, c'est l'opposé de LFS où les capacités et les couches du système sont connus et un noyau personnalisé est normalement construit.  Dans cette situation, un initramfs est rarement nécessaire.

note: type: Content of: <sect1><para>
en: There are only four primary reasons to have an initramfs in the LFS environment: loading the rootfs from a network, loading it from an LVM logical volume, having an encrypted rootfs where a password is required, or for the convenience of specifying the rootfs as a LABEL or UUID.  Anything else usually means that the kernel was not configured properly.
fr: Il y a seulement quatre raisons d'avoir un initramfs dans un environnement LFS&nbsp;: le chargement du rootfs depuis le réseau, son chargement depuis un volume logique LVM, avoir un rootfs chiffré où un mot de passe est requis, ou pour le confort d'un rootfs spécifié par un LABEL ou un UUID. Les autres cas signifient souvent que le noyau n'est pas configuré correctement.

note: type: Content of: <sect1><sect2><title>
en: Building an initramfs
fr: Construire un initramfs

note: type: Content of: <sect1><sect2><para>
en: If you do decide to build an initramfs, the following scripts will provide a basis to do it.  The scripts will allow specifying a rootfs via partition UUID or partition LABEL or a rootfs on an LVM logical volume.  They do not support an encrypted root file system or mounting the rootfs over a network card.  For a more complete capability see <ulink url="https://www.linuxfromscratch.org/hints/read.html"> the LFS Hints</ulink> or <ulink url="https://fedoraproject.org/wiki/Dracut">dracut</ulink>.
fr: Si vous décidez de construire un initramfs, les scripts suivants fourniront les bases pour le faire. Les scripts autoriseront la spécification du rootfs via un UUID de partition ou un LABEL de partition ou un rootfs dans un volume logique LVM. Ils ne prennent pas en charge les systèmes de fichier racine chiffrés ou le montage des rootfs par des cartes réseaux. Pour plus d'informations sur les possibilités, voir <ulink url="https://www.linuxfromscratch.org/hints/read.html">les astuces LFS </ulink> (les astuces <ulink url="https://fr.linuxfromscratch.org/astuces/">traduites</ulink>) ou <ulink url="https://fedoraproject.org/wiki/Dracut">dracut</ulink>.

note: type: Content of: <sect1><sect2><para>
en: To install these scripts, run the following commands as the <systemitem class="username">root</systemitem> user:
fr: Pour installer ces scripts, lancez les commandes suivantes en tant qu'utilisateur <systemitem class="username">root</systemitem>&nbsp;:

note: type: Content of: <sect1><sect2><screen>
en: <userinput>cat &gt; /usr/sbin/mkinitramfs &lt;&lt; "EOF"
    <literal>#!/bin/bash
    # This file based in part on the mkinitramfs script for the LFS LiveCD
    # written by Alexander E. Patrakov and Jeremy Huntwork.
    
    copy()
    {
      local file
    
      if [ "$2" = "lib" ]; then
        file=$(PATH=/usr/lib type -p $1)
      else
        file=$(type -p $1)
      fi
    
      if [ -n "$file" ] ; then
        cp $file $WDIR/usr/$2
      else
        echo "Missing required file: $1 for directory $2"
        rm -rf $WDIR
        exit 1
      fi
    }
    
    if [ -z $1 ] ; then
      INITRAMFS_FILE=initrd.img-no-kmods
    else
      KERNEL_VERSION=$1
      INITRAMFS_FILE=initrd.img-$KERNEL_VERSION
    fi
    
    if [ -n "$KERNEL_VERSION" ] &amp;&amp; [ ! -d "/usr/lib/modules/$1" ] ; then
      echo "No modules directory named $1"
      exit 1
    fi
    
    printf "Creating $INITRAMFS_FILE... "
    
    binfiles="sh cat cp dd killall ls mkdir mknod mount "
    binfiles="$binfiles umount sed sleep ln rm uname"
    binfiles="$binfiles readlink basename"
    
    # Systemd installs udevadm in /bin. Other udev implementations have it in /sbin
    if [ -x /usr/bin/udevadm ] ; then binfiles="$binfiles udevadm"; fi
    
    sbinfiles="modprobe blkid switch_root"
    
    # Optional files and locations
    for f in mdadm mdmon udevd udevadm; do
      if [ -x /usr/sbin/$f ] ; then sbinfiles="$sbinfiles $f"; fi
    done
    
    # Add lvm if present (cannot be done with the others because it
    # also needs dmsetup
    if [ -x /usr/sbin/lvm ] ; then sbinfiles="$sbinfiles lvm dmsetup"; fi
    
    unsorted=$(mktemp /tmp/unsorted.XXXXXXXXXX)
    
    DATADIR=/usr/share/mkinitramfs
    INITIN=init.in
    
    # Create a temporary working directory
    WDIR=$(mktemp -d /tmp/initrd-work.XXXXXXXXXX)
    
    # Create base directory structure
    mkdir -p $WDIR/{dev,run,sys,proc,usr/{bin,lib/{firmware,modules},sbin}}
    mkdir -p $WDIR/etc/{modprobe.d,udev/rules.d}
    touch $WDIR/etc/modprobe.d/modprobe.conf
    ln -s usr/bin  $WDIR/bin
    ln -s usr/lib  $WDIR/lib
    ln -s usr/sbin $WDIR/sbin
    ln -s lib      $WDIR/lib64
    
    # Create necessary device nodes
    mknod -m 640 $WDIR/dev/console c 5 1
    mknod -m 664 $WDIR/dev/null    c 1 3
    
    # Install the udev configuration files
    if [ -f /etc/udev/udev.conf ]; then
      cp /etc/udev/udev.conf $WDIR/etc/udev/udev.conf
    fi
    
    for file in $(find /etc/udev/rules.d/ -type f) ; do
      cp $file $WDIR/etc/udev/rules.d
    done
    
    # Install any firmware present
    cp -a /usr/lib/firmware $WDIR/usr/lib
    
    # Copy the RAID configuration file if present
    if [ -f /etc/mdadm.conf ] ; then
      cp /etc/mdadm.conf $WDIR/etc
    fi
    
    # Install the init file
    install -m0755 $DATADIR/$INITIN $WDIR/init
    
    if [  -n "$KERNEL_VERSION" ] ; then
      if [ -x /usr/bin/kmod ] ; then
        binfiles="$binfiles kmod"
      else
        binfiles="$binfiles lsmod"
        sbinfiles="$sbinfiles insmod"
      fi
    fi
    
    # Install basic binaries
    for f in $binfiles ; do
      ldd /usr/bin/$f | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
      copy /usr/bin/$f bin
    done
    
    for f in $sbinfiles ; do
      ldd /usr/sbin/$f | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
      copy $f sbin
    done
    
    # Add udevd libraries if not in /usr/sbin
    if [ -x /usr/lib/udev/udevd ] ; then
      ldd /usr/lib/udev/udevd | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
    elif [ -x /usr/lib/systemd/systemd-udevd ] ; then
      ldd /usr/lib/systemd/systemd-udevd | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
    fi
    
    # Add module symlinks if appropriate
    if [ -n "$KERNEL_VERSION" ] &amp;&amp; [ -x /usr/bin/kmod ] ; then
      ln -s kmod $WDIR/usr/bin/lsmod
      ln -s kmod $WDIR/usr/bin/insmod
    fi
    
    # Add lvm symlinks if appropriate
    # Also copy the lvm.conf file
    if  [ -x /usr/sbin/lvm ] ; then
      ln -s lvm $WDIR/usr/sbin/lvchange
      ln -s lvm $WDIR/usr/sbin/lvrename
      ln -s lvm $WDIR/usr/sbin/lvextend
      ln -s lvm $WDIR/usr/sbin/lvcreate
      ln -s lvm $WDIR/usr/sbin/lvdisplay
      ln -s lvm $WDIR/usr/sbin/lvscan
    
      ln -s lvm $WDIR/usr/sbin/pvchange
      ln -s lvm $WDIR/usr/sbin/pvck
      ln -s lvm $WDIR/usr/sbin/pvcreate
      ln -s lvm $WDIR/usr/sbin/pvdisplay
      ln -s lvm $WDIR/usr/sbin/pvscan
    
      ln -s lvm $WDIR/usr/sbin/vgchange
      ln -s lvm $WDIR/usr/sbin/vgcreate
      ln -s lvm $WDIR/usr/sbin/vgscan
      ln -s lvm $WDIR/usr/sbin/vgrename
      ln -s lvm $WDIR/usr/sbin/vgck
      # Conf file(s)
      cp -a /etc/lvm $WDIR/etc
    fi
    
    # Install libraries
    sort $unsorted | uniq | while read library ; do
    # linux-vdso and linux-gate are pseudo libraries and do not correspond to a file
    # libsystemd-shared is in /lib/systemd, so it is not found by copy, and
    # it is copied below anyway
      if [[ "$library" == linux-vdso.so.1 ]] ||
         [[ "$library" == linux-gate.so.1 ]] ||
         [[ "$library" == libsystemd-shared* ]]; then
        continue
      fi
    
      copy $library lib
    done
    
    if [ -d /usr/lib/udev ]; then
      cp -a /usr/lib/udev $WDIR/usr/lib
    fi
    if [ -d /usr/lib/systemd ]; then
      cp -a /usr/lib/systemd $WDIR/usr/lib
    fi
    if [ -d /usr/lib/elogind ]; then
      cp -a /usr/lib/elogind $WDIR/usr/lib
    fi
    
    # Install the kernel modules if requested
    if [ -n "$KERNEL_VERSION" ]; then
      find \
         /usr/lib/modules/$KERNEL_VERSION/kernel/{crypto,fs,lib}                      \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{block,ata,nvme,md,firewire} \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{scsi,message,pcmcia,virtio} \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/usb/{host,storage}           \
         -type f 2&gt; /dev/null | cpio --make-directories -p --quiet $WDIR
    
      cp /usr/lib/modules/$KERNEL_VERSION/modules.{builtin,order} \
                $WDIR/usr/lib/modules/$KERNEL_VERSION
      if [ -f /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo ]; then
        cp /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo \
                $WDIR/usr/lib/modules/$KERNEL_VERSION
      fi
    
      depmod -b $WDIR $KERNEL_VERSION
    fi
    
    ( cd $WDIR ; find . | cpio -o -H newc --quiet | gzip -9 ) &gt; $INITRAMFS_FILE
    
    # Prepare early loading of microcode if available
    if ls /usr/lib/firmware/intel-ucode/* &gt;/dev/null 2&gt;&amp;1 ||
       ls /usr/lib/firmware/amd-ucode/*   &gt;/dev/null 2&gt;&amp;1; then
    
    # first empty WDIR to reuse it
      rm -r $WDIR/*
    
      DSTDIR=$WDIR/kernel/x86/microcode
      mkdir -p $DSTDIR
    
      if [ -d /usr/lib/firmware/amd-ucode ]; then
        cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin &gt; $DSTDIR/AuthenticAMD.bin
      fi
    
      if [ -d /usr/lib/firmware/intel-ucode ]; then
        cat /usr/lib/firmware/intel-ucode/* &gt; $DSTDIR/GenuineIntel.bin
      fi
    
      ( cd $WDIR; find . | cpio -o -H newc --quiet ) &gt; microcode.img
      cat microcode.img $INITRAMFS_FILE &gt; tmpfile
      mv tmpfile $INITRAMFS_FILE
      rm microcode.img
    fi
    
    # Remove the temporary directories and files
    rm -rf $WDIR $unsorted
    printf "done.\n"
    </literal>
    EOF
    
    chmod 0755 /usr/sbin/mkinitramfs</userinput>
fr: <userinput>cat &gt; /usr/sbin/mkinitramfs &lt;&lt; "EOF"
    <literal>#!/bin/bash
    # Ce fichier se base en partie sur le script mkinitramfs du LiveCD LFS
    # écrit par Alexander E. Patrakov et Jeremy Huntwork.
    
    copy()
    {
      local file
    
      if [ "$2" = "lib" ]; then
        file=$(PATH=/usr/lib type -p $1)
      else
        file=$(type -p $1)
      fi
    
      if [ -n "$file" ] ; then
        cp $file $WDIR/usr/$2
      else
        echo "Fichier requis manquant : $1 pour le répertoire $2"
        rm -rf $WDIR
        exit 1
      fi
    }
    
    if [ -z $1 ] ; then
      INITRAMFS_FILE=initrd.img-no-kmods
    else
      KERNEL_VERSION=$1
      INITRAMFS_FILE=initrd.img-$KERNEL_VERSION
    fi
    
    if [ -n "$KERNEL_VERSION" ] &amp;&amp; [ ! -d "/usr/lib/modules/$1" ] ; then
      echo "Aucun répertoire de modules nommé $1"
      exit 1
    fi
    
    printf "Création de $INITRAMFS_FILE... "
    
    binfiles="sh cat cp dd killall ls mkdir mknod mount "
    binfiles="$binfiles umount sed sleep ln rm uname"
    binfiles="$binfiles readlink basename"
    
    # Systemd installe udevadm dans /bin. Les autres implementations d'udev le placent dans /sbin
    if [ -x /usr/bin/udevadm ] ; then binfiles="$binfiles udevadm"; fi
    
    sbinfiles="modprobe blkid switch_root"
    
    # Fichiers en emplacements facultatifs
    for f in mdadm mdmon udevd udevadm; do
      if [ -x /usr/sbin/$f ] ; then sbinfiles="$sbinfiles $f"; fi
    done
    
    # Ajout de lvm s'il est présent (impossible de le faire avec le reste car il
    # nécessite également dmsetup)
    if [ -x /usr/sbin/lvm ] ; then sbinfiles="$sbinfiles lvm dmsetup"; fi
    
    unsorted=$(mktemp /tmp/unsorted.XXXXXXXXXX)
    
    DATADIR=/usr/share/mkinitramfs
    INITIN=init.in
    
    # Création d'un répertoire de travail temporaire
    WDIR=$(mktemp -d /tmp/initrd-work.XXXXXXXXXX)
    
    # Création d'une structure de répertoires de base
    mkdir -p $WDIR/{dev,run,sys,proc,usr/{bin,lib/{firmware,modules},sbin}}
    mkdir -p $WDIR/etc/{modprobe.d,udev/rules.d}
    touch $WDIR/etc/modprobe.d/modprobe.conf
    ln -s usr/bin  $WDIR/bin
    ln -s usr/lib  $WDIR/lib
    ln -s usr/sbin $WDIR/sbin
    ln -s lib      $WDIR/lib64
    
    # Création des nœuds de périphérique nécessaires
    mknod -m 640 $WDIR/dev/console c 5 1
    mknod -m 664 $WDIR/dev/null    c 1 3
    
    # Installation des fichiers de configuration d'udev
    if [ -f /etc/udev/udev.conf ]; then
      cp /etc/udev/udev.conf $WDIR/etc/udev/udev.conf
    fi
    
    for file in $(find /etc/udev/rules.d/ -type f) ; do
      cp $file $WDIR/etc/udev/rules.d
    done
    
    # Installation des micrologiciels présents
    cp -a /usr/lib/firmware $WDIR/usr/lib
    
    # Copie du fichier de configuration RAID s'il est présent
    if [ -f /etc/mdadm.conf ] ; then
      cp /etc/mdadm.conf $WDIR/etc
    fi
    
    # Installation du fichier d'init
    install -m0755 $DATADIR/$INITIN $WDIR/init
    
    if [  -n "$KERNEL_VERSION" ] ; then
      if [ -x /usr/bin/kmod ] ; then
        binfiles="$binfiles kmod"
      else
        binfiles="$binfiles lsmod"
        sbinfiles="$sbinfiles insmod"
      fi
    fi
    
    # Installation des binaires de base
    for f in $binfiles ; do
      ldd /usr/bin/$f | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
      copy /usr/bin/$f bin
    done
    
    for f in $sbinfiles ; do
      ldd /usr/sbin/$f | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
      copy $f sbin
    done
    
    # Ajout des bibliothèques udevd s'il n'est pas dans /usr/sbin
    if [ -x /usr/lib/udev/udevd ] ; then
      ldd /usr/lib/udev/udevd | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
    elif [ -x /usr/lib/systemd/systemd-udevd ] ; then
      ldd /usr/lib/systemd/systemd-udevd | sed "s/\t//" | cut -d " " -f1 &gt;&gt; $unsorted
    fi
    
    # Ajout des liens symboliques des modules si nécessaire
    if [ -n "$KERNEL_VERSION" ] &amp;&amp; [ -x /usr/bin/kmod ] ; then
      ln -s kmod $WDIR/usr/bin/lsmod
      ln -s kmod $WDIR/usr/bin/insmod
    fi
    
    # Ajout des liens symboliques de lvm si nécessaire
    # Également, copie du fichier lvm.conf
    if  [ -x /usr/sbin/lvm ] ; then
      ln -s lvm $WDIR/usr/sbin/lvchange
      ln -s lvm $WDIR/usr/sbin/lvrename
      ln -s lvm $WDIR/usr/sbin/lvextend
      ln -s lvm $WDIR/usr/sbin/lvcreate
      ln -s lvm $WDIR/usr/sbin/lvdisplay
      ln -s lvm $WDIR/usr/sbin/lvscan
    
      ln -s lvm $WDIR/usr/sbin/pvchange
      ln -s lvm $WDIR/usr/sbin/pvck
      ln -s lvm $WDIR/usr/sbin/pvcreate
      ln -s lvm $WDIR/usr/sbin/pvdisplay
      ln -s lvm $WDIR/usr/sbin/pvscan
    
      ln -s lvm $WDIR/usr/sbin/vgchange
      ln -s lvm $WDIR/usr/sbin/vgcreate
      ln -s lvm $WDIR/usr/sbin/vgscan
      ln -s lvm $WDIR/usr/sbin/vgrename
      ln -s lvm $WDIR/usr/sbin/vgck
      # Fichier de configuration
      cp -a /etc/lvm $WDIR/etc
    fi
    
    # Installation des bibliothèques
    sort $unsorted | uniq | while read library ; do
    # linux-vdso et linux-gate sont des pseudo-bibliothèque et ne correspondent pas à un fichier
    # libsystemd-shared se trouve dans /lib/systemd, donc il n'est pas trouvé par la copie, mais
    # il est tout de même copié plus bas
      if [[ "$library" == linux-vdso.so.1 ]] ||
         [[ "$library" == linux-gate.so.1 ]] ||
         [[ "$library" == libsystemd-shared* ]]; then
        continue
      fi
    
      copy $library lib
    done
    
    if [ -d /usr/lib/udev ]; then
      cp -a /usr/lib/udev $WDIR/usr/lib
    fi
    if [ -d /usr/lib/systemd ]; then
      cp -a /usr/lib/systemd $WDIR/usr/lib
    fi
    if [ -d /usr/lib/elogind ]; then
      cp -a /usr/lib/elogind $WDIR/usr/lib
    fi
    
    # Installation des modules du noyau si nécessaire
    if [ -n "$KERNEL_VERSION" ]; then
      find \
         /usr/lib/modules/$KERNEL_VERSION/kernel/{crypto,fs,lib}                      \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{block,ata,nvme,md,firewire} \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{scsi,message,pcmcia,virtio} \
         /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/usb/{host,storage}           \
         -type f 2&gt; /dev/null | cpio --make-directories -p --quiet $WDIR
    
      cp /usr/lib/modules/$KERNEL_VERSION/modules.{builtin,order} \
                $WDIR/usr/lib/modules/$KERNEL_VERSION
      if [ -f /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo ]; then
        cp /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo \
                $WDIR/usr/lib/modules/$KERNEL_VERSION
      fi
    
      depmod -b $WDIR $KERNEL_VERSION
    fi
    
    ( cd $WDIR ; find . | cpio -o -H newc --quiet | gzip -9 ) &gt; $INITRAMFS_FILE
    
    # Preparation du chargement au plus tôt du microcode s'il est disponible
    if ls /usr/lib/firmware/intel-ucode/* &gt;/dev/null 2&gt;&amp;1 ||
       ls /usr/lib/firmware/amd-ucode/*   &gt;/dev/null 2&gt;&amp;1; then
    
    # on commence par vider WDIR pour le réutiliser
      rm -r $WDIR/*
    
      DSTDIR=$WDIR/kernel/x86/microcode
      mkdir -p $DSTDIR
    
      if [ -d /usr/lib/firmware/amd-ucode ]; then
        cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin &gt; $DSTDIR/AuthenticAMD.bin
      fi
    
      if [ -d /usr/lib/firmware/intel-ucode ]; then
        cat /usr/lib/firmware/intel-ucode/* &gt; $DSTDIR/GenuineIntel.bin
      fi
    
      ( cd $WDIR; find . | cpio -o -H newc --quiet ) &gt; microcode.img
      cat microcode.img $INITRAMFS_FILE &gt; tmpfile
      mv tmpfile $INITRAMFS_FILE
      rm microcode.img
    fi
    
    # Suppression des répertoires et des fichiers temporaires
    rm -rf $WDIR $unsorted
    printf "done.\n"
    </literal>
    EOF
    
    chmod 0755 /usr/sbin/mkinitramfs</userinput>

note: type: Content of: <sect1><sect2><title>
en: Using an initramfs
fr: Utilisation d'un initramfs

note: type: Content of: <sect1><sect2><bridgehead>
en: Required Runtime Dependency
fr: Dépendance d'exécution requise

note: type: Content of: <sect1><sect2><bridgehead>
en: Other Runtime Dependencies
fr: Dépendances de Other Runtime

note: type: Content of: <sect1><sect2><para>
en: <xref role="runtime" linkend="lvm2"/> and/or <xref role="runtime" linkend="mdadm"/> must be installed before generating the initramfs, if the system partition uses them.
fr: <xref role="runtime" linkend="lvm2"/> et <xref role="runtime" linkend="mdadm"/> doivent être installés avant de générer l'initramfs, si les partitions du système les utilise.

note: type: Content of: <sect1><sect2><para>
en: To build an initramfs, run the following as the <systemitem class="username">root</systemitem> user:
fr: Pour construire un initramfs, lancer ce qui suit en tant qu'utilisateur <systemitem class="username">root</systemitem>&nbsp;:

note: type: Content of: <sect1><sect2><para>
en: The optional argument is the directory where the appropriate kernel modules are located. This must be a subdirectory of <filename class='directory'> /lib/modules</filename>.  If no modules are specified, then the initramfs is named <emphasis>initrd.img-no-kmods</emphasis>.  If a kernel version is specified, the initrd is named <emphasis>initrd.img-$KERNEL_VERSION</emphasis> and is only appropriate for the specific kernel specified. The output file will be placed in the current directory.
fr: L'argument facultatif est le répertoire où les modules appropriés du noyau sont enregistrés.  Cela peut être un sous-répertoire de <filename class='directory'> /lib/modules</filename>.  Si aucun module n'est spécifié, alors l'initramfs est appelé <emphasis>initrd.img-no-kmods</emphasis>.  Si une version du noyau est précisé, le fichier initrd est appelé <emphasis>initrd.img-$KERNEL_VERSION</emphasis> et est seulement destiné pour le noyau spécifiquement précisé. Les fichiers de sortie seront enregistrés dans le répertoire courant.

note: type: Content of: <sect1><sect2><para>
en: If early loading of microcode is needed (see <xref linkend="cpu-microcode"/>), you can install the appropriate blob or container in <filename class="directory">/lib/firmware</filename>.  It will be automatically added to the initrd when running <command>mkinitramfs</command>.
fr: Si vous avez besoin du chargement de microcode au plus tôt (voir <xref linkend="cpu-microcode"/>), vous pouvez installer le blob ou le conteneur approprié dans <filename class="directory">/lib/firmware</filename>. Il sera automatiquement ajouté à l'initrd quand vous lancerez <command>mkinitfs</command>.

note: type: Content of: <sect1><sect2><para>
en: After generating the initrd, copy it to the <filename class='directory'>/boot</filename> directory.
fr: Après avoir généré le fichier initrd, copiez-le dans le répertoire <filename class='directory'>/boot</filename>.

note: type: Content of: <sect1><sect2><para>
en: Now edit <filename>/boot/grub/grub.cfg</filename> and add a new menuentry.  Below are several examples.
fr: Maintenant éditez <filename>/boot/grub/grub.cfg</filename> et ajoutez une nouvelle entrée dans le menu. En dessous, plusieurs exemples sont présentés.

note: type: Content of: <sect1><sect2><screen>
en: <userinput># Generic initramfs and root fs on LVM partition
    menuentry "LFS Dev (LFS-7.0-Feb18) initrd lvm, Linux 3.0.4"
    {
      linux  /vmlinuz-3.0.4-lfs-20120218 root=/dev/mapper/myroot ro
      initrd /initrd.img-no-kmods
    }</userinput>
fr: <userinput># Initramfs et système de fichiers racine génériques sur une partition LVM
    menuentry "LFS Dev (LFS-7.0-Feb18) initrd lvm, Linux 3.0.4"
    {
      linux  /vmlinuz-3.0.4-lfs-20120218 root=/dev/mapper/myroot ro
      initrd /initrd.img-no-kmods
    }</userinput>

note: type: Content of: <sect1><sect2><screen>
en: <userinput># Specific initramfs and root fs identified by LABEL
    menuentry "LFS Dev (LFS-7.1-Feb20) initrd label, Linux 3.2.6"
    {
      linux  /vmlinuz-3.2.6-lfs71-120220 root=LABEL=lfs71 ro
      initrd /initrd.img-3.2.6-lfs71-120220
    }</userinput>
fr: <userinput># Initramfs et système de fichiers racine spécifiques identifié par un LABEL
    menuentry "LFS Dev (LFS-7.1-Feb20) initrd label, Linux 3.2.6"
    {
      linux  /vmlinuz-3.2.6-lfs71-120220 root=LABEL=lfs71 ro
      initrd /initrd.img-3.2.6-lfs71-120220
    }</userinput>

note: type: Content of: <sect1><sect2><para>
en: Finally, reboot the system and select the desired system.
fr: Finalement, redémarrez le système et sélectionnez le système désiré.
