Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 1056

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>3. Installation du périphérique d'amorçage</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="index.html" title="
	Guide pratique de chiffrement des systèmes de fichiers racines
    ">
<link rel="up" href="index.html" title="
	Guide pratique de chiffrement des systèmes de fichiers racines
    ">
<link rel="prev" href="ar01s02.html" title="2. Création du système de fichiers racine chiffré">
<link rel="next" href="ar01s04.html" title="4. Dernières étapes">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">3. Installation du périphérique d'amorçage</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="ar01s04.html">Suivant</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="fr">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="configurer-amorce"></a>3. Installation du périphérique d'amorçage</h2></div></div></div>
<div class="sect2" lang="fr">
<div class="titlepage"><div><div><h3 class="title">
<a name="ramdisque-initial"></a>3.1. Création du ramdisque</h3></div></div></div>
<p>
	    Pour commencer, redéfinissez la racine du système (via
	    <span><b class="command">chroot</b></span>) à l'intérieur de la partition
	    chiffrée et créez le point de montage du périphérique
	    d'amorçage :
        </p>
<pre class="screen">
chroot /mnt/efs
mkdir /loader
</pre>
<p>
	    Ensuite, créez le ramdisque initial (initrd), lequel sera
	    nécessaire par la suite :
        </p>
<pre class="screen">
cd
dd if=/dev/zero of=initrd bs=1k count=4096
mke2fs -F initrd
mkdir ramdisk
mount -o loop initrd ramdisk
</pre>
<p>
	    Créez la hiérarchie du système de fichiers et copiez-y les
	    fichiers requis :
	</p>
<pre class="screen">
mkdir ramdisk/{bin,dev,lib,mnt,sbin}
cp /bin/{bash,mount,umount} ramdisk/bin/
ln -s bash ramdisk/bin/sh
mknod -m 600 ramdisk/dev/console c 5 1
mknod -m 600 ramdisk/dev/hda2    b 3 2
mknod -m 600 ramdisk/dev/loop0   b 7 0
cp /lib/{ld-linux.so.2,libc.so.6,libdl.so.2} ramdisk/lib/
cp /lib/{libncurses.so.5,libtermcap.so.2}    ramdisk/lib/
cp /sbin/{losetup,pivot_root} ramdisk/sbin/
</pre>
<p>
	Ne soyez pas surpris si vous voyez un message du genre
	« /lib/libncurses.so.5: No such file or directory »,
	ou « /lib/libtermcap.so.2: No such file or
	directory », c'est normal : bash n'a besoin que de
	l'une de ces deux bibliothèques. Vous pouvez vérifier laquelle
	est actuellement nécessaire avec la commande suivante :
    </p>
<pre class="screen">
ldd /bin/bash
</pre>
<p>
	Créez le script d'initialisation <tt class="filename">init</tt>
	(n'oubliez pas de remplacer
	« <i class="replaceable"><tt>xxxxxxxxxx</tt></i> » par la
	graine que vous avez choisi) :
    </p>
<pre class="screen">
cat &gt; ramdisk/sbin/init &lt;&lt; "EOF"
#!/bin/sh

/sbin/losetup -e aes256 -S <i class="replaceable"><tt>xxxxxxxxxx</tt></i> /dev/loop0 /dev/hda2
/bin/mount -r -n -t ext2 /dev/loop0 /mnt

while [ $? -ne 0 ]
do
    /sbin/losetup -d /dev/loop0
    /sbin/losetup -e aes256 -S <i class="replaceable"><tt>xxxxxxxxxx</tt></i> /dev/loop0 /dev/hda2
    /bin/mount -r -n -t ext2 /dev/loop0 /mnt
done

cd /mnt
/sbin/pivot_root . loader
exec /usr/sbin/chroot . /sbin/init
EOF

chmod 755 ramdisk/sbin/init
</pre>
<p>
	Démontez le périphérique de bouclage (<span class="foreignphrase"><i class="foreignphrase">loopback 
	device</i></span>) et compressez le fichier initrd :
    </p>
<pre class="screen">
umount -d ramdisk
rmdir ramdisk
gzip initrd
mv initrd.gz /boot/
</pre>
</div>
<div class="sect2" lang="fr">
<div class="titlepage"><div><div><h3 class="title">
<a name="cd-amorcable"></a>3.2. Démarrage depuis un cd-rom</h3></div></div></div>
<p>
	    Je vous conseille vivement de démarrer votre système depuis
	    un média en lecture seule, tel qu'un cd-rom amorçable.
        </p>
<p>
	    Téléchargez et décompressez syslinux :
        </p>
<pre class="screen">
wget ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/syslinux-2.07.tar.gz
tar -xvzf syslinux-2.07.tar.gz
</pre>
<p>
	    Configurez isolinux :
        </p>
<pre class="screen">
mkdir bootcd
cp /boot/vmlinuz-2.4.23 bootcd/vmlinuz
cp /boot/initrd.gz syslinux-2.07/isolinux.bin bootcd/
echo "DEFAULT vmlinuz initrd=initrd.gz ro root=/dev/ram0 vga=4" \
    &gt; bootcd/isolinux.cfg
</pre>
<p>
	    Créez et gravez l'image iso sur un cd-rom amorçable :
        </p>
<pre class="screen">
mkisofs -o bootcd.iso -b isolinux.bin -c boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -J -hide-rr-moved -R bootcd/

cdrecord -dev 0,0,0 -speed 4 -v bootcd.iso

rm -rf bootcd{,.iso}
</pre>
</div>
<div class="sect2" lang="fr">
<div class="titlepage"><div><div><h3 class="title">
<a name="partition-d-amorcage"></a>3.3. Démarrer depuis une partition</h3></div></div></div>
<p>

	    La partition d'amorçage est un périphérique de démarrage de
	    remplacement : vous en aurez besoin si vous perdez
	    votre CD amorçable. <span class="emphasis"><em>Rappellez-vous que <tt class="filename">hda1</tt> est un média sur lequel il
	    est possible d'écrire et que cela n'est pas sécurisé ;
	    utilisez-le seulement en cas d'urgence !</em></span>
	    
        </p>
<p>
	    Créer et montez le système de fichiers ext2 :
        </p>
<pre class="screen">
dd if=/dev/zero of=/dev/hda1 bs=8192
mke2fs /dev/hda1
mount /dev/hda1 /loader
</pre>
<p>
	    Copiez le noyau et le ramdisque initial :
        </p>
<pre class="screen">
cp /boot/vmlinuz-2.4.23 /loader/vmlinuz
cp /boot/initrd.gz /loader/
</pre>
<p>
	    Si vous utilisez <span><b class="command">grub</b></span> :
        </p>
<pre class="screen">
mkdir /loader/boot
cp -av /boot/grub /loader/boot/
cat &gt; /loader/boot/grub/menu.lst &lt;&lt; EOF
default 0
timeout 10
color green/black light-green/black
title Linux
    root (hd0,0)
    kernel /vmlinuz ro root=/dev/ram0 vga=4
    initrd /initrd.gz
EOF
grub-install --root-directory=/loader /dev/hda
umount /loader
</pre>
<p>
	    Si vous utilisez <span><b class="command">lilo</b></span> :
        </p>
<pre class="screen">
mkdir /loader/{boot,dev,etc}
cp /boot/boot.b /loader/boot/
mknod -m 600 /loader/dev/hda  b 3 0
mknod -m 600 /loader/dev/hda1 b 3 1
mknod -m 600 /loader/dev/ram0 b 1 0
cat &gt; /loader/etc/lilo.conf &lt;&lt; EOF
lba32
boot=/dev/hda
prompt
timeout=100
image=/vmlinuz
    label=Linux
    initrd=/initrd.gz
    read-only
    root=/dev/ram0
    vga=4
EOF
lilo -r /loader
umount /loader
</pre>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td>
<td width="40%" align="right"> <a accesskey="n" href="ar01s04.html">Suivant</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">2. Création du système de fichiers racine chiffré </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td>
<td width="40%" align="right" valign="top"> 4. Dernières étapes</td>
</tr>
</table>
</div>
</body>
</html>