Page suivante Page précédente Table des matières

3. Disquettes

3.1 Aperçu des types de disquettes

Les disquettes de type amorce se classent en 4 catégories. La plus grande partie de ce texte peut aussi bien s'appliquer à des disques durs.

Aperçu des types de disquettes et de leur utilisation :

amorce (boot)

Une disquette contenant un noyau qui peut être lancé. La disquette peut contenir un système de fichiers et utiliser un lanceur, ou elle peut contenir uniquement un noyau au début de la disquette.

racine (root)

Une disquette avec un système de fichiers contenant tout ce qui est nécessaire pour démarrer un système Linux. Elle ne contient pas obligatoirement un noyau ou un lanceur.

Cette disquette peut être utilisée pour utiliser le système indépendamment de tout autre disque, une fois que le noyau s'est lancé. Une possibilité spéciale du noyau permet de monter une disquette racine séparée après avoir démarré, cette disquette étant copiée dans un disque virtuel en mémoire.

Vous pouvez utiliser ce type de disquette pour vérifier l'intégrité d'un autre disque sans le monter, ou encore pour rétablir un autre disque après un plantage disque ou une perte de fichiers.

amorce/racine (boot/root)

Une disquette identique à une disquette racine, sauf qu'elle contient un noyau et un lanceur. On peut l'utiliser pour amorcer et utiliser le système. L'avantage de ce type de disquette est la compacité ; tout ce qui est nécessaire tient sur une seule disquette. Néammoins, l'augmentation progressive de la taille des différents fichiers fait qu'il n'est pas toujours possible de tout faire tenir dans une seule disquette.

utilitaires (utility)

Une disquette qui contient un système de fichiers mais qui n'est pas destinée à être montée comme une disquette racine. Vous utiliserez ce type de disquette si vous avez trop d'utilitaires pour pouvoir tout mettre sur votre disquette racine.

Le terme "disquette utilitaires" ne s'applique réellement qu'à des disquettes contenant véritablement des paquetages de récupération/restauration.

3.2 Amorçage

Aperçu

Tous les PC démarrent en exécutant une routine du BIOS chargeant le secteur 0 du cylindre 0 du disque/disquette d'amorce. Sur la plupart des disques amorçables, le secteur 0 du cylindre 0 contient soit :

  • une routine d'un lanceur comme LILO qui repère l'emplacement du noyau, le charge et l'exécute pour effectuer le démarrage proprement dit.
  • le lancement d'un noyau d'un système d'exploitation, Linux par exemple.

Si un noyau Linux est écrit sur une disquette via le périphérique /dev/fd0 alors le premier secteur de celle-ci sera le premier secteur du noyau Linux, et ce secteur se chargera de continuer l'initialisation en chargeant le reste du noyau et en démarrant Linux. Pour une description plus détaillée du contenu du secteur d'amorce, voir la documentation de lilo-0.5 ou des versions suivantes.

Une autre méthode pour copier un noyau sur une disquette d'amorce est de créer un système de fichiers, non pas comme périphérique racine, mais simplement pour installer LILO, ceci permettant de préciser des options du démarrage.

Indiquer la racine

Le noyau doit d'une façon ou d'une autre savoir quelle partition de quel disque utiliser comme racine. On peut fournir cette information de plusieurs façons:

  • En définissant ROOT_DEV = <périphérique> dans le makefile du noyau Linux, et en le recompilant (pour des conseils sur la recompilation du noyau, lire la FAQ Linux et regarder dans /usr/src/linux). Des commentaires dans le makefile décrivent les choix possibles pour <périphérique>. En lançant l'utilitaire rdev :
            rdev <nom de fichier> <périphérique>
    
    Ceci fixera le périphérique racine du noyau contenu dans <nom de fichier> comme étant <périphérique>. Exemple :
            rdev Image /dev/sda1
    
    et le périphérique racine du noyau dans Image deviendra la première partition sur le premier disque SCSI.

Il y a plusieurs façons de lancer rdev. Essayez :

        rdev -?
et vous verrez comment utiliser cette commande.

Il n'y a en général pas besoin de fixer le périphérique racine pour une disquette car le noyau utilisé pour l'amorce pointe probablement déjà vers le bon périphérique. Mais il peut arriver que vous ayez un noyau d'une autre machine (provenant par exemple d'une distribution), ou que vous vouliez utiliser le noyau pour lancer une disquette racine. Ca ne coûte rien d'essayer : utilisez rdev pour vérifier le périphérique racine d'un fichier contenant un noyau, avec :

        rdev -r <nom de fichier>
Le périphérique racine peut être changé dans le noyau par d'autres moyens que rdev. Pour plus d'informations, voir la FAQ à la fin de ce document.

Copier le noyau sur une disquette d'amorce

Une fois que le noyau est configuré il doit être copié sur la disquette d'amorce.

Si la disquette ne va pas contenir de système de fichiers, alors le noyau doit être copié en utilisant ainsi la commande dd :

        dd if=<nom de fichier> of=<périphérique>

        où       <nom de fichier> est le nom du noyau
        et      <périphérique> est le périphérique du lecteur
                de disquette, habituellement /dev/fd0

Le paramètre origine ("seek parameter") de la commande dd n'a pas à être utilisé. Le fichier doit être copié au début, sur le secteur de d'amorce (secteur 0, cylindre 0).

Le nom du périphérique varie. De nombreux systèmes ont /dev/fd0 comme alias (sous une forme ou sous une autre) du "vrai" périphérique correspondant au lecteur de disquette par défaut. Par exemple, si c'est un lecteur 3 1/2 par défaut ("lecteur A:" sous DOS), le nom du périphérique sera /dev/fd0H1440, mais habituellement, /dev/fd0 correspondra au même périphérique.

Si le noyau doit être copié sur une disquette d'amorce contenant un système de fichiers, alors : il faut monter sur un répertoire adéquat d'un système de fichiers lui-même déjà monté. Puis utiliser la commande cp. Par exemple :

        mount -t ext2 /dev/fd0 /mnt
        cp Image /mnt
        umount /mnt

3.3 Racine

Aperçu

Un disque/une disquette racine contient un système Linux complet et fonctionnel, mais sans nécessairement inclure un noyau. En d'autres termes, la disquette peut ne pas être amorçable, mais une fois que le noyau fonctionne, la disquette racine contient tout ce qui est nécessaire pour un système Linux complet. Pour pouvoir être utilisée ainsi, la disquette doit inclure un minimum :

  • Un système de fichiers.
  • un ensemble minimal de répertoires : dev, proc, bin, etc, lib, usr, tmp.
  • un ensemble d'utilitaires de base : bash (pour avoir un shell), ls, cp, etc...
  • un ensemble minimum de fichiers de configuration : rc, inittab, fstab, etc...
  • Les bibliothèques partagées des utilitaires.

Bien sûr, un système de fichiers ne devient utile que lorsque vous pouvez lancer un programme à partir de celui-ci, et une disquette racine n'est en principe utile que si vous :

  • Vérifiez un système de fichiers sur un autre disque, par exemple votre partition racine de votre disque dur. Vous devez amorcer Linux à partir d'un autre disque/d'une autre disquette, par exemple avec une disquette racine. Puis vous pouvez lancer fsck sur votre partition disque racine originale alors qu'elle n'est pas montée.
  • Restaurez tout ou partie de votre disque original à partir d'une archive en utilisant les utilitaires d'archivage et de compression comme cpio, tar, gzip et ftape.

3.4 Amorce/Racine

C'est la même chose qu'une disquette racine, avec en plus un noyau et un chargeur comme LILO.

Avec ce système, le noyau est copié sur la disquette racine, et LILO est alors lancé pour installer une configuration qui pointe vers le noyau de la disquette. Lors de l'amorçage, LILO chargera et lancera le noyau à partir de la disquette.

Plusieurs fichiers doivent être copiés sur la disquette pour que cette méthode fonctionne. Les détails de ces fichiers et de la configuration de LILO, ainsi qu'un exemple fonctionnel sont donnés ci-dessous dans la section intitulée "LILO".

Disque virtuel en mémoire et disquettes racines

Pour qu'une disquette racine soit efficace, vous devrez pouvoir la lancer depuis un disque virtuel en mémoire. Ceci évite d'avoir le système fonctionnant dans une boîte de sardine, comme ce serait le cas avec une disquette.

Le noyau Linux inclus une option avec laquelle sous certaines circonstance il copiera automatiquement le contenu de la disquette racine en disque-mémoire, puis selectionnera la racine comme étant le disque mémoire au lieu de la disquette. Les deux avantages majeurs :

  • Le système est beaucoup plus rapide.
  • Le lecteur de disquette est libéré, et permet d'utiliser d'autres disquettes.

Pour pouvoir utiliser cette possibilité il faut que :

  • Le système de fichiers de la disquette soit un système de fichiers minix ou ext2. Le système de fichiers ext2 est le plus utilisé. Notez que si vous avez un noyau Linux antérieur à 1.1.73, vous devriez jeter un coup d'oeil aux commentaires dans la section ci-dessous, intitulée "Systèmes de fichiers", pour voir si votre noyau supportera ext2. Si votre noyau est ancien, il se peut que vous ayez à utiliser minix.
  • Un disque mémoire doit être choisi lors de la configuration du noyau et de taille supérieure à la taille de la disquette.

Un disque mémoire peut être configuré dans le noyau de plusieurs façons :

  • En décommentant la macro RAMDISK dans le makefile du noyau Linux :
            RAMDISK = -DRAMDISK=1440
    
    pour définir un disque mémoire de 1440 x 1K blocs, la taille d'une disquette 3 1/2 haute densité.
  • En lançant l'utilitaire rdev, disponible sur la plupart des systèmes Linux. Cet utilitaire affiche ou fixe les valeurs de certaines options du noyau comme la taille d'un disque mémoire. Pour définir un disque mémoire de 1440 blocs dans le noyau contenu dans le fichier Image, entrer :
            rdev -r Image 1440
    
    Ceci peut changer dans l'avenir, bien sûr. Pour voir ce dont votre version de rdev est capable, entrez la commande :
            rdev -?
    
    et rdev devrait afficher ses options.
  • En utilisant le lanceur LILO pour définir la taille à l'amorçage. Par exemple avec le paramètre :
            ramdisk = 1440 
    
    demande un disque mémoire de 1440 x 1K blocks à l'amorçage.
  • En interrompant l'amorçage automatique de LILO et en ajoutant ramdisk=1440 à la ligne de commande. Ce pourrait être :
            vmlinux ramdisk=1440 
    
    Voir la section sur LILO pour plus d'informations.
  • En éditant le fichier noyau et en changeant les valeurs du début du fichier qui contiennent la taille du disque mémoire. Ce n'est réellement à faire qu'en dernier recours, mais c'est possible. Voir la FAQ à la fin de ce document pour plus d'informations.

La méthode la plus simple est de définir les paramètres (dont la taille du disque mémoire) dans le fichier de configuration de LILO, parce que vous aurez de toute façon à écrire un tel fichier.

La configuration de LILO est décrite brièvement dans la section intitulée "LILO", mais il est recommandé d'utiliser la dernière version stable de LILO de votre site ftp le plus proche, et de lire la documentation qui va avec.

3.5 Utilitaires

Souvent une disquette n'est pas suffisante pour stocker tous les logiciels dont vous aurez besoin pour analyser, réparer et restaurer les disques corrompus. Quand vous inclurez tar, gzip, e2fsck, fdisk, Ftape et autres, ils rempliront à eux seuls une disquette entière, peut-être plus si vous voulez beaucoup d'utilitaires.

Ceci signifie qu'un ensemble de secours contient souvent une disquette "utilitaires", avec un système de fichiers contenant tous les fichiers supplémentaires requis. Cette disquette peut être montée sur un répertoire pratique, comme /usr, sur un système amorce/racine.

Créer un système de fichiers est réellement simple, et est décrit ci-dessous dans la section "Systèmes de fichiers".


Page suivante Page précédente Table des matières