3. Disquettes

Contenu de cette section

3.1 Résumé des types de disques

Je classe les disquettes ayant trait à l'amorçage dans quatre catégories. La discussion ici et à travers l'ensemble du document utilise le terme ``disque'' comme synonyme des disquettes, sauf indication contraire. La majorité de la discussion pourrait aussi bien s'appliquer aux disques durs.

Un résumé des types de disques et de leur utilisation est :

Amorce

Un disque contenant un noyau qui peut être chargé. Le disque peut contenir un système de fichiers et utiliser un chargeur pour démarrer, ou bien ne contenir que le noyau au début du disque. Le disque peut être utilisé pour démarrer le noyau en utilisant un système de fichiers racine sur un autre disque. Cela peut s'avérer utile si vous perdez votre chargeur en raison, par exemple, d'un essai d'installation raté.

Racine

Un disque avec système de fichiers contenant tout ce qui est nécessaire à l'utilisation d'un système Linux. Il ne contient pas nécessairement un noyau ni un chargeur.

Ce disque peut être utilisé pour faire fonctionner le système indépendemment de tout autre disque, une fois que le noyau a été chargé. Une caractéristique spéciale du noyau permet de monter un disque racine distinct une fois démarré, en copiant automatiquement le disque racine sur un disque mémoire.

Vous pouvez utiliser ce type de disque pour vérifier l'intégrité d'un autre disque sans le monter, ou pour récupérer le contenu d'un autre disque après une panne disque ou une perte de fichiers.

Amorce/racine

Un disque identique à un disque racine, mais qui contient aussi un noyau et un chargeur. Il peut être utilisé pour démarrer et faire fonctionner le système. L'avantage de ce type de disque est sa compacité - tout ce dont on a besoin est sur un seul disque. Toutefois la taille sans cesse croissante du système implique qu'il ne sera pas toujours possible de faire tout tenir sur une seule disquette, même en ayant recours à la compression.

Utilitaire

Un disque contenant un système de fichiers, mais non prévu pour être monté comme système de fichiers racine. C'est un disque de données supplémentaire. On peut utiliser ce type de disque pour transporter des utilitaires en plus quand vous avez trop à faire tenir sur votre disque racine.

Le terme ``utilitaire'' s'applique uniquement aux disquettes, quand vous utilisez un disque utilitaire pour stocker des programmes de récupération supplémentaires.

L'approche la plus souple pour des disquettes de secours est probablement d'utiliser des disquettes amorce et racine séparées, et une ou plusieurs disquettes utilitaires pour accueillir le supplément.

3.2 Démarrage

Aperçu

Tous les systèmes PC commencent leur procédure d'amorçage en exécutant du code en mémoire morte pour charger le secteur situé sur le secteur 0 du cylindre 0 du disque d'amorce et essayent de l'exécuter. Sur la plupart des disques amorçables, le secteur 0 du cylindre 0 contient :

Si un noyau Linux a été écrit sur une disquette en accédant directement au périphérique (par /dev/fd0 par exemple), le premier secteur sera alors le premier secteur du noyau Linux, et ce secteur continuera la procédure de démarrage en chargeant le reste du noyau et en l'exécutant. Pour une description plus détaillée du contenu du secteur de démarrage, voir la documentation fournie avec lilo-0.15 ou une version ultérieure.

Une autre manière de mettre un noyau sur un disque de démarrage est de créer un système de fichier, non pas comme racine, mais simplement pour pouvoir installer LILO et par conséquent permettre de fournir des options en ligne de commande au moment du démarrage. Par exemple, le même noyau pourrait être utilisé pour démarrer en utilisant soit un système de fichiers racine sur disque dur, soit sur disquette. Cela pourrait être utile si vous essayez de reconstruire le système de fichiers du disque dur et si vous voulez pouvoir tester les résultats en cours de route.

Indiquer la racine

Le noyau doit d'une façon ou d'une autre savoir quel disque et quelle partition doivent être monté comme disque racine. Cela peut se fixer de différentes manières :

Il y a d'autres manières d'utiliser la commande rdev. Essayez :

        rdev -h

et vous obtiendrez les options de la commande.

Il n'y a en général pas besoin de configurer le périphérique racine pour une disquette de boot, car le noyau actuellement utilisé pour démarrer a déjà la valeur du disque racine. Le besoin peut se faire sentir, par contre, si vous récupérez le noyau d'une autre machine, par exemple celui d'une distribution, ou si vous voulez utiliser le noyau pour démarrer avec une disquette racine. Vérifier la valeur du disque racine actuel est probablement une bonne idée, au cas où il serait erroné. Pour vérifier avec rdev le périphérique racine actuel d'un fichier noyau, tapez la commande :

        rdev <nom_fichier>

Il est possible de changer le périphérique racine d'un noyau par d'autres moyens que rdev. Pour plus de détails, voir la FAQ à la fin de ce document.

Copier le noyau sur la disquette d'amorce

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

Les commandes décrites ci-dessous (et à travers le reste du HOWTO) supposent que les disquettes ont été formattées. Si ça n'est pas le cas, utilisez fdformat pour formatter les disquettes avant de continuer.

Si le disque ne doit pas contenir de système de fichiers, alors le noyau peut être copié en utilisant la commande dd, comme suit :

        dd if=fichier_origine of=peripherique

        ou      fichier_origine est le nom du noyau
        et      peripherique est l'interface d'acces a la couche
                physique de la disquette, generalement /dev/fd0

La commande cp peut aussi être utilisée :

        cp nom_du_fichier nom_du_peripherique

Par exemple :

        dd if=zImage of=/dev/fd0
ou
        cp zImage /dev/fd0

Le paramètre seek de la commande dd ne doit PAS être utilisé. Le fichier doit être copié au début du secteur d'amorce (secteur 0, cylindre 0), et ne pas préciser de paramètre seek permet cela.

Le nom du périphérique à utiliser est généralement /dev/fd0 pour le lecteur de disquette principal (c'est à dire le lecteur ``A:'' sous DOS), et /dev/fd1 pour le secondaire. Ces noms de périphériques permettront au noyau de détecter automatiquement les caractéristiques des lecteurs. Ces caractéristiques peuvent être précisée au noyau en utilisant d'autres noms de périphériques  : par exemple, /dev/fd0H1440 indique un lecteur haute densité 1.44 Mo. Il est rare d'avoir à recourir à ces noms de périphériques spécifiques.

Si le noyau doit être copié sur un disque d'amorce contenant un système de fichiers, le disque est alors monté sur un point d'entrée adéquat sur un système de fichiers actuellement monté, puis la commande cp est utilisée. Par exemple :

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

Notons que pour pratiquement toutes les opérations dans ce HOWTO, l'utilisateur doit agir en tant que super-utilisateur.

3.3 Racine

Aperçu

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

Bien sûr, tout système devient utile lorsque que l'on peut faire fonctionner quelque chose dessus, et une disquette racine ne devient en général utile que si vous pouvez avoir des actions du type :

3.4 Amorce/racine

Pour qu'une disquette avec un système de fichier racine soit efficace, vous devez pouvoir le faire fonctionner depuis un disque mémoire, c'est-à-dire un disque émulé en mémoire vive. Cela évite de faire fonctionner le système à une vitesse d'escargot, ce qui est le cas avec une disquette. Le HOWTO Ftape indique qu'un disque mémoire sera nécessaire lorsque l'on utilise Ftape car Ftape nécessite l'usage exclusif du controlleur de disquette.

Il y a un autre bénéfice du fait d'utiliser un disque mémoire - le noyau Linux inclut la possibilité d'avoir un disque mémoire automatique, où il copiera automatiquement, dans certaines circonstances, le contenu d'une disquette racine, et qu'il utilisera alors comme disque racine au lieu de la disquette. Trois points positifs en résultent :

Pour les noyaux 1.3.48 et ultérieurs, le code du disque mémoire a été substantiellement réécrit. Vous avez des options supplémentaires et les commandes pour utiliser le disque mémoire sont quelque peu différentes. La section Création de disquette de démarrage élaborée discute de cela plus en détail.

Vous devez configurer votre noyau pour avoir le support disque mémoire (ramdisk), mais le disque mémoire pouvant être agrandi de manière dynamique, il n'est pas nécessaire d'en préciser la taille. rdev -r n'est plus utilisé pour préciser la taille du disque mémoire, mais change par contre l'option disque mémoire dans l'image du noyau. La section Création de disquette de démarrage élaborée discute de cela de manière plus détaillée.

Si vous avez un noyau antérieur à 1.3.48, les points suivants sont nécessaires. Notez que cela s'applique UNIQUEMENT au noyaux antérieurs à la version 1.3.48.

On peut configurer le noyau pour avoir un disque mémoire de diverses manières :

Le moyen le plus simple est la configuration de LILO, car vous aurez besoin de créer une configuration pour LILO de toute manière. Pourquoi ne pas y ajouter la taille du disque mémoire ?

La configuration de LILO est brièvement décrite dans la section intitulée ``LILO'' ci-dessous, mais il est recommandé d'obtenir la dernière version stable en cours de LILO depuis votre miroir Linux le plus proche, et de lire la documentation l'accompagnant.

Les disques mémoires peuvent avoir une taille plus grande que celle d'une disquette, et peuvent contenir un système de fichiers aussi gros que leur taille. Cela peut être utile pour charger tous les programmes nécessaires à la réparation sur un seul disque mémoire performant. La méthode pour faire cela est décrite dans la FAQ, dans la réponse à la question ``Comment puis-je créer un grand système de fichier sur disque mémoire ?''

3.5 Utilitaire

Souvent, un seul disque n'est pas suffisant pour contenir l'ensemble des programmes dont vous avez besoin pour pouvoir analyser, réparer et restaurer des disques corrompus. Quand vous en arrivez à inclure tar, gzip, e2fsck, fdisk, Ftape, etc... ils prennent assez de place pour une nouvelle disquette, voire plus si vous avez besoin de beaucoup d'outils.

Cela entraîne qu'un kit de secours nécessite souvent une disquette utilitaire, avec un système de fichiers contenant tous les extras dont vous avez besoin. Ce système de fichiers peut alors être monté à un endroit pratique, comme /usr, sur le système amorce/racine.

Créer un système de fichiers est relativement simple, et il est décrit dans la section intitulée ``Systèmes de fichiers''.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre