The Loopback Root Filesystem HOWTO

par Andrew M. Bishop, amb@gedanken.demon.co.uk
traduction par Eric Cano Eric.Cano@cern.ch

   v1.0.0, 12 juin 1998, traduction octobre 1998
     _________________________________________________________________

   _Ce HOWTO explique comment utiliser le p�riph�rique loopback pour
   faire une installation sur un syst�me de fichier Linux natif, qui peut
   r�sider dans une partition DOS sans repartitionnement. D'autres
   utilisations de cette technique sont aussi pr�sent�es. _
     _________________________________________________________________

1. Principes des p�riph�riques "loopback" et des disques virtuels

   Je vais d'abord d�crire quelques-uns des principes g�n�raux utilis�s
   pour la mise en place d'un syst�me de fichier en loopback comme
   racine.

1.1 P�riph�rique loopback

   Sous Linux, un _p�riph�rique loopback_ est un p�riph�rique virtuel,
   qui peut �tre utilis� comme tout autre p�riph�rique.

   Des exemples de p�riph�riques normaux sont les partitions de disques
   durs comme /dev/hda1, /dev/hda2, /dev/sda1, ou des disques entiers
   comme les disquettes /dev/fd0, etc... Ce sont tous des p�riph�riques
   qui peuvent contenir une structure de fichiers et de r�pertoires. Ils
   peuvent �tre format�s avec le syst�me de fichier voulu (ext2fs, msdos,
   ntfs, etc...) puis mont�s.

   Le p�riph�rique loopback associe un fichier � un p�riph�rique complet.
   Ce fichier peut appartenir � un autre syst�me de fichiers.

   Il peut alors �tre mont� comme tout autre p�riph�rique cit� plus haut.
   Pour cela le p�riph�rique appel� /dev/loop0 ou /dev/loop1 ou etc...
   est associ� au fichier, puis ce nouveau p�riph�rique virtuel est
   mont�.

1.2 Les disques virtuels

   Sous Linux, il est aussi possible d'avoir un autre type de
   p�riph�rique virtuel mont� en tant que syst�me de fichiers, c'est le
   _disque virtuel_ (_ramdisk_).

   Dans ce cas, le p�riph�rique ne se r�f�re pas � un �l�ment du
   mat�riel, mais � une portion de la m�moire qui est mise de c�t� dans
   ce but. La m�moire allou�e ainsi n'est jamais swap�e sur le disque,
   mais reste dans le cache disque.

   Un disque virtuel peut �tre cr�� � tout moment en �crivant dans le
   p�riph�rique correspondant /dev/ram0 ou /dev/ram1, etc... Il peut
   alors �tre format� et mont� de la m�me fa�on que le p�riph�rique
   loopback.

   Quand un disque virtuel est utilis� pour l'amor�age (comme c'est
   souvent le cas avec les disquettes d'installation de Linux et les
   disquettes d'urgence), l'image du disque (le contenu complet du disque
   sous forme d'un seul fichier) peut �tre stock� sur la disquette de
   d�marrage sous une forme compress�e. L'image est automatiquement
   d�tect�e par le noyau quand celui-ci d�marre et d�compress�e dans le
   disque virtuel avant d'�tre mont�e.

1.3 Le disque virtuel initial

   Le _disque virtuel initial_ est, sous Linux, un autre m�canisme
   important dont nous aurons besoin pour utiliser le p�riph�rique
   loopback comme syst�me de fichier racine.

   Quand le disque virtuel initial est utilis�, l'image du syst�me de
   fichiers est copi�e dans la m�moire et mont�e pour que les fichiers
   soient accessibles. Un programme sur ce disque virtuel (appel�
   linuxrc) est lanc�. Une fois termin� un nouveau p�riph�rique est mont�
   comme syst�me de fichiers racine. Le disque virtuel pr�c�dent existe
   toujours, il est mont� sur le r�pertoire /initrd si celui-ci est
   pr�sent, ou accessible � travers le p�riph�rique /dev/initrd.

   C'est un comportement peu habituel, puisque la s�quence de d�marrage
   normale se lance depuis la partition racine choisie et continue �
   tourner ainsi. Avec l'option de disque virtuel initial, la partition
   racine a la possibilit� de changer avant que ne commence la s�quence
   de d�marrage principale.

1.4 Le syst�me de fichiers racine

   Le syst�me de fichiers racine est le p�riph�rique qui est mont� en
   premier, et qui appara�t donc dans le r�pertoire appel� / apr�s le
   d�marrage.

   Il y a un certain nombre de complications a propos du syst�me de
   fichiers racine, qui sont dues au fait qu'il contient tous les
   fichiers. Au boot, les scripts rc sont lanc�s ; ce sont soit les
   fichiers dans /etc/rc.d ou /etc/rc?.d, suivant la version du programme
   /etc/init.

   Quand le syst�me a d�marr�, il n'est plus possible de d�monter la
   partition racine ou d'en changer car tout les programmes l'utiliseront
   plus ou moins. C'est pourquoi le disque virtuel initial est si utile,
   puisqu'il peut �tre utilis� de fa�on telle que la partition racine
   finale n'est pas la m�me que celle qui est charg�e au moment de
   l'amor�age.

1.5 La s�quence d'amor�age de Linux

   Pour montrer comment le disque virtuel initial op�re pendant la
   s�quence de d�marrage, l'ordre des �v�nements est pr�sent� ci dessous.

    1. Le noyau est charg� en m�moire, ceci est effectu� par LILO ou
       LOADLIN. Vous pouvez voir le message Loading... pendant que ceci
       arrive.
    2. L'image du disque virtuel est charg�e en m�moire, � nouveau ceci
       est r�alis� par LILO ou LOADLIN. Vous pouvez voir le message
       Loading... � nouveau quand ceci arrive.
    3. Le noyau est initialis�, y compris la lecture des options de ligne
       de commande et le montage du disque virtuel en tant que racine.
    4. Le programme /linuxrc est lanc� sur le disque virtuel initial.
    5. Le p�riph�rique racine est chang� pour celui sp�cifi� dans les
       param�tres du noyau.
    6. Le programme /etc/init est lanc�, et va ex�cuter la s�quence de
       d�marrage param�trable par l'utilisateur.

   Ceci est juste une version simplifi�e de ce qui arrive, mais c'est
   suffisant pour expliquer comment le noyau d�marre et o� le disque
   virtuel est utilis�.

2. Comment cr�er un p�riph�rique loopback.

   Maintenant que les principes g�n�raux ont �t� pr�sent�s, la m�thode
   pour cr�er le p�riph�rique loopback peut �tre expliqu�e.

2.1 Pr�-requis

   La cr�ation du p�riph�rique loopback va n�cessiter un certain nombre
   de choses.

     * Un syst�me Linux install�.
     * Un moyen pour copier des gros fichiers sur la partition DOS de
       destination.

   Le point le plus important est l'acc�s � un syst�me Linux d�j�
   install�. Ce point est n�cessaire car le p�riph�rique loop ne peut
   �tre cr�� que sous Linux. Cela signifie qu'il ne sera pas possible
   d'installer un syst�me � partir de rien. Le syst�me Linux que vous
   utilisez devra �tre capable de compiler un noyau.

   Une fois le p�riph�rique loopback cr��, il repr�sentera un gros
   fichier. J'ai utilis� un fichier de 80 Mo, mais si c'�tait suffisant
   pour un terminal X, �a ne sera sans doute pas suffisant pour une
   utilisation plus importante. Ce fichier doit �tre copi� sur la
   partition DOS, donc un r�seau ou beaucoup de disquettes seront mis a
   contribution.

   Vous aurez besoin des logiciels suivants :

     * LOADLIN version 1.6 ou sup�rieure
     * Une version de mount qui supporte les p�riph�riques loopback
     * Une version du noyau qui inclut les options requises.

   Tout ceci devrait �tre disponible en standard sur des installations
   r�centes de Linux.

2.2 Cr�ation du noyau Linux

   J'ai cr�� le p�riph�rique loopback avec le noyau Linux version 2.0.31,
   d'autres versions devraient faire l'affaire, mais elles devront avoir
   au moins les options list�es ci-dessous configur�es.

   Les options du noyau que vous devrez s�lectionner sont les suivantes :

     * RAM disk support (CONFIG_BLK_DEV_RAM).
     * Initial RAM disk (initrd) support (CONFIG_BLK_DEV_INITRD).
     * Loop device support (CONFIG_BLK_DEV_LOOP).
     * fat fs support (CONFIG_FAT_FS).
     * msdos fs support (CONFIG_MSDOS_FS).

   Les deux premi�res sont le disque virtuel lui-m�me et le disque
   virtuel initial. La suivante est le support pour les p�riph�riques
   loopback. Les deux derni�res sont le support pour les syst�mes de
   fichiers msdos, qui est requis pour monter des partitions DOS.

   La compilation d'un noyau sans modules est la plus simple, mais si
   vous voulez utiliser les modules �a devrait �tre possible, bien que je
   ne l'aie pas essay�. Si vous utilisez des modules, vous devez
   configurer les options pr�c�dentes dans le noyau, et non comme des
   modules.

   Le code source du noyau lui-m�me devra �tre modifi� d'une fa�on tr�s
   simple. La version 2.0.34 du noyau telle que fournie ne permet pas au
   p�riph�rique loopback d'�tre utilis� comme racine. Une tr�s petite
   modification du noyau peut rendre ceci possible.

   Le fichier /init/main.c a juste besoin qu'on lui ajoute une seule
   ligne comme montr� dans la version modifi�e ci-dessous. La ligne qui
   dit "loop", 0x0700 est celle qui a �t� ajout�e.

static void parse_root_dev(char * line)
{
        int base = 0;
        static struct dev_name_struct {
                const char *name;
                const int num;
        } devices[] = {
                { "nfs",     0x00ff },
                { "loop",    0x0700 },
                { "hda",     0x0300 },

...

                { "sonycd",  0x1800 },
                { NULL, 0 }
        };

...

}

   Une fois le noyau configur�, il devra �tre compil� pour produire une
   fichier zImage (make zImage). Ce fichier devrait �tre
   arch/i386/boot/zImage une fois compil�.

2.3 Cr�ation du p�riph�rique disque virtuel initial

   Le disque virtuel initial est simplement cr�e comme un p�riph�rique
   loopback au d�part. Vous devrez faire ceci en tant que root. Les
   commandes que vous devez ex�cuter sont list�es ci dessous, elles
   supposent �tre lanc�es depuis le r�pertoire principal de root (/root).

mkdir /root/initrd
dd if=/dev/zero of=initrd.img bs=1k count=1024
mke2fs -i 1024 -b 1024 -m 5 -F -v initrd.img
mount initrd.img /root/initrd -t ext2 -o loop
cd initrd
[cr�ez les fichiers]
cd ..
umount /root/initrd
gzip -c -9 initrd.img > initrdgz.img

   Il y a un certain nombre d'�tapes, mais on peut les d�crire comme
   ceci.

    1. Cr�ez un point de montage pour le disque virtuel initial (un
       r�pertoire vide).
    2. Cr�ez un fichier vide de la taille requise. Ici j'ai utilis�
       1024ko, vous pourriez avoir besoin de plus ou de moins suivant le
       contenu. (la taille est le dernier param�tre).
    3. Cr�ez un syst�me de fichiers ext2 dans le fichier vide.
    4. Montez le ficher au point de montage, ceci utilise le p�riph�rique
       loopback.
    5. Changez le r�pertoire courant pour le p�riph�rique loopback.
    6. Cr�ez les fichiers requis (voir plus bas pour les d�tails).
    7. Sortez du p�riph�rique loopback mont�.
    8. D�montez le p�riph�rique.
    9. Cr�ez une version compress�e pour l'utiliser plus tard.

   _Contenu du disque virtuel initial_

   Les fichiers dont vous avez besoin sur le disque virtuel repr�sentent
   le minimum n�cessaire pour pouvoir d'ex�cuter une commande.

     * /linuxrc Le fichier qui est lanc� pour monter le syst�me de
       fichiers msdos (voir plus bas).
     * /lib/* L'�diteur de liens dynamiques et les librairies dont les
       programmes ont besoin.
     * /etc/* Le cache utilis� par l'�diteur de liens dynamiques (pas
       strictement requis, mais �a l'emp�che de se plaindre).
     * /bin/* Un interpr�teur de commandes (ash car il est plus petit que
       bash). Les programmes mount et losetup pour manipuler le disque
       DOS et configurer les p�riph�riques loopback.
     * /dev/* Les p�riph�riques qui seront utilis�s. Vous avez besoin de
       /dev/zero pour ld-linux.so, /dev/hda* pour monter le disque msdos
       et /dev/loop* pour les p�riph�riques loopback.
     * /mnt Un r�pertoire vide pour y monter le disque msdos.

   Le contenu du disque virtuel initial que j'ai utilis� est �num�r�
   ci-dessous. Ces fichiers repr�sentent environ 800ko, une fois pris en
   compte l'espace perdu par les structures du syst�me de fichiers.

total 18
drwxr-xr-x   2 root     root         1024 Jun  2 13:57 bin
drwxr-xr-x   2 root     root         1024 Jun  2 13:47 dev
drwxr-xr-x   2 root     root         1024 May 20 07:43 etc
drwxr-xr-x   2 root     root         1024 May 27 07:57 lib
-rwxr-xr-x   1 root     root          964 Jun  3 08:47 linuxrc
drwxr-xr-x   2 root     root        12288 May 27 08:08 lost+found
drwxr-xr-x   2 root     root         1024 Jun  2 14:16 mnt

./bin:
total 168
-rwxr-xr-x   1 root     root        60880 May 27 07:56 ash
-rwxr-xr-x   1 root     root         5484 May 27 07:56 losetup
-rwsr-xr-x   1 root     root        28216 May 27 07:56 mount
lrwxrwxrwx   1 root     root            3 May 27 08:08 sh -> ash

./dev:
total 0
brw-r--r--   1 root     root       3,   0 May 20 07:43 hda
brw-r--r--   1 root     root       3,   1 May 20 07:43 hda1
brw-r--r--   1 root     root       3,   2 Jun  2 13:46 hda2
brw-r--r--   1 root     root       3,   3 Jun  2 13:46 hda3
brw-r--r--   1 root     root       7,   0 May 20 07:43 loop0
brw-r--r--   1 root     root       7,   1 Jun  2 13:47 loop1
crw-r--r--   1 root     root       1,   3 May 20 07:42 null
crw-r--r--   1 root     root       5,   0 May 20 07:43 tty
crw-r--r--   1 root     root       4,   1 May 20 07:43 tty1
crw-r--r--   1 root     root       1,   5 May 20 07:42 zero

./etc:
total 3
-rw-r--r--   1 root     root         2539 May 20 07:43 ld.so.cache

./lib:
total 649
lrwxrwxrwx   1 root     root           18 May 27 08:08 ld-linux.so.1 -> ld-linu
x.so.1.7.14
-rwxr-xr-x   1 root     root        21367 May 20 07:44 ld-linux.so.1.7.14
lrwxrwxrwx   1 root     root           14 May 27 08:08 libc.so.5 -> libc.so.5.3
.12
-rwxr-xr-x   1 root     root       583795 May 20 07:44 libc.so.5.3.12

./lost+found:
total 0

./mnt:
total 0

   La seule �tape complexe est la cr�ation des p�riph�riques dans dev.
   Utilisez le programme mknod pour les cr�er, et servez vous des
   p�riph�riques dans /dev comme mod�les pour les param�tres requis.

   _Le fichier /linuxrc_

   Le fichier /linuxrc sur le disque virtuel initial est n�cessaire pour
   mettre en place le p�riph�rique loopback, avant de l'utiliser comme
   racine.

   L'exemple suivant essaye de monter /dev/hda1 comme une partition msdos
   et en cas de r�ussite assigne les fichiers /linux/linuxdsk.img et
   /linux/linuxswp.img respectivement aux p�riph�riques /dev/loop0 et
   /dev/loop1.

#!/bin/sh

echo INITRD: Essaye de monter /dev/hda1 comme partition msdos

if /bin/mount -n -t msdos /dev/hda1 /mnt; then

   echo INITRD: Montage r�ussi
   /bin/losetup /dev/loop0 /mnt/linux/linuxdsk.img
   /bin/losetup /dev/loop1 /mnt/linux/linuxswp.img
   exit 0

else

   echo INITRD: Echec du montage
   exit 1

fi

   Le premier p�riph�rique, /dev/loop0 deviendra la racine et le second,
   /dev/loop1 deviendra la m�moire virtuelle.

   Si vous voulez pouvoir �crire sur la partition racine en tant
   qu'utilisateur normal quand vous aurez fini, alors vous devriez plut�t
   utiliser mount -n -t msdos /dev/hda1 /mnt -o uid=0,gid=0,umask=000.
   Ceci associera tous les acc�s � la partition DOS � l'utilisateur root
   et placera les permissions en cons�quences.

2.4 Cr�ation du p�riph�rique racine

   Le p�riph�rique racine que vous utiliserez est le fichier
   linuxdsk.img. Vous devrez le cr�er de la m�me fa�on que le disque
   virtuel initial, en plus grand. Vous pouvez y mettre l'installation de
   Linux de votre choix.

   La m�thode la plus simple est de copier une installation Linux
   existante sur ce disque. une alternative est d'y installer une
   distribution de Linux.

   En supposant que ceci est fait, vous avez encore des modifications
   mineures � apporter.

   Le fichier /etc/fstab doit r�f�rencer les partitions racine et swap en
   utilisant les deux p�riph�riques loopback qui sont mis en place par le
   disque virtuel initial.

/dev/loop0     /      ext2   defaults 1 1
/dev/loop1     swap   swap   defaults 1 1

   Ceci permettra de s'assurer que quand le p�riph�rique racine sera
   utilis�, le noyau ne sera pas induit en erreur sur son emplacement.
   L'espace de swap pourra ainsi �tre ajout� de la m�me fa�on qu'une
   partition de swap normale. Vous devez aussi retirer toute autre
   r�f�rence vers un disque racine ou swap.

   Si vous voulez �tre capable d'acc�der � la partition DOS apr�s le
   d�marrage de Linux, vous devrez faire quelques petites modifications.

   Cr�ez un r�pertoire appel� /initrd, qui sera le point de montage du
   disque virtuel initial une fois que le syst�me de fichier racine sera
   mont� en loopback.

   Cr�ez un lien symbolique appel� /DOS qui pointe sur /initrd/mnt o� la
   partition DOS sera mont�e.

   Ajoutez un ligne dans le fichier rc qui monte les disques. Il devra
   lancer la commande mount -f -t msdos /dev/hda1 /initrd/mnt ; ceci
   cr�era un montage "fictif" de la partition DOS pour que tous les
   autres programmes (comme df) sachent que la partition DOS est mont�e
   et o� la trouver. Si vous avez utilis� des options diff�rentes dans
   /linuxrc, vous devrez �videmment utiliser les m�mes ici.

   Il n'y a plus de raison d'avoir le noyau Linux sur le p�riph�rique
   racine puisqu'il a �t� charg� plus t�t. Toutefois, si vous utilisez
   les modules, vous devrez les inclure normalement sur ce p�riph�rique.

2.5 Cr�ation du p�riph�rique de m�moire virtuelle.

   Le p�riph�rique que vous utiliserez sera le fichier linuxswap.img. Le
   p�riph�rique de m�moire virtuelle _(swap)_ est tr�s simple �
   fabriquer. Cr�ez un fichier vide de la m�me fa�on que pour le disque
   virtuel initial, puis ex�cutez mkswap linuxswap.img pour
   l'initialiser.

   La taille de la m�moire virtuelle d�pendra de ce que vous comptez
   faire avec le syst�me install�, mais je recommanderais entre 8 Mo et
   la quantit� de RAM que vous avez.

2.6 Cr�ation du r�pertoire MSDOS

   Les fichiers qui seront utilis�s devront �tre d�plac�s sur la
   partition DOS.

   Les fichiers qui devront �tre dans le r�pertoire DOS appel� C:\LINUX
   sont les suivants :

     * LINUXDSK.IMG L'image de la partition qui deviendra le p�riph�rique
       racine.
     * LINUXSWP.IMG L'espace de m�moire virtuelle.

2.7 Cr�ation de la disquette de d�marrage.

   La disquette de d�marrage qui est utilis�e est juste une disquette
   amor�able au format DOS.

   On la cr�e en utilisant format a: /s sous DOS.

   Sur ce disque vous devrez cr�er un fichier AUTOEXEC.BAT (comme
   ci-dessous) et copier le noyau, le disque virtuel initial sous forme
   compress�e et l'ex�cutable LOADLIN.

     * AUTOEXEC.BAT Le fichier de commandes ex�cut� automatiquement par
       le DOS.
     * LOADLIN.EXE L'ex�cutable du programme LOADLIN.
     * ZIMAGE Le noyau Linux.
     * INITRDGZ.IMG L'image compress�e du disque virtuel initial.

   Le fichier AUTOEXEC.BAT devrait contenir une seule ligne comme
   ci-dessous.

\loadlin \zImage initrd=\initrdgz.img root=/dev/loop0 ro

   Ceci sp�cifie l'image du noyau � utiliser, l'image du disque virtuel
   initial, et le p�riph�rique racine apr�s que le disque virtuel ait
   fait son office, avec la partition racine mont�e en lecture seule.

3. D�marrage du syst�me

   Pour d�marrer depuis le nouveau p�riph�rique racine, il suffit de
   faire d�marrer le PC sur la disquette pr�par�e plus haut.

   Vous verrez les �v�nement suivants se succ�der :
    1. Chargement du DOS.
    2. D�marrage AUTOEXEC.BAT
    3. Lancement de LOADLIN
    4. Copie du noyau Linux dans la m�moire
    5. Le disque virtuel initial est copi� en m�moire
    6. Le noyau Linux d�marre
    7. Le fichier /linuxrc sur le disque virtuel initial est ex�cut�
    8. La partition DOS est mont�e, ainsi que les p�riph�riques racine et
       de swap
    9. La s�quence de d�marrage continue depuis le p�riph�rique loopback

   Une fois ceci accompli, vous pouvez retirer la disquette et utiliser
   le syst�me Linux.

3.1 Probl�mes possibles et leurs solutions

   Il y a un certain nombre d'�tapes de ce processus qui peuvent �chouer.
   Je vais essayer d'expliquer lesquelles, et ce qu'il faut v�rifier.

   Le d�marrage du DOS est facile � reconna�tre gr�ce au message qu'il
   affiche � l'�cran : D�marrage de MS-DOS... . Si ceci n'est pas
   visible, soit la disquette n'est pas amor�able, soit le PC ne d�marre
   pas sur le lecteur de disquettes.

   Quand le fichier AUTOEXEC.BAT est ex�cut�, les commandes qu'il
   contient devraient �tre affich�es sur l'�cran par d�faut. Dans le cas
   pr�sent, il n'y a d'une seule ligne dans le fichier, qui lance
   LOADLIN.

   Quand LOADLIN se lancera, il ex�cutera deux actions facile �
   distinguer : premi�rement il chargera le noyau en m�moire, ensuite il
   copiera le disque virtuel en m�moire. Chacune de ces actions est
   indiqu�e par un message Loading... .

   Le noyau commence par se d�compresser, ceci peut engendrer des erreur
   _crc_ si l'image du noyau est corrompue. Ensuite, il lancera la
   s�quence d'initialisation qui est tr�s prolixe en messages de
   diagnostic. Le chargement du p�riph�rique disque virtuel sera aussi
   visible durant cette phase.

   Quand le fichier /linuxrc est lanc�, il n'y a pas de message de
   diagnostic, mais vous pouvez les ajouter pour vous aider � debugger.
   Si cette �tape �choue dans le montage du p�riph�rique loopback en tant
   que p�riph�rique racine, vous verrez un message avertissant qu'il n'y
   a pas de p�riph�rique racine, et le noyau interrompra son ex�cution.

   La s�quence de d�marrage normale du nouveau syst�me de fichiers racine
   va maintenant continuer, et cette partie est � nouveau g�n�reuse en
   messages. Il pourrait y avoir des probl�mes d�s au fait que le syst�me
   de fichiers racine est mont� en lecture-�criture, mais l'option de
   ligne de commande 'ro' pour LOADLIN devrait arranger �a. Un autre
   probl�me qui peut appara�tre est la confusion de la s�quence de
   d�marrage � propos de l'emplacement du syst�me de fichiers racine ;
   ceci sera probablement d� � un probl�me avec /etc/fstab.

   Quand la s�quence de d�marrage est r�alis�e, le probl�me qui reste est
   que les programmes ne savent pas si la partition DOS est mont�e ou
   non. C'est pourquoi c'est une bonne id�e d'utiliser une fausse
   commande mount d�crite plus t�t. Ceci rend la vie nettement plus
   simple si vous voulez acc�der au fichiers sur le p�riph�rique DOS.

3.2 Documents de r�f�rence

   Les document que j'ai utilis�s pour cr�er mon premier p�riph�rique
   racine en loopback sont :

     * Les sources du noyau Linux, en particulier init/main.c
     * La documentation du noyau Linux, en particulier
       Documentation/initrd.txt et Documentation/ramdisk.txt.
     * La documentation de LILO.
     * La documentation de LOADLIN.

4. Autres possibilit�s de p�riph�riques racine en loopback

   Une fois que le principe de d�marrer sur un syst�me de fichiers dans
   une partition DOS est acquis, il y a de nombreuses autres choses que
   l'on peut faire.

4.1 Installation "tout sur un disque DOS"

   S'il est possible de charger Linux depuis un fichier sur un disque dur
   DOS en utilisant une disquette de d�marrage, alors il est clair qu'on
   peut faire la m�me chose en utilisant le disque dur lui-m�me.

   Un menu de choix de configuration au d�marrage peut �tre utilis� pour
   donner l'option de lancer LOADLIN depuis l'AUTOEXEC.BAT. Ceci donnera
   une s�quence de d�marrage plus rapide, mais c'est la seule diff�rence.

4.2 Installation d�marr�e avec LILO

   Utiliser LOADLIN n'est qu'une des options possibles pour charger un
   noyau Linux. Il y a aussi LILO qui fait pratiquement la m�me chose,
   mais sans n�cessiter DOS.

   Dans ce cas, la disquette au format DOS peut �tre remplac�e par une
   disquette au format ext2fs. A part cela, les d�tails restent tr�s
   similaires, le noyau et le disque virtuel initial �tant encore des
   fichiers sur cette disquette.

   La raison pour laquelle j'ai choisi la m�thode avec LOADLIN est que
   les arguments qui doivent �tre donn�es � LILO sont l�g�rement plus
   complexes. Le contenu de la disquette est aussi plus clair pour un
   observateur lambda, puisqu'on peut la lire sous DOS.

4.3 Installation VFAT / NTFS

   J'ai essay� la m�thode NTFS, et je n'ai pas eu de probl�me avec. Le
   support du syst�me de fichier NTFS n'est pas une option standard du
   noyau, mais vous devez appliquer le patch de Martin von L�wis, qui est
   disponible sur sa page web.
   http://www.informatik.hu-berlin.de/~loewis/ntfs/. Ce logiciel est en
   version alpha et requiert un patch qui n'est pas totalement trivial �
   appliquer au noyau, mais pas trop difficile non plus.

   Les seuls changements pour les options VFAT ou NTFS sont sur le disque
   virtuel initial, le fichier /linuxrc doit monter un syst�me de
   fichiers de type vfat ou ntfs plut�t que msdos.

   Je ne connais pas de raison pour laquelle ceci ne marcherait pas aussi
   sur une partition VFAT.

4.4 Installer Linux sans repartitionner

   Le processus d'installation de Linux sur un PC avec une distribution
   standard requiert de d�marrer sur une disquette et de repartitionner
   le disque dur. Cette �tape pourrait �tre remplac�e par une disquette
   de d�marrage qui cr�e un p�riph�rique loopback vide et un fichier de
   swap. Ceci permettrait � l'installation de proc�der normalement, sur
   le p�riph�rique loopback plut�t que sur une partition.

   Ceci pourrait �tre une alternative � une installation UMSDOS, et
   serait plus efficace pour l'utilisation du disque, puisque l'unit�
   d'allocation minimale sur un syst�me de fichiers ext2 est de 1ko
   contre 32ko sur une partition DOS. On peut aussi l'utiliser sur des
   disques VFAT et NTFS qui sinon posent un probl�me.

4.5 D�marrer depuis un p�riph�rique non amor�able

   Cette m�thode peut aussi �tre utilis�e pour d�marrer un syst�me Linux
   depuis un p�riph�rique qui n'est pas normalement amor�able.

     * CD-Rom
     * Disques Zip
     * Lecteurs de disques sur port parall�le

   Evidemment, de nombreux autres p�riph�riques pourraient �tre utilis�s,
   les partitions racines en NFS sont d�j� incluses dans le noyau comme
   une option, mais la m�thode pr�sent�e ici pourrait �tre utilis�e � la
   place.