|
このページは大阪弁化フィルタによって翻訳生成されたんですわ。 |
Adaptation fran?aise: Mathieu Decore
Adaptation fran?aise (version 3.5): Frank Pavageau
Relecture de la version fran?aise: Guillaume Hatt
Pr?paration de la publication: Jean-Philippe Gu?rard
Version 4.5.fr.1.0
20 juin 2003
| Historique des versions | ||
|---|---|---|
| Version 4.5.fr.1.0 | 2003-06-20 | MD, GH, JPG |
| Mise ? jour de la version fran?aise. Conversion en XML (MD). | ||
| Version 4.5 | Janvier 2002 | TF |
| Version 4.0 | 2000-04-01 | TF |
| Version 3.5.fr.1.0 | Juillet 1999 | FP |
| Version 3.5 | Juillet 1999 | TF |
R?sum?
Ce document explique comment concevoir et cr?er ses propres disquettes d'amor?age et disquettes racines pour Linux. Ces disquettes peuvent ?tre utilis?es comme disques de secours, ou pour l'essai de nouveaux composants syst?me. Avant de tenter de cr?er une disquette d'amor?age, il est recommand? d'avoir un compr?hension raisonnable de l'administration d'un syst?me Linux. Si vous souhaitez juste cr?er des disquettes de secours, lisez la Section?1, ??Disques d'amorce pr?fabriqu?s??.
Table des mati?res
![]() | Ce document peut ?tre obsol?te. |
|---|---|
Si la date sur la page de titre a plus de six mois, v?rifiez la page du Projet de documentation Linux (LDP) http://www.ibiblio.org/LDP/HOWTO/Bootdisk-HOWTO.html (et sa traduction fran?aise http://www.traduc.org/docs/howto/lecture/Bootdisk-HOWTO.html) au cas o? une version plus r?cente s'y trouverait. | |
Bien que ce document soit lisible dans sa forme texte, il a bien meilleure allure en PostScript, PDF ou HTML en raison de la typographie utilis?e.
Graham Chapman (<grahamc CHEZ zeta POINT org POINT au>) a ?crit le premier Bootdisk-HOWTO et en a assur? la maintenance jusqu'? la version 3.1. Tom Fawcett (<fawcett CHEZ croftj POINT net>) a ajout? beaucoup d'informations pour le support du noyau 2.0, et effectue d?sormais la maintenance du document, depuis la version 3.2 qui contient toujours une bonne partie ?crite par Chapman. Chapman a disparu de la communaut? Linux et personne ne sait actuellement o? il se trouve.
Les informations contenues dans ce document concernent Linux sur plate-forme Intel?. Bien des ?l?ments doivent pouvoir ?tre appliqu?s ? Linux sur d'autres processeurs, mais nous n'en avons pas personnellement l'exp?rience, ni ne poss?dons d'informations de ce type. Si quelqu'un a exp?riment? les disques d'amorce sur d'autres plates-formes, qu'il nous contacte.
User-mode-linux (http://user-mode-linux.sourceforge.net/) semble ?tre un bon moyen de tester les disquettes d'amorce sans avoir ? red?marrer la machine sans arr?t. Je ne l'ai pas test?. Si quelqu'un l'a fait fonctionner de mani?re significative pour fabriquer ses propres disquettes d'amorce, merci de me le faire savoir.
R?-analyser la distribution de la disquettes d'amorce et mettre ? jour la section ??La m?thode des pros??
Trouver jusqu'o? la s?quence init-getty-login peut ?tre simplifi?e, et la remplacer. Quelque personnes m'ont dit que init peut ?tre un lien vers /bin/sh?; si c'est le cas, et que cela n'impose pas de grandes modifications, changer les instructions pour le faire. Cela permettrait d'?liminer l'utilisation de getty, login, gettydefs, et sans doute tout ce qui concerne PAM et NSS.
Aller ? nouveau dans le code source du noyau 2.4 et ?crire une explication d?taill?e sur la proc?dure de d?marrage et de chargement du disque m?moire (seulement si je le comprends mieux). Il y a des fonctionnalit?s ? propos de initrd et les limitations concernant les p?riph?riques de d?marrage (comme les cartes flash) que je ne comprends pas encore.
Supprimer la section qui d?crit comment mettre ? jour une disquettes d'amorce. C'est la plupart du temps source de trop de tracas.
Remplacer la commande rdev par les mots-clefs LILO.
Tout retour, bon ou mauvais, sur le contenu de ce document est le bienvenu. Nous avons fait de notre mieux pour v?rifier que les instructions et informations ici pr?sentes sont pr?cises et fiables. Merci de nous signaler toute erreur ou omission.
Nous remercions les nombreuses personnes nous ayant fourni des corrections et suggestions. Leurs contributions ont permis d'am?liorer ce document bien au del? de ce que nous aurions pu r?aliser seuls.
Envoyez vos commentaires, corrections et questions en anglais ? l'auteur ? l'adresse ci-dessus (ou au traducteur pour des probl?mes dans la version fran?aise). Cela ne me d?range pas d'essayer de r?pondre ? vos questions, mais merci de lire la Section?7, ??En cas de probl?me, ou l'agonie de la d?faite?? d'abord.
Copyright ? 1995,1996,1997,1998,1999 by Tom Fawcett and Graham Chapman. This document may be distributed under the terms set forth in the Linux Documentation Project License at http://www.ibiblio.org/LDP/COPYRIGHT.html. Please contact the authors if you are unable to get the license.
Copyright ? 1999,2003 by Frank Pavageau and copyright ? 2003 by Mathieu Decore and Guillaume Hatt for the French translation. This document may be distributed under the terms of the Linux Documentation Project License, which is hereby included by reference http://www.ibiblio.org/LDP/COPYRIGHT.html.
This is free documentation. It is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
Copyright ? 1995,1996,1997,1998,1999 Tom Fawcett et Graham Chapman. Ce document peut ?tre distribu? sous les termes de la Licence du Linux Documentation Project lisible ? http://www.ibiblio.org/LDP/COPYRIGHT.html. Merci de contacter les auteurs si vous n'arrivez pas ? r?cup?rer la licence.
Copyright ? 1999 Frank Pavageau et copyright ? 2003 Mathieu Decore et Guillaume Hatt pour la version fran?aise. Ce document est distribu? sous les termes de la licence du Projet de documentation Linux (LDP). Cette licence est ci-incluse par r?f?rence?: http://www.ibiblio.org/LDP/COPYRIGHT.html.
Cette documentation est libre. Elle est distribu?e dans l'espoir d'?tre utile, mais sans aucune garantie?; sans m?me la garantie implicite de valeur marchande ou de correspondre ? un but particulier.
Vous utilisez les informations contenues dans ce document ? vos propres risques. Nous d?clinons toute responsabilit? quant ? son contenu. L'utilisation des concepts, des exemples ou de tout autre contenu se fait enti?rement ? vos propres risques.
Tous les droits sont d?tenus par leurs propri?taires respectifs, sauf mention contraire explicite. L'utilisation d'un terme dans ce document ne constitue pas une limitation ? sa validit? en tant que marque.
Le fait de citer un produit ou une marque particuli?re ne constitue pas un endossement.
Il est fortement conseill? d'effectuer une sauvegarde de votre syst?me avant une installation importante ainsi qu'? intervalles r?guliers.
Correspondances anglais/fran?ais utilis?es dans la traduction?:
I/O?: E/S, entr?es/sorties.
backup?: archive.
boot loader?: chargeur, lanceur.
boot?: amorce, amorcer, d?marrage, d?marrer.
boot/root disk?: disquette d'amorce/racine.
dynamic library?: biblioth?que partag?e.
filesystem?: syst?me de fichiers, syst?me.
inode?: i-n?ud.
library?: biblioth?que.
loopback device?: p?riph?rique de boucle.
package?: paquetage.
path?: chemin.
ramdisk?: disque virtuel en m?moire, disque m?moire.
root device?: p?riph?rique racine.
root?: racine.
runlevel?: niveau d'ex?cution.
swap?: pagination.
Les disques d'amorce Linux sont utiles dans nombre de situations, telles que?:
Tester un nouveau noyau?;
Red?marrer apr?s un probl?me de disque?: tout depuis la perte d'un secteur d'amorce ? l'atterrissage d'une t?te de lecture sur le disque?;
R?parer un syst?me endommag?. Une petite erreur en tant que root peut rendre le syst?me inutilisable, et il peut alors ?tre n?cessaire de d?marrer depuis une disquette pour corriger le probl?me?;
Mettre ? jour des fichiers critiques du syst?me, tels que libc.so.
Les disques d'amorce peuvent ?tre obtenus de diff?rentes mani?res?:
Utiliser ceux d'une distribution telle que la Slackware. Cela vous permettra au moins de d?marrer?;
Utiliser un paquetage de cr?ation de disques de secours, pr?vus pour les cas d'urgence?;
Apprendre ce que n?cessite le fonctionnement de chaque type de disque, puis cr?er les v?tres.
Certaines personnes choisissent la derni?re solution afin de tout faire eux-m?mes. Ainsi, si quelque chose ne marche plus, ils peuvent se d?brouiller pour corriger le probl?me. Et c'est un excellent moyen pour apprendre le fonctionnement d'un syst?me Linux.
Ce document suppose une certaine familiarit? avec les concepts d'administration d'un syst?me Linux. Par exemple, vous devez conna?tre les r?pertoires, les syst?mes de fichiers, les disquettes. Vous devez savoir utiliser mount et df, ? quoi servent les fichiers /etc/passwd et fstab et quelle t?te ils ont. Enfin, vous devez savoir que la plupart des commandes dans ce howto doivent ?tre ex?cut?es en tant que root.
Cr?er vos propres disquettes d'amorce ? partir de z?ro peut ?tre compliqu?. Si vous n'avez pas lu la FAQ Linux et autres documents du m?me genre, tels que le howto d'installation Linux et le Guide d'installation de Linux, vous ne devriez pas essayer de cr?er des disques d'amorce. Si vous souhaitez juste cr?er des disques pour pr?venir les cas urgents, il est bien plus simple d'en r?cup?rer des pr?fabriqu?s. Lisez l'appendice Section?1, ??Disques d'amorce pr?fabriqu?s?? ci-dessous pour savoir o? en trouver.
Un disque d'amorce est essentiellement un syst?me Linux miniature et auto-suffisant contenu sur une disquette. Il doit pouvoir effectuer nombre d'op?rations possibles sur un syst?me Linux de taille normale. Avant d'essayer d'en cr?er un, vous devez comprendre les bases du d?marrage de Linux. Nous en faisons ici une pr?sentation qui devrait suffire ? la compr?hension de la suite du document. Bien des d?tails ou des possibilit?s ont ?t? omis.
Tous les PC d?marrent en ex?cutant du code situ? en m?moire morte (? savoir, le BIOS) afin de charger le secteur situ? au secteur 0, cylindre 0 du disque d'amorce. Celui-ci est habituellement le premier lecteur de disquette (appel? A: sous DOS et /dev/fd0 sous Linux). Le BIOS essaye alors d'ex?cuter ce secteur. Sur la plupart des disques d'amorce, le secteur 0, cylindre 0 contient?:
soit le code d'un chargeur tel que LILO, qui trouve le noyau, le charge et l'ex?cute pour r?aliser le d?marrage proprement dit,
soit le d?but du noyau d'un syst?me d'exploitation, tel que Linux.
Si un noyau Linux a ?t? copi? directement sur une disquette, le premier secteur du disque sera le premier secteur du noyau Linux lui-m?me. Ce premier secteur continuera le d?marrage en chargeant le reste du noyau depuis le p?riph?rique d'amorce.
Une fois que le noyau est compl?tement charg?, il effectue certaines initialisations de p?riph?riques ainsi que de ses donn?es internes. Une fois qu'il est compl?tement initialis?, il consulte un endroit particulier dans son image appel? le mot disque m?moire. Ce mot pr?cise comment et o? trouver le syst?me de fichiers racine. Un syst?me de fichiers racine est simplement celui qui est mont? en tant que ??/??. Il faut dire au noyau o? trouver ce syst?me racine?; s'il ne peut trouver d'image ? charger, il s'arr?te.
Dans certains cas au d?marrage (souvent lors du d?marrage depuis une disquette), le syst?me de fichiers racine est charg? dans un disque m?moire, auquel le syst?me acc?de ensuite en m?moire comme s'il s'agissait d'un vrai disque. Il y a deux raisons ? un tel chargement en m?moire. Premi?rement, la m?moire vive est de plusieurs ordres de magnitude plus rapide qu'une disquette, et le syst?me est donc rapide?; deuxi?mement, le noyau peut charger un syst?me de fichiers compress? depuis la disquette et le d?compresser en m?moire, permettant ainsi de stocker plus de fichiers sur la disquette.
Une fois le syst?me de fichiers racine charg? et mont?, vous voyez un message tel que?:
VFS: Mounted root (ext2 filesystem) readonly.
? ce moment, le syst?me trouve le programme init dans le syst?me racine (dans /bin ou /sbin) et l'ex?cute. init lit sa configuration dans /etc/inittab, cherche une ligne nomm?e sysinit, et ex?cute le script indiqu?. Le script sysinit est en g?n?ral un fichier du genre /etc/rc ou /etc/init.d/boot. Le script est un ensemble de commandes shell qui mettent en place les services de base du syst?me, tels que?:
Lancer fsck sur tous les disques ;
Charger les modules n?cessaires du noyau?;
Lancer la pagination?;
Initialiser le r?seau?;
Monter les disques indiqu?s dans fstab.
Ce script appelle lui-m?me souvent nombre d'autres scripts pour r?aliser une initialisation modulaire. Par exemple, dans la structure SysVinit habituelle, le r?pertoire /etc/rc.d/ contient une structure complexe de sous-r?pertoires dont les fichiers indiquent comment lancer et arr?ter la plupart des services du syst?me. En revanche, sur un disque d'amorce, le script sysinit est souvent tr?s simple.
Quand le script sysinit se termine, le contr?le revient ? init, qui entre alors dans le niveau d'ex?cution par d?faut, sp?cifi? dans inittab par le mot cl? initdefault. La ligne du niveau d'ex?cution indique en g?n?ral un programme tel que getty, responsable de la gestion des communications par la console ou les tty. C'est le programme getty qui affiche l'invite habituelle login:. Lui-m?me ex?cute ? son tour le programme login pour g?rer la validation du login et mettre en place la session de l'utilisateur.
Apr?s avoir revu les bases du d?marrage, nous pouvons d?finir les diff?rents types de disques mis en jeu. Ces disques sont class?s en quatre cat?gories. ?a et l? dans le document, on emploie le terme disque pour d?signer une disquette, sauf pr?cision contraire, bien que la majeure partie de la discussion puisse ?galement s'appliquer ? des disques durs.
Un disque contenant un noyau pouvant ?tre amorc?. Il peut ?tre utilis? pour d?marrer le noyau, qui pourra alors charger un syst?me racine depuis un autre disque. Il est en g?n?ral n?cessaire d'indiquer au noyau o? se trouve ce syst?me racine.
Souvent un disque d'amorce charge le syst?me racine depuis une autre disquette, mais il est possible de lui indiquer un disque dur d'o? il chargera le syst?me racine ? la place. Souvent, c'est dans le but de tester un nouveau noyau (d'ailleurs, make zdisk cr?e un tel disque d'amorce automatiquement ? partir du code source du noyau).
Un disque avec un syst?me de fichiers contenant les fichiers n?cessaires au fonctionnement d'un syst?me Linux. Un tel disque ne contient pas forc?ment un noyau ou un chargeur.
Un disque racine peut ?tre utilis? pour faire tourner le syst?me ind?pendamment de tout autre disque, une fois le noyau amorc?. En g?n?ral le disque racine est copi? automatiquement vers un disque m?moire. Cela permet un acc?s au disque racine bien plus rapide, et lib?re le lecteur pour une disquette d'utilitaires.
Un disque contenant ? la fois un noyau et un syst?me de fichiers racine. Autrement dit, il contient tout ce qui est n?cessaire au d?marrage et au fonctionnement d'un syst?me Linux sans disque dur. L'avantage de ce type de disque est sa compacit??: tout ce dont on a besoin est sur un seul disque. N?anmoins, la taille toujours plus importante des programmes implique une difficult? croissante pour tout faire tenir sur une seule disquette, m?me avec de la compression.
Un disque contenant un syst?me de fichier non destin? ? ?tre mont? en tant que racine. Il s'agit d'un disque de donn?es suppl?mentaires. Vous pouvez utiliser ce genre de disque pour rajouter des utilitaires, quand vous en avez trop pour un seul disque amorce.
En g?n?ral, lorsque l'on parle de ??construire un disque d'amorce??, c'est de la cr?ation des parties amorce (noyau) et racine (fichiers) qu'il est question, soit en un seul morceau (un seul disque amorce/racine), soit s?par?ment (un disque amorce et un racine). L'approche la plus flexible pour des disquettes de secours est d'utiliser des disquettes amorce et racine s?par?es, et une ou plusieurs disquettes utilitaires pour supporter le trop-plein.
Pour cr?er un syst?me racine, il faut s?lectionner les fichiers n?cessaires au syst?me pour fonctionner. Dans cette section nous d?crivons comment cr?er un syst?me racine compress?. Une option moins courante est de cr?er un syst?me non compress? sur une disquette que l'on monte directement?; cette alternative est d?crite dans la Section?9.1, ??Syst?me racine sans disque m?moire??.
Un syst?me racine doit contenir tout ce qui est n?cessaire au bon fonctionnement d'un syst?me Linux complet. Pour cela, le disque doit contenir un syst?me Linux minimum?:
La structure de base des fichiers?;
Un ensemble minimum de r?pertoires?: /dev, /proc, /bin, /etc, /lib, /usr, /tmp?;
Un ensemble d'utilitaires de base?: sh, ls, cp, mv, et c?tera?;
Un ensemble minimum de fichiers de configuration?: rc, inittab, fstab, et c?tera?;
Des p?riph?riques?: /dev/hd*, /dev/tty*, /dev/fd0, et c?tera?;
Des biblioth?ques d'ex?cution fournissant les fonctions de base n?cessaires aux utilitaires.
Bien s?r, n'importe quel syst?me devient utile d?s que l'on peut faire tourner quelque chose dessus, et une disquette racine ne devient en g?n?ral utilisable que lorsque vous pouvez faire quelque chose du genre :
Contr?ler un syst?me de fichiers sur un autre disque?; par exemple, pour contr?ler le syst?me racine de votre disque dur, vous devez pouvoir d?marrer Linux depuis un autre disque, telle qu'une disquette racine. Vous pouvez alors lancer fsck sur votre disque racine habituel tant qu'il n'est pas mont??;
R?cup?rer tout ou partie de votre disque racine initial ? partir d'une sauvegarde en utilisant des utilitaires d'archivage et de compression tels que cpio, tar, gzip et ftape.
Nous d?crirons comment construire un syst?me compress?, ainsi appel? car il est compress? sur disque et qu'une fois d?marr?, le noyau le d?compresse dans un disque m?moire. Avec un syst?me compress? vous pouvez faire tenir beaucoup de fichiers (? peu pr?s six m?ga-octets) sur une disquette standard de 1440?ko. Puisque le syst?me de fichiers est bien plus gros que la disquette, il ne peut ?tre construit directement sur la disquette. Il nous faut le construire ailleurs et le compresser avant de le copier sur la disquette.
Pour cr?er un tel syst?me racine, il vous faut un autre p?riph?rique capable de stocker tous les fichiers avant leur compression. Ce p?riph?rique doit pouvoir contenir ? peu pr?s quatre m?ga-octets. Plusieurs solutions s'offrent ? vous?:
Utiliser un disque m?moire (P?RIPH?RIQUE = /dev/ram0). Dans ce cas, la m?moire est utilis?e pour simuler un disque physique. Le disque m?moire doit ?tre suffisamment grand pour contenir un syst?me de fichiers de la bonne taille. Si vous utilisez LILO, cherchez dans votre fichier de configuration (/etc/lilo.conf) une ligne du type?:
RAMDISK_SIZE = nnn
qui d?termine combien de m?moire peut ?tre au plus allou?e ? un disque m?moire. La valeur par d?faut est de 4096?ko, ce qui devrait suffire. Il ne sert probablement ? rien de cr?er un tel disque m?moire sur une machine poss?dant moins de 8?Mo de RAM.
V?rifiez que vous avez un p?riph?rique tel que /dev/ram0, /dev/ram ou /dev/ramdisk. Si ce n'est pas le cas, cr?ez /dev/ram0 avec mknod (num?ro majeur 1, num?ro mineur 0).
Une partition de disque dur inutilis?e et assez grande (plusieurs m?ga-octets) est aussi une bonne solution.
Utiliser un p?riph?rique de boucle (loopback), qui permet d'utiliser un fichier comme s'il s'agissait d'un p?riph?rique normal. Avec un p?riph?rique de boucle, vous pouvez cr?er un fichier de 3 m?ga-octets sur votre disque dur et construire le syst?me de fichiers dedans.
Tapez man losetup pour savoir comment utiliser un p?riph?rique de boucle. Si vous n'avez pas losetup, vous pouvez le r?cup?rer, ainsi que des versions compatibles de mount et umount, dans le paquetage util-linux disponible dans le r?pertoire ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/.
Si vous n'avez pas de p?riph?rique de boucle (/dev/loop0, /dev/loop1, et c?tera) sur votre syst?me, vous devez en cr?er un avec mknod /dev/loop0 b 7 0. Une fois les ex?cutables mount et umount sp?ciaux install?s, cr?ez un fichier temporaire sur le disque dur suffisamment grand (par exemple, /tmp/fsfile). Vous pouvez utiliser une commande du type?:
dd if=/dev/zero of=/tmp/fsfile bs=1k count=nnn
pour cr?er un fichier de nnn blocs.
Utilisez le nom du fichier ? la place de P?RIPH?RIQUE ci-dessous. Quand vous ex?cutez une commande mount, vous devez inclure l'option -o loop pour dire au programme d'utiliser un p?riph?rique de boucle. Par exemple?:
mount -o loop -t ext2 /tmp/fsfile /mnt
va monter /tmp/fsfile (par p?riph?rique de boucle) sur le point de montage /mnt. Un coup de df le confirmera.
Apr?s avoir choisi une de ces options, pr?parez le P?RIPH?RIQUE avec?:
dd if=/dev/zero of=P?RIPH?RIQUE bs=1k count=4096
Cette commande initialise ? z?ro le p?riph?rique. Cette ?tape est importante pour la compression ult?rieure du syst?me de fichiers, afin que toutes les portions inutilis?es soient remplies de z?ros pour une compression maximum. Gardez cela ? l'esprit si vous d?placez ou effacez des fichiers sur le syst?me de fichiers. Le syst?me de fichiers va d?sallouer correctement les blocs, mais ne va pas les initialiser ? z?ro ? nouveau . Si vous effectuez beaucoup d'effacements et de copies, votre syst?me de fichiers compress? risque d'?tre bien plus grand que n?cessaire.
Ensuite, cr?ez le syst?me de fichiers. Le noyau Linux sait charger automatiquement deux types de syst?me de fichiers dans un disque m?moire : minix et ext2, avec une pr?f?rence pour ext2. Si vous le choisissez, vous voudrez peut-?tre utiliser l'option -i afin de cr?er plus d'i-n?uds que par d?faut?; -i 2000 est une bonne valeur qui vous ?vitera de tomber ? court d'i-n?uds. Vous pouvez sinon ?conomiser des i-n?uds en supprimant pas mal de fichiers /dev/ inutiles. mke2fs cr?e par d?faut 360 i-n?uds sur une disquette de 1,44?Mo. Je trouve 120 i-n?uds largement suffisants pour ma disquette racine de secours, mais si vous conservez tous les p?riph?riques dans le r?pertoire /dev vous d?passerez facilement les 360. L'utilisation d'un syst?me racine compress? permet de cr?er un syst?me de fichiers plus grand, contenant donc plus d'i-n?uds par d?faut, mais vous pourrez quand m?me vouloir r?duire le nombre de fichiers ou augmenter le nombre d'i-n?uds.
Vous allez donc taper une commande du genre?:
mke2fs -m 0 -i 2000 P?RIPH?RIQUE
(Si vous utilisez un p?riph?rique de boucle, le fichier que vous utilisez doit ?tre indiqu? ? la place de ce P?RIPH?RIQUE. mke2fs vous demandera alors si vous voulez vraiment faire cela?; r?pondez oui.)
La commande mke2fs d?tectera automatiquement l'espace disponible et se configurera selon ce dernier. Le param?tre -m 0 permet de ne pas r?server d'espace pour root, et laisse donc plus d'espace disponible sur le disque.
Ensuite, montez le p?riph?rique?:
mount -t ext2 P?RIPH?RIQUE /mnt
(Vous devez cr?er un point de montage /mnt s'il n'existe pas encore.) Dans les sections suivantes, tous les r?pertoires destination sont suppos?s relatifs ? /mnt.
Voici un minimum raisonnable de r?pertoires ? cr?er sur votre syst?me racine [1]?:
/dev?: P?riph?riques, n?cessaires aux E/S?;
/proc?: R?pertoire de base n?cessaire au syst?me de fichiers proc?;
/etc?: Fichiers de configuration du syst?me?;
/sbin?: Ex?cutables syst?mes critiques?;
/bin?: Ex?cutables de base consid?r?s comme partie int?grante du syst?me?;
/lib?: Biblioth?ques partag?es n?cessaires ? l'ex?cution des programmes?;
/mnt?: Un point de montage pour la maintenance des autres disques?;
/usr?: Utilitaires et applications suppl?mentaires.
Trois de ces r?pertoires resteront vides sur les syst?mes racine, il suffit donc de les cr?er avec mkdir. Le r?pertoire /proc n'est qu'une base sous laquelle le syst?me proc est plac?. /mnt et /usr ne sont que des points de montage utilis?s une fois que le syst?me amorce/racine tourne. Encore une fois, il suffit de cr?er ces r?pertoires.
Les quatre autres r?pertoires sont d?crits dans les sections suivantes.
Tous les syst?mes Linux ont besoin d'un r?pertoire /dev contenant un fichier sp?cial par p?riph?rique accessible au syst?me. Le r?pertoire en lui-m?me est normal, et peut ?tre cr?? avec mkdir de la mani?re habituelle. Les fichiers sp?ciaux de p?riph?rique doivent par contre ?tre cr??s diff?remment, ? l'aide de la commande mknod.
Il y a un raccourci par contre?: copiez le contenu de votre r?pertoire /dev existant, puis supprimez ceux dont vous n'avez pas besoin. Il suffit juste de copier les fichiers sp?ciaux avec l'option -R. Cela copie le r?pertoire sans tenter de copier le contenu des fichiers. Attention ? bien utiliser un R en majuscule?! Si vous utilisez l'option en minuscule -r, vous allez vous retrouver en train de copier le contenu complet de votre disque dur ― ou au moins tout ce que pourra en contenir une disquette?! Prenez donc vos pr?cautions, et utilisez par exemple les commandes?:
cp -dpR /dev/fd[01]* /mnt/dev cp -dpR /dev/tty[0-6] /mnt/dev
en supposant que la disquette est mont?e sur /mnt. Les options dp demandent la copie des liens symboliques en tant que lien, plut?t que celle du fichier qui se trouve au bout de celui-ci, et la conservation des attributs originaux des fichiers, pour garder les bons propri?taires.
Si vous voulez le faire vous-m?mes, utilisez ls -l pour afficher les num?ros majeurs et mineurs des p?riph?riques qui vous int?ressent, et cr?ez-les sur la disquette en utilisant mknod.
Quelle que soit la mani?re retenue pour copier les p?riph?riques, il faut v?rifier que tous les p?riph?riques dont vous aurez besoin sont bien pr?sents sur la disquette de secours. Par exemple, ftape utilise les p?riph?riques de bande, qu'il vous faudra donc tous copier si vous comptez utiliser votre lecteur de bande depuis le disque amorce.
? noter qu'un i-n?ud est n?cessaire pour chaque fichier de p?riph?rique, et que les i-n?uds sont parfois une ressource rare, sp?cialement sur les syst?mes de fichiers sur disquette. Il n'est donc pas idiot d'enlever du r?pertoire /dev de la disquette tous les fichiers de p?riph?rique dont vous n'avez pas besoin. Bien des p?riph?riques ne sont clairement pas n?cessaires sur des syst?mes sp?cifiques. Par exemple, si vous n'avez pas de disques SCSI vous pouvez tranquillement enlever tous les fichiers commen?ant par sd. De m?me, si vous ne comptez pas utiliser de port s?rie vous pouvez supprimer tous les fichiers commen?ant par ttyS.
Si, en construisant le syst?me de fichiers, vous obtenez l'erreur?:
No space left on device
et que la commande df indique qu'il reste de l'espace disponible, c'est sans doutes qu'il n'y a plus d'i-n?ud disponible. Un df -i affichera l'utilisation des i-n?uds.
N'oubliez pas d'inclure les fichiers suivants dans le r?pertoire?: console, kmem, mem, null, ram0, tty1.
Ce r?pertoire doit contenir un certain nombre de fichiers de configuration. Ce qu'il devrait contenir d?pend des programmes que vous avez l'intention d'ex?cuter. Sur la plupart des syst?mes, on peut les r?partir en trois groupes?:
N?cessaires ? tout moment, par exemple rc, fstab, passwd?;
Peut-?tre n?cessaires, mais on n'en est pas s?r ;
Du bazar oubli? l?.
Les fichiers non essentiels peuvent ?tre identifi?s avec la commande?:
ls -ltru
Les fichiers sont class?s dans l'ordre inverse de derni?re date d'acc?s, donc tout fichier qui n'est jamais lu peut ?tre exclu d'une disquette racine.
Sur mes disquettes racine, je n'ai que 15 fichiers de configuration. Mon travail se r?duit alors ? g?rer trois groupes de fichiers?:
Ceux que je dois configurer pour un syst?me d'amorce et racine?:
rc.d/*?: scripts de d?marrage du syst?me et de changement de niveau d'ex?cution?;
fstab?: liste des syst?mes de fichiers ? monter?;
inittab?: param?tres pour le processus init, le premier ? ?tre lanc? au d?marrage.
gettydefs?: param?tres pour le processus init, le premier ? ?tre lanc? au d?marrage.
Ceux que je dois nettoyer pour un syst?me d'amorce et racine?:
passwd?: liste des utilisateurs, des r?pertoires utilisateurs, et c?tera?;
group?: groupes d'utilisateurs ;
shadow?: mots de passe cach?s des utilisateurs. Il se peut que vous n'ayez pas ce fichier ;
termcap?: la base de donn?es de fonctionnalit?s des terminaux.
Si la s?curit? est importante, passwd et shadow doivent ?tre nettoy?s pour ne pas copier de mots de passe d'utilisateurs hors du syst?me et pour qu'en cas de d?marrage sur disquette, les logins ind?sirables soient rejet?s.
Assurez-vous que passwd contienne au moins root. Si vous comptez donner acc?s ? d'autres utilisateurs, v?rifiez l'existence de leurs r?pertoires utilisateurs et de leurs shells.
termcap, la base de donn?es de terminaux, fait en g?n?ral plusieurs centaines de kilo-octets. Vous devrez faire du m?nage dans la version de votre disquette d'amorce/racine pour ne conserver que le ou les terminaux que vous utilisez, ce qui se r?duit en g?n?ral ? l'entr?e linux ou linux-console.
Le reste. Ils fonctionnent tr?s bien tels quel, je ne les modifie donc pas.
Parmi tout cela, je n'ai en r?alit? que deux fichiers ? configurer, et ils ne doivent contenir qu'?tonnamment peu de choses.
rc doit contenir?:
#!/bin/sh /bin/mount -av /bin/hostname Kangaroo
V?rifiez qu'il est ex?cutable, qu'il contient bien une ligne #!/bin/sh au d?but et que ce sont les bons r?pertoires. Il n'est pas r?ellement n?cessaire de lancer hostname, mais cela donne juste une meilleure allure.
fstab doit au moins contenir?:
/dev/ram0 / ext2 defaults /dev/fd0 / ext2 defaults /proc /proc proc defaults
Vous pouvez copier des lignes de votre vrai fstab, mais vous ne devriez pas monter automatiquement de partitions de votre disque dur?; utilisez le mot cl? noauto pour celles-l?. Votre disque peut ?tre endommag? ou mort quand vous utilisez le disque d'amorce.
Votre inittab doit ?tre modifi? pour que la ligne sysinit lance rc ou quelque autre script basique d'amorce. De plus, si vous ne souhaitez pas que les utilisateurs se loguent sur les ports s?rie, commentez toutes les entr?es getty qui font r?f?rence ? des p?riph?riques ttys ou ttyS ? la fin de la ligne. Laissez les ports tty pour pouvoir vous connecter sur la console.
Un fichier inittab minimal contient ce qui suit?:
id:2:initdefault si::sysinit:/etc/rc 1:2345:respawn:/sbin/getty 9600 tty1 2:23:respawn:/sbin/getty 9600 tty2
Le fichier inittab d?crit ce que va lancer le syst?me dans divers ?tats, dont le d?marrage, le passage en mode multi utilisateurs, et c?tera. Attention aux noms de fichiers r?f?renc?s dans inittab?; si init ne peut trouver le programme, le disque d'amorce s'arr?tera, et vous n'aurez peut-?tre m?me pas de message d'erreur.
Notez que certains programmes ne peuvent ?tre d?plac?s en raison d'autres programmes qui r?f?rencent en dur leur position. Par exemple sur mon syst?me, /etc/shutdown r?f?rence en dur /etc/reboot. Si je d?place reboot vers /bin/reboot, et que je lance une commande shutdown, elle va ?chouer en ne trouvant pas le fichier reboot.
Pour le reste, copiez juste tous les fichiers texte de votre r?pertoire /etc, ainsi que tous les ex?cutables pr?sents dans /etc dont vous n'?tes pas s?r de pouvoir vous passer. Basez-vous sur l'exemple de l'Annexe?C, Exemple de contenu de r?pertoires sur un disque racine. Il vous suffira probablement de copier ces fichiers, mais les syst?mes pouvant ?tre tr?s diff?rents, il n'est pas certain que le m?me ensemble de fichiers sur votre syst?me soit ?quivalent aux fichiers list?s. La seule m?thode s?re est de partir d'inittab et d'en d?duire ce qui est n?cessaire.
La plupart des syst?mes utilisent maintenant un r?pertoire /etc/rc.d/ contenant des scripts shell pour les diff?rents niveaux d'ex?cution. Il faut au minimum avoir un script rc unique, mais il peut ?tre plus simple de carr?ment copier inittab et le r?pertoire /etc/rc.d depuis votre syst?me puis de nettoyer les scripts shell dans le r?pertoire rc.d pour enlever tous les traitements inutiles pour un syst?me sur disquette.
Le r?pertoire /bin est un endroit pratique pour tous les utilitaires n?cessaires aux op?rations de base, tels que ls, mv, cat et dd. Voir l'Annexe?C, Exemple de contenu de r?pertoires sur un disque racine pour un exemple d'ensemble de fichiers pouvant aller dans les r?pertoires /bin et /sbin. Il ne contient aucun des utilitaires n?cessaires ? la r?cup?ration d'une sauvegarde, tels que cpio, tar et gzip. C'est parce que je place ceux-ci sur une disquette utilitaire s?par?e, pour conserver de la place sur la disquette d'amorce et racine. Une fois la disquette d'amorce/racine d?marr?e, elle est copi?e sur le disque m?moire, laissant ainsi le lecteur de disquette libre pour en monter une autre, la disquette utilitaire. En g?n?ral je la monte sur /usr.
La cr?ation d'une disquette utilitaire est d?crite ci-dessous dans la Section?9.2, ??Construire un disque utilitaire?? . Il est probablement souhaitable d'y maintenir une copie des m?mes versions d'utilitaires de sauvegarde que ceux utilis?s pour ?crire les sauvegardes, histoire de ne pas perdre de temps en essayant d'installer des versions qui ne peuvent pas lire vos bandes de sauvegarde.
V?rifiez que vous y mettez les programmes suivants?: init, getty ou un ?quivalent, login, mount, un shell capable de faire tourner votre script rc, un lien de sh vers le shell en question.
Vous mettez dans /lib les biblioth?ques partag?es et les chargeurs n?cessaires. Si les biblioth?ques n?cessaires ne sont pas trouv?es dans /lib, le syst?me ne pourra pas d?marrer. Avec de la chance, un message vous expliquera pourquoi.
Pratiquement tous les programmes ont au moins besoin de la biblioth?que libc, libc.so.N, N ?tant le num?ro de version courant. V?rifiez votre r?pertoire /lib, libc.so.N est en g?n?ral un lien symbolique vers un fichier avec un num?ro de version complet?:
% ls -l /lib/libc.so* -rwxr-xr-x 1 root root 4016683 Apr 16 18:48 libc-2.1.1.so* lrwxrwxrwx 1 root root 13 Apr 10 12:25 libc.so.6 -> libc-2.1.1.so*
Dans le cas pr?sent, il vous faut libc-2.1.1.so. Pour trouver les autres biblioth?ques n?cessaires, il faut lancer la commande ldd sur tous les ex?cutables que vous pr?voyez de mettre sur la disquette. Par exemple?:
% ldd /sbin/mke2fs libext2fs.so.2 => /lib/libext2fs.so.2 (0x40014000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x40026000) libuuid.so.1 => /lib/libuuid.so.1 (0x40028000) libc.so.6 => /lib/libc.so.6 (0x4002c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Tous les fichiers ? droite sont n?cessaires. Le fichier peut en r?alit? ?tre un lien symbolique.
Notez que certaines biblioth?ques sont assez grosses et ne tiendront pas facilement sur votre syst?me racine. Par exemple, la libc.so cit?e pr?c?demment fait environ 4 m?ga-octets. Vous devrez probablement nettoyer les biblioth?ques avant de les copier sur votre syst?me racine. Reportez-vous ? la Section?8, ??R?duire la taille du syst?me racine?? pour plus d'informations.
Il faut ?galement inclure dans /lib un chargeur pour les biblioth?ques. Il s'agira soit de ld.so (pour les biblioth?ques a.out), soit de ld-linux.so (pour les biblioth?ques ELF). Les versions r?centes de ldd vous indiquent de quel chargeur vous avez besoin, comme dans l'exemple ci-dessus, mais de plus anciennes versions ne le font pas forc?ment. Si vous ne savez pas duquel vous avez besoin, utilisez la commande file sur la biblioth?que. Par exemple?:
% file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped
Le mot QMAGIC indique que 4.7.2 est pour les biblioth?ques a.out, et ELF que 5.4.33 et 2.1.1 sont pour les ELF.
Copiez le ou les chargeurs dont vous avez besoin sur le syst?me racine que vous ?tes en train de construire. Les biblioth?ques et chargeurs doivent ?tre test?s attentivement avec les ex?cutables inclus. Si le noyau ne peut charger une biblioth?que n?cessaire, il s'arr?tera en g?n?ral brutalement, sans message d'erreur.
Votre syst?me peut utiliser des biblioth?ques charg?es dynamiquement mais invisibles pour ldd. Si vous ne les incluez pas, vous risquez de ne pas pouvoir vous connecter ou utiliser votre disquette d'amorce.
Si votre syst?me utilise PAM (Pluggable Authentication Modules, soit Modules Externes d'authentification), tenez-en compte dans la construction de votre disque d'amorce, sans quoi vous ne pourrez pas vous connecter. En quelques mots, PAM est une m?thode modulaire sophistiqu?e pour authentifier les utilisateurs et contr?ler leur acc?s aux services. Pour d?terminer simplement si votre syst?me utilise PAM, cherchez dans le r?pertoire /etc de votre disque dur un fichier pam.conf ou un r?pertoire pam.d?; si l'un des deux existe, vous devez pr?voir un minimum de support pour PAM. (Vous pouvez aussi lancer ldd sur votre ex?cutable login ; si la sortie contient libpam.so, vous avez besoin de PAM.)
Heureusement, la s?curit? est rarement un probl?me avec les disques d'amorce ?tant donn? que quiconque avec un acc?s physique ? la machine peut en g?n?ral faire tout ce qu'il veut dessus. Vous pouvez donc compl?tement d?sactiver PAM en cr?ant un fichier /etc/pam.conf simple sur votre syst?me racine contenant?:
OTHER auth optional /lib/security/pam_permit.so OTHER account optional /lib/security/pam_permit.so OTHER password optional /lib/security/pam_permit.so OTHER session optional /lib/security/pam_permit.so
Copiez ?galement le fichier /lib/security/pam_permit.so sur votre syst?me racine. Cette biblioth?que ne fait qu'environ 8?ko et ne co?te donc pas grand chose.
Notez bien que cette configuration donne ? tous un acc?s complet aux fichiers et services de votre machine. Si vous avez des imp?ratifs de s?curit? sur votre disque d'amorce pour une raison ou une autre, vous devrez copier une partie, voire l'ensemble de la configuration PAM de votre disque dur vers le syst?me racine. Lisez bien attentivement la documentation de PAM, et copiez toutes les biblioth?ques n?cessaires depuis /lib/security vers votre syst?me racine.
Vous devez aussi inclure /lib/libpam.so sur le disque racine. Mais vous le saviez d?j? puisque vous avez lanc? ldd sur /bin/login qui vous a montr? cette d?pendance.
Si vous utilisez glibc (appel?e aussi libc6), vous devez tenir compte des services de noms sans quoi vous ne pourrez pas vous connecter. Le fichier /etc/nsswitch.conf contr?le les recherches dans les bases de donn?es pour divers services. Si vous ne comptez pas acc?der ? des services du r?seau (tels que des recherches DNS ou NIS), un simple fichier nsswitch.conf comme suit suffit?:
passwd: files shadow: files group: files hosts: files services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files automount: files aliases: files netgroup: files publickey: files
Ce fichier sp?cifie que tous les services ne sont fournis que par des fichiers locaux de la machine. Vous devez aussi inclure le fichier /lib/libnss_files.so.X, o? X vaut 1 pour une glibc 2.0 et 2 pour une glibc 2.1. Cette biblioth?que est charg?e dynamiquement pour g?rer les recherches dans les fichiers.
Si vous comptez acc?der au r?seau depuis votre disque d'amorce, vous pouvez cr?er un fichier nsswitch.conf plus complet. Voir la page de manuel de nsswitch pour plus de d?tails. N'oubliez pas d'inclure un fichier /lib/libnss_service.so.1 pour chaque service que vous ajoutez.
Si votre noyau est modulaire, vous devez savoir quels modules vous voudrez charger depuis votre disque d'amorce une fois le syst?me d?marr?. Il vous faudra inclure les modules ftape et zftape si vos sauvegardes sont sur bandes, les modules pour p?riph?riques SCSI si vous en avez, et ?ventuellement ceux pour le support PPP ou SLIP si vous souhaitez acc?der au r?seau en cas d'urgence.
Ces modules doivent ?tre plac?s dans /lib/modules. Vous devez aussi inclure insmod, rmmod et lsmod. Si vous souhaitez charger les modules automatiquement, prenez modprobe, depmod et swapout. Et si vous utilisez kerneld, prenez le avec son fichier de configuration /etc/conf.modules.
N?anmoins, le principal avantage d'utiliser les modules est que vous pouvez d?placer les modules non essentiels sur un disque utilitaire et ne les charger que lorsque c'est n?cessaire, ce qui prend alors moins de place sur le disque racine. Si vous devez g?rer beaucoup de p?riph?riques, il vaut mieux proc?der de cette mani?re plut?t que de construire un seul gros noyau contenant tous les gestionnaires.
Attention, pour d?marrer avec un syst?me de fichiers ext2 compress?, vous devez avoir inclus le support pour disque m?moire et ext2. Ils ne peuvent ?tre install?s par des modules.
Certains programmes, tels que login, se plaignent si le fichier /var/run/utmp et le r?pertoire /var/log n'existent pas.
Donc?:
mkdir -p /mnt/var/{log,run}
touch /mnt/var/run/utmp
Enfin, apr?s avoir install? toutes les biblioth?ques dont vous avez besoin, lancez ldconfig pour refabriquer /etc/ld.so.cache sur le syst?me racine. Le cache indique au loader o? trouver les biblioth?ques. Pour refabriquer ld.so.cache, lancez la commande suivante?:
ldconfig -r /mnt
Une fois le syst?me racine construit, d?montez-le, copiez-le dans un fichier et compressez-le?:
umount /mnt dd if=P?RIPH?RIQUE bs=1k | gzip -v9 > rootfs.gz
Une fois cette ?tape effectu?e, vous obtenez un fichier rootfs.gz contenant votre syst?me racine compress?. V?rifiez sa taille pour ?tre s?r qu'il tient sur une disquette. Si ?a n'est pas le cas vous devrez y retourner pour supprimer certains fichiers. La Section?8, ??R?duire la taille du syst?me racine?? vous donnera des astuces pour y arriver.
Vous avez maintenant un syst?me de fichiers racine complet et compress?. La prochaine ?tape consiste ? construire ou choisir un noyau. Dans la plupart des cas, vous pouvez copier votre noyau courant et d?marrer la disquette avec. Cependant dans certains cas, vous voudrez peut-?tre construire un noyau diff?rent.
La taille peut jouer. Si vous faites une disquette d'amorce/racine unique, le noyau va ?tre un des plus gros fichiers de la disquette et il vaut donc mieux essayer d'en r?duire la taille au maximum. Pour ce faire, construisez-le avec le minimum de fonctionnalit?s n?cessaires au bon fonctionnement du syst?me cible. Cela implique de retirer tout ce dont vous n'avez pas besoin. Le support r?seau est un bon candidat, tout comme le support pour tout type de disque et de p?riph?rique dont vous n'avez pas l'usage sur un syst?me lanc? par disquette. Comme indiqu? pr?c?demment, votre noyau doit contenir le support pour disque m?moire et ext2.
Une fois les fonctionnalit?s n?cessaires d?termin?es, vous devez trouver ce qu'il faut rajouter. L'utilisation la plus courante d'une disquette d'amorce/racine est l'examen et la r?cup?ration d'un syst?me racine endommag?, ce qui peut n?cessiter le support de certaines fonctionnalit?s suppl?mentaires dans le noyau. Par exemple, si vos sauvegardes sont stock?es sur bande avec ftape pour g?rer l'acc?s au lecteur de bande et que vous perdez votre disque racine ainsi que ceux contenant ftape, vous ne pourrez plus r?cup?rer vos sauvegardes depuis les bandes. Vous devrez r?installer Linux, rapatrier et r?installer ftape, puis essayer de lire vos sauvegardes.
Ce que je veux dire, c'est que quelle que soit la m?thode d'E/S que vous utilisez au niveau du noyau pour les sauvegardes, elle doit se trouver aussi sur votre noyau d'amorce.
La proc?dure de construction d'un noyau est d?crite dans la documentation fournie avec celui-ci. C'est assez simple ? suivre, vous pouvez donc commencer par faire un tour dans /usr/src/linux. Si vous avez des probl?mes pour construire un noyau, vous ne devriez probablement pas essayer de faire de disquette d'amorce/racine de toute mani?re. Pensez ? compresser le noyau avec make zImage.
Vous avez maintenant un noyau et un syst?me de fichiers compress?. Si vous construisez un disque d'amorce/racine unique, v?rifiez que leur taille ne d?passe pas celle du disque. Si vous avez un d?coupage sur deux disquettes, v?rifiez que la taille du syst?me racine ne d?passe pas celle de la disquette.
Il vous faut choisir entre l'utilisation de LILO pour d?marrer le noyau du disque d'amorce et la copie du noyau directement sur la disquette d'amorce, sans LILO. L'avantage de LILO est la possibilit? de passer des param?tres au noyau, ce qui peut ?tre n?cessaire pour initialiser votre mat?riel (Regardez le fichier /etc/lilo.conf sur votre machine. S'il existe et contient une ligne du type append=…, vous avez besoin de passer des param?tres). Son inconv?nient est une complexit? accrue dans la construction du disque d'amorce, ainsi qu'une place occup?e sur la disquette l?g?rement plus importante. Vous devrez configurer un petit syst?me de fichier s?par? que nous appellerons le syst?me noyau, o? vous transf?rerez le noyau ainsi que quelques autres fichiers n?cessaires ? LILO.
Si vous d?cidez d'utiliser LILO, continuez la lecture ; si par contre vous voulez copier le noyau directement sur la disquette, passez directement ? la Section?6.2, ??Transfert du noyau sans LILO??.
La premi?re chose ? faire est de v?rifier que vous avez une version r?cente de LILO. Ensuite, il faut cr?er un petit fichier de configuration pour LILO. Il doit ressembler ??:
boot =/dev/fd0 install =/boot/boot.b map =/boot/map read-write backup =/dev/null compact image = NOYAU label = Bootdisk root =/dev/fd0
Pour la signification de ces param?tres, voir la documentation utilisateur de LILO. Il vous faudra probablement aussi rajouter une ligne append=… ? ce fichier, comme dans le fichier /etc/lilo.conf de votre disque dur.
Sauvez-le en tant que bdlilo.conf.
Vous devez maintenant cr?er un petit syst?me de fichier, que nous appellerons syst?me noyau, pour le diff?rencier du syst?me racine.
Tout d'abord, calculez la taille que celui-ci doit faire. Prenez la taille de votre noyau en blocs (la taille donn?e par ls -s NOYAU et ajoutez 50. Cinquante blocs sont en gros la taille n?cessaire aux i-n?uds ainsi qu'aux autres fichiers. Vous pouvez calculer le nombre exact si vous voulez, ou simplement utiliser 50. Si vous cr?ez un ensemble avec deux disques, vous pouvez carr?ment surestimer l'espace n?cessaire puisque le disque n'est utilis? que par le noyau de toute mani?re. Appelez ce nombre BLOCS_NOYAU.
Mettez une disquette dans le lecteur (pour simplifier, supposons qu'il s'agit de /dev/fd0) et cr?ez le syst?me noyau ext2 dessus?:
mke2fs -N 24 -m 0 /dev/fd0 BLOCS_NOYAU
L'option -N 24 indique que l'on souhaite 24 i-n?uds, ce qui est largement suffisant pour ce syst?me de fichiers. Ensuite, montez le syst?me, supprimez le r?pertoire lost+found et cr?ez des r?pertoire dev et boot pour LILO?:
mount /dev/fd0 /mnt
rm -rf /mnt/lost+found
mkdir /mnt/{boot,dev}
Ensuite, cr?ez les p?riph?riques /dev/null et /dev/fd0. Au lieu de chercher leurs num?ros de p?riph?riques, vous pouvez simplement les copier depuis votre disque dur avec l'option -R?:
cp -R /dev/{null,fd0} /mnt/dev
LILO a besoin d'une copie de son chargeur d'amorce, boot.b, que vous pouvez trouver sur votre disque dur. Il est d'habitude dans le r?pertoire /boot.
cp /boot/boot.b /mnt/boot
Enfin, copiez le fichier de configuration de LILO que vous avez cr?? pr?c?demment avec votre noyau. Les deux peuvent ?tre plac?s dans le r?pertoire racine?:
cp bdlilo.conf NOYAU /mnt
Tout ce dont LILO a besoin est maintenant sur le syst?me noyau, vous pouvez donc le lancer. Le param?tre -r de LILO est utilis? pour installer le chargeur sur une autre racine que la courante?:
lilo -v -C bdlilo.conf -r /mnt
LILO doit s'ex?cuter sans erreur, apr?s quoi le syst?me noyau devrait ressembler ??:
total 361 1 -rw-r--r-- 1 root root 176 Jan 10 07:22 bdlilo.conf 1 drwxr-xr-x 2 root root 1024 Jan 10 07:23 boot/ 1 drwxr-xr-x 2 root root 1024 Jan 10 07:22 dev/ 358 -rw-r--r-- 1 root root 362707 Jan 10 07:23 vmlinuz boot: total 8 4 -rw-r--r-- 1 root root 3708 Jan 10 07:22 boot.b 4 -rw------- 1 root root 3584 Jan 10 07:23 map dev: total 0 0 brw-r----- 1 root root 2, 0 Jan 10 07:22 fd0 0 crw-r--r-- 1 root root 1, 3 Jan 10 07:22 null
Ne vous inqui?tez pas si la taille des fichiers n'est pas exactement la m?me que la votre.
Laissez maintenant le disque dans le lecteur et allez ? la Section?6.3, ??Mise en place du mot disque m?moire??.
Si vous n'utilisez pas LILO, transf?rez le noyau sur le disque d'amorce avec la commande dd?:
% dd if=NOYAU of=/dev/fd0 bs=1k 353+1 records in 353+1 records out
Dans ce exemple, dd a ?crit 353 enregistrements complets, plus 1 partiel, ce qui signifie que le noyau occupe les 354 premiers blocs de la disquette. Appelez ce nombre BLOCS_NOYAU et pensez ? l'utiliser dans la section suivante.
Enfin, indiquez que le p?riph?rique racine doit ?tre la disquette elle-m?me, et que le noyau doit ?tre charg? en lecture/?criture.
rdev /dev/fd0 /dev/fd0
rdev -R /dev/fd0 0
Attention ? bien utiliser un -R majuscule dans la seconde commande rdev.
Le mot disque m?moire situ? dans l'image du noyau permet de sp?cifier o? se trouve le syst?me racine, ainsi que d'autres options. Le mot peut ?tre lu et modifi? avec la commande rdev, et sa valeur s'interpr?te de la mani?re suivante?:
bits 0-10?: D?calage jusqu'au d?but du disque m?moire, en blocs
de 1024 octets
bits 11-13?: Inutilis?
bit 14?: Drapeau indiquant s'il faut charger un disque m?moire
bit 15?: Drapeau pour faire une pause avant de charger le
syst?me racine
Si le bit 15 est mis ? 1, le noyau vous demandera au moment du d?marrage de changer la disquette dans le lecteur. C'est n?cessaire si vous utilisez un ensemble de deux disques. Il y a deux cas, suivant que vous cr?ez une disquette d'amorce/racine unique ou un ensemble ??amorce+racine?? s?par?.
Si vous cr?ez un disque unique, le syst?me racine compress? sera plac? juste apr?s le noyau, et donc le d?calage sera le premier bloc libre (qui doit ?tre au m?me endroit que BLOCS_NOYAU). Le bit 14 sera mis ? 1, et le bit 15 ? 0.
Supposons par exemple que vous construisiez un disque unique dont le syst?me racine doit commencer au bloc 253 (valeur d?cimale). Le mot disque m?moire devrait valoir 253 (toujours en d?cimal) avec le bit 14 ? 1 et le bit 15 ? 0. Pour calculer sa valeur vous pouvez simplement additionner les valeurs d?cimales. 253 + (2^14) = 253 + 16384 = 16637. Si vous ne comprenez pas d'o? sort ce nombre, entrez-le dans une calculatrice scientifique et convertissez-le en binaire.
Si vous cr?ez par contre un ensemble de deux disques, le syst?me racine sera au bloc z?ro du second disque, et le d?calage sera donc z?ro. Le bit 14 sera mis ? 1 tout comme le bit 15. La valeur d?cimale sera donc de 2^14 + 2^15 = 49152 dans ce cas.
Apr?s avoir bien calcul? la valeur du mot disque m?moire, ?crivez-le avec rdev -r. Attention ? utiliser la valeur d?cimale. Si vous utilisez LILO, l'argument de rdev doit ?tre le chemin d'acc?s au noyau mont?, c'est ? dire /mnt/vmlinuz?; si vous avez copi? le noyau avec dd, utilisez ? la place le nom du p?riph?rique du lecteur de disquette (c'est ? dire /dev/fd0).
rdev -r NOYAU_OU_LECTEUR_DE_DISQUETTE VALEUR
Si vous avez utilis? LILO, d?montez maintenant la disquette.
Ne croyez pas ce que dit la page de manuel de rdev/ramsize ? propos de la taille du disque m?moire. Cette page est obsol?te. ? partir du noyau 2.0, le mot disque m?moire ne d?termine plus la taille du disque m?moire?; au lieu de cela, ce mot est d?termin? ? partir du tableau donn? au d?but de cette section. Pour une explication d?taill?e, voir le fichier de documentation ramdisk.txt ou http://www.tamacom.com/tour/linux/S/9075.html.
La derni?re ?tape concerne le transfert du syst?me racine.
Si le syst?me racine doit ?tre plac? sur le m?me disque que le noyau, transf?rez-le avec dd et son option seek, qui indique combien de blocs il faut sauter?:
dd if=rootfs.gz of=/dev/fd0 bs=1k seek=BLOCS_NOYAU
Si le syst?me racine doit ?tre plac? sur un second disque, sortez la premi?re disquette, mettez la seconde dans le disque, puis transf?rez-y le syst?me racine?:
dd if=rootfs.gz of=/dev/fd0 bs=1k
Bravo, vous avez fini?! Vous devriez toujours tester un disque d'amorce avant de le ranger jusqu'? la prochaine urgence?! S'il n'arrive pas ? d?marrer, continuez ? lire.
Lorsque l'on cr?e des disques d'amorce, les premiers essais n'amorcent souvent pas la machine. En g?n?ral, la m?thode utilis?e consiste ? construire le disque racine ? partir de composants de votre syst?me actuel pour essayer d'obtenir que le syst?me de la disquette commence ? afficher des messages sur la console. Une fois qu'il a commenc? ? vous parler, la bataille est presque gagn?e puisque vous pouvez voir de quoi il se plaint et corriger les probl?mes un ? un jusqu'? ce que le syst?me fonctionne normalement. Si le syst?me s'arr?te brutalement sans explication, il peut ?tre difficile d'en trouver la cause. Pour que le syst?me en arrive au point o? il commence ? afficher ses messages, un certain nombre de composants doivent ?tre pr?sents et bien configur?s. La proc?dure ? suivre pour d?terminer les raisons du silence de votre syst?me est la suivante?:
Si vous voyez un message du genre?:
Kernel panic: VFS: Unable to mount root fs on XX:YY
C'est un probl?me courant qui ne peut avoir que quelques causes. Tout d'abord, cherchez le p?riph?rique XX:YY dans la liste de codes des p?riph?riques dans le fichier /usr/src/linux/Documentation/devices.txt?; s'agit-il du bon p?riph?rique racine?? Si ce n'est pas le bon, vous n'avez sans doute pas lanc? rdev -R, ou alors sur la mauvaise image. Si le code du p?riph?rique est correct, v?rifiez attentivement quels gestionnaires de p?riph?riques ont ?t? compil?s dans le noyau. Assurez-vous que le support pour le lecteur de disquettes, les disques m?moires et le syst?me de fichiers ext2 sont bien inclus?;
Si vous voyez plusieurs erreurs du genre?:
end_request: I/O error, dev 01:00 (ramdisk), sector NNN
Il s'agit d'une erreur d'E/S du p?riph?rique disque m?moire, la plupart du temps ? cause du noyau qui tente d'?crire au-del? de la fin du p?riph?rique. Le disque m?moire est trop petit pour supporter la totalit? du syst?me de fichiers. V?rifiez les message d'initialisation du noyau pour trouver une ligne du type?:
Ramdisk driver initialized?: 16 ramdisks of 4096K size
V?rifiez la taille du syst?me de fichiers compress?. Si le disque m?moire n'est pas assez grand, il faut l'agrandir.
V?rifiez que le disque racine contient bien les r?pertoires que vous croyez. Il est facile de se tromper de niveau d'arborescence et de se retrouver avec quelque chose du genre /racine/bin au lieu de /bin sur votre disquette racine?;
V?rifiez qu'il y a un /lib/libc.so avec le m?me lien que celui pr?sent dans le r?pertoire /lib de votre disque dur?;
V?rifiez que tous les liens symboliques du r?pertoire /dev de votre syst?me actuel existent ?galement sur le syst?me racine, quand ces liens pointent vers des p?riph?riques inclus sur la disquette racine. Notamment, les liens vers /dev/console sont souvent essentiels?;
V?rifiez que vous avez inclus les fichiers /dev/tty1, /dev/null, /dev/zero, /dev/mem, /dev/ram et /dev/kmem?;
V?rifiez la configuration de votre noyau?: le support pour toutes les ressources n?cessaires jusqu'? l'invite de connexion doit ?tre directement inclus et non pas sous forme de modules. Le support des disques m?moires et de ext2 doivent donc ?tre pr?sents dans le noyau?;
V?rifiez que le p?riph?rique racine et le disque m?moire sont correctement configur?s dans le noyau.
Une fois ces points g?n?raux v?rifi?s, vous pouvez vous pencher sur ces points plus pr?cis?:
V?rifiez qu'init est pr?sent en tant que /sbin/init ou /bin/init, et qu'il est ex?cutable?;
Lancez ldd init pour v?rifier les biblioth?ques d'init. Il n'y a normalement que libc.so, mais sait-on jamais… V?rifiez que vous avez bien inclus les biblioth?ques et leurs chargeurs?;
V?rifiez que vous avez le bon chargeur pour vos biblioth?ques?: ld.so pour a.out et ld-linux.so pour ELF?;
V?rifiez le contenu de /etc/inittab sur la disquette d'amorce et ses ?ventuels appels ? getty (ou tout autre programme du genre, tel que agetty, mgetty ou getty_ps).
Comparez-le plusieurs fois avec l'inittab de votre disque dur. V?rifiez les pages de manuel du programme que vous utilisez pour ?tre s?r de sa coh?rence. inittab peut ?tre le morceau le plus difficile en raison de sa syntaxe et du contenu qui d?pendent de la version d'init utilis?e et de la nature du syst?me. La seule mani?re de s'en d?barrasser, c'est de lire les pages de manuel d'init et inittab afin de comprendre exactement ce que fait le syst?me lorsqu'il d?marre. V?rifiez que /etc/inittab contient bien une entr?e concernant l'initialisation du syst?me. Elle doit contenir une commande lan?ant le script d'initialisation du syst?me, qui doit lui aussi exister?;
Comme pour init, lancez ldd sur votre getty pour voir ses besoins, et v?rifiez que les biblioth?ques et chargeurs n?cessaires sont pr?sents sur le syst?me racine?;
Assurez-vous d'avoir inclus un ex?cutable de shell (par exemple bash ou ash) capable de faire tourner tous vos scripts rc?;
Si vous avez un fichier /etc/ld.so.cache sur le disque de secours, refabriquez-le (le fichier, pas le disque).
Si init d?marre et que vous obtenez un message du type?:
Id xxx respawning too fast: disabled for 5 minutes
cela provient d'init et indique g?n?ralement que getty ou login meurt aussit?t apr?s son lancement.
V?rifiez les ex?cutables de getty et login, et les biblioth?ques dont ils d?pendent. V?rifiez que les appels depuis /etc/inittab sont corrects. Si vous obtenez d'?tranges messages de getty, cela peut signifier que les arguments dans /etc/inittab sont faux. Les options des programmes getty sont variables?; on signale que les arguments sont parfois incompatibles entre deux versions d'agetty.
Si vous obtenez une invite de login et qu'apr?s avoir entr? un nom de login valide, le syst?me vous en demande un autre aussit?t, le probl?me peut venir de PAM ou NSS. Lisez la Section?4.4, ??Utilisation de PAM et NSS??. Le probl?me peut aussi venir du fait que vous utilisez les mots de passe cach?s et que vous n'avez pas copi? le fichier /etc/shadow sur votre disque d'amorce.
Si vous essayez de lancer un ex?cutable tel que df pr?sent sur votre disque de secours, mais n'obtenez qu'un message du type?: df: not found, v?rifiez deux chose?: (1) que le r?pertoire contenant le binaire est bien dans votre PATH, et (2) que vous avez les biblioth?ques (et chargeurs) n?cessaires au programme.
Parfois un syst?me racine est trop gros pour tenir sur une disquette, m?me apr?s compression. Voici quelques techniques pour r?duire sa taille, cit?es par ordre d?croissant d'efficacit??:
Par d?faut, les disquettes sont format?es ? 1440?ko, mais des formats plus denses existent. fdformat peut formater des disques avec les tailles suivantes?: 1600, 1680, 1722, 1743, 1760, 1840 et 1920. Lisez la page de manuel de fdformat ainsi que /usr/src/linux/Documentation/devices.txt.
Mais quelles densit?s/g?om?tries votre machine peut-elle supporter?? Voici des r?ponses (l?g?rement modifi?es) de Alain Knaff, l'auteur de fdutils.
| ? | C'est plus le probl?me du BIOS que du format physique des disquettes. Si le BIOS d?cide que tous les num?ros de secteurs sup?rieurs ? 18 sont non valides, alors on ne peut pas y faire grand chose. En effet, ? moins de d?sassembler le BIOS, le seul moyen de trouver la bonne valeur est en t?tonnant. Quoiqu'il en soit, si le BIOS supporte les disques ED (grande densit??: 36 secteurs/piste et 2,88?Mo), il y a des chances pour que les disquettes de 1722?ko soient ?galement support?es. Les disquettes super-format?es avec plus de 21 secteurs par piste ne sont vraisemblablement pas amor?ables?: en fait, celles qui utilisent des secteurs de tailles non standard (1024?octets par secteur au lieu de 512, par exemple) ne sont vraisemblablement pas d?marrables. Il devrait ?tre malgr? tout possible d'?crire un programme de d?marrage du secteur pour contourner cela. Si je me souviens bien, le programme DOS 2m en est capable, ainsi que les programmes XDF de OS/2. Certains BIOS clament artificiellement que tout secteur sup?rieur ? 18 est certainement d?fectueux. Comme les disquettes de 1722?ko utilisent des secteurs sup?rieurs ? 21, elles ne devraient pas ?tre amor?ables. Le meilleur moyen de tester serait de formater une disquette DOS ou syslinux en 1722?ko et de la rendre amor?able. Si vous utilisez LILO, n'utilisez pas l'option linear (sans quoi LILO penserait que le format par d?faut de la disquette est de 18 secteurs par piste, et la disquette ne d?marrera pas m?me si le BIOS la supporte). | ? |
| --Alain Knaff | ? | |
La plupart de l'espace disque d'un syst?me de fichiers est consomm? par des utilitaires indispensables tels que cat, chmod, cp, dd, df, et c?tera. Le projet BusyBox permet de fournir un remplacement ? ces utilitaires indispensables. BusyBox fournit un seul fichier monolithique ex?cutable, /bin/busybox, d'environ 150?ko, qui impl?mente les fonctions de ces utilitaires. Vous pouvez cr?er des liens symboliques ? partir de diff?rents programmes vers cet ex?cutable?; busybox voit comment il a ?t? appel? et invoque le code correcte. BusyBox inclut m?me un shell basique. BusyBox est disponible sous forme de paquetage binaire pour plusieurs distributions, et le code source est disponible sur le site de BusyBox.
Certains shells populaires sous Linux, tels que bash et tcsh, sont gros et n?cessitent de nombreuses biblioth?ques. Si vous n'utilisez pas le shell de BusyBox, vous devriez quand m?me songer ? remplacer le shell. D'autres options plus l?g?res existent, telles que ash, lsh, kiss et smash, bien plus petites et n?cessitant peu (ou pas) de biblioth?ques. La plupart de ces shells de remplacement sont disponibles sur http://www.ibiblio.org/pub/Linux/system/shells/. V?rifiez que le shell que vous utilisez sait faire tourner les commandes de tous les scripts rc que vous incluez sur le disque d'amorce.
De nombreux binaires et biblioth?ques restent non nettoy?s (ils contiennent les informations pour le d?boguage). Si vous lancez file sur ces fichiers, il vous indiquera not stripped si c'est le cas. Lorsque vous copiez des binaires sur votre syst?me racine, une bonne habitude ? prendre est d'utiliser?:
objcopy --strip-all ORIGINE DESTINATION
Et lorsque vous copiez des biblioth?ques?:
objcopy --strip-debug ORIGINE DESTINATION
Si certains binaires ne sont pas imm?diatement n?cessaires au d?marrage ou au login, vous pouvez les d?placer sur un disque utilitaire. Lisez la Section?9.2, ??Construire un disque utilitaire?? pour les d?tails. Vous pouvez aussi d?placer les modules vers un disque utilitaire.
La Section?4, ??Construire un syst?me racine?? explique comment construire un syst?me racine compress? charg? en m?moire lors du d?marrage du syst?me. Cette m?thode qui pr?sente beaucoup d'avantages est souvent utilis?e. N?anmoins, certains syst?mes poss?dant peu de m?moire ne peuvent se permettre d'utiliser de la RAM pour un disque m?moire, et doivent donc utiliser un syst?me racine mont? directement depuis la disquette.
De tels syst?mes sont en r?alit? plus faciles ? construire que les syst?mes racines compress?s car on peut les cr?er directement sur disquette plut?t que de passer par un autre p?riph?rique interm?diaire, et ne n?cessitent pas de compression. Nous indiquerons les diff?rences de proc?dure par rapports aux instructions pr?c?dentes. Si vous choisissez cette m?thode, rappelez-vous bien que vous aurez beaucoup moins d'espace disque disponible.
Calculez la taille disponible pour les fichiers racines.
Si vous construisez un syst?me d'amorce/racine unique, vous devez arriver ? faire tenir tous les blocs du noyau ainsi que tous les blocs du syst?me racine sur un seul disque.
? l'aide de mke2fs, cr?ez un syst?me racine de la bonne taille sur une disquette.
Remplissez le syst?me comme d?crit pr?c?demment.
Apr?s cela, d?montez le syst?me et transf?rez-le vers un fichier sur le disque, mais sans le compresser.
Transf?rez le noyau sur une disquette comme d?crit pr?c?demment. Lorsque vous calculerez le mot disque m?moire, mettez le bit 14 ? 0 pour indiquer que le syst?me racine ne doit pas ?tre charg? en m?moire. Lancez la commande rdev indiqu?e.
Transf?rez le syst?me racine comme pr?c?demment.
Vous pouvez prendre quelques raccourcis. Si vous construisez un syst?me avec deux disques, vous pouvez construire le syst?me de fichiers racine directement sur le second disque au lieu de le transf?rer sur le disque dur puis ? nouveau sur la disquette. De m?me, si vous construisez un disque d'amorce/racine unique et si vous utilisez LILO, vous pouvez cr?er un syst?me de fichiers unique sur toute la disquette contenant le noyau, les fichiers de LILO et les fichiers racine, avant de simplement lancer LILO comme derni?re ?tape.
Construire un disque utilitaire est assez facile?: cr?ez simplement un syst?me de fichiers sur une disquette format?e et copiez les fichiers dessus. Pour l'utiliser depuis un disque d'amorce, montez-le manuellement une fois le syst?me d?marr?.
Les instructions pr?c?dentes indiquent qu'un disque utilitaire peut ?tre mont? en tant que /usr. Dans ce cas, les binaires doivent ?tre plac?s dans un r?pertoire /bin du disque utilitaire, afin d'?tre r?f?renc?s si vous mettez /usr/bin dans votre chemin. Les biblioth?ques suppl?mentaires n?cessaires aux binaires sont ? placer dans /lib sur le disque utilitaire.
Il faut penser ? plusieurs choses lorsque l'on cr?e un disque utilitaire?:
Ne placez pas de binaires ou de biblioth?ques essentiels pour le syst?me sur le disque utilitaire, puisqu'il ne sera montable qu'une fois le syst?me d?marr??;
Vous ne pouvez pas utiliser de lecteur de disquette et de lecteur de bande sur port disquette en m?me temps. Ce qui veut dire que si votre lecteur de bande est sur un port disquette, vous ne pourrez pas y acc?der tant que votre disque utilitaire sera mont??;
L'acc?s aux fichiers du disque utilitaire sera lent.
L' Annexe?D, Exemple de contenu des r?pertoires d'un disque utilitaire montre ce que peut contenir un tel disque. Voici quelques id?es de fichiers qui peuvent vous ?tre utiles?: programmes de diagnostic et de manipulation de disques (format, fdisk) et syst?mes de fichiers (mke2fs, fsck, debugfs, isofs.o), un ?diteur de texte l?ger (elvis, jove), des utilitaires de compression et archivage (gzip, tar, cpio, afio), de gestion de bande (mt, ftmt, tob, taper), de communication (ppp.o, slip.o, minicom) et de gestion de p?riph?riques (setserial, mknod).
Vous avez peut-?tre remarqu? comme les disques d'amorce utilis?s par les principales distributions comme Slackware, RedHat ou Debian paraissent plus sophistiqu?s que ce que d?crit ce document. Les disques d'amorce de distribution professionnelles se basent sur les m?mes principes que ceux d?crits ici, mais utilisent diverses astuces pour satisfaire aux besoins suppl?mentaires de leurs disques d'amorce. Tout d'abord, ils doivent pouvoir fonctionner sur une grande vari?t? de mat?riel et doivent donc pouvoir interagir avec l'utilisateur et charger divers gestionnaires de p?riph?riques. Ensuite, ils doivent pouvoir travailler avec beaucoup d'options d'installation diff?rentes, de mani?re plus ou moins automatique. Enfin, les disques d'amorce des distributions combinent en g?n?ral la possibilit? d'installer le syst?me avec celle de le r?parer.
Certains disques d'amorce utilisent une fonctionnalit? appel?e initrd (initial ramdisk, ou disque m?moire initial). Cette fonctionnalit? est apparue aux alentours de la version 2.0.x et permet au noyau de d?marrer en deux ?tapes. Quand le noyau commence son d?marrage, il charge une premi?re image de disque m?moire depuis le disque d'amorce. Ce disque m?moire initial est un syst?me racine contenant un programme ? ex?cuter avant le chargement du vrai syst?me racine. Ce programme inspecte en g?n?ral l'environnement et/ou demande ? l'utilisateur de s?lectionner diverses options de d?marrage, telles que le p?riph?rique sur lequel on va trouver le vrai disque racine. En g?n?ral, il charge des modules suppl?mentaires ne faisant pas partie du noyau. Quand ce programme initial se termine, le noyau charge la vraie image racine et continue son d?marrage normalement. Pour plus d'information sur initrd, lisez /usr/src/linux/Documentation/initrd.txt et ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz.
Vous trouverez ci-dessous des r?sum?s sur la mani?re dont les disques d'installation de chaque distribution semblent marcher, apr?s ?tude de leurs syst?mes de fichiers et/ou code source. Nous ne garantissons pas l'exactitude des informations, ni qu'elles n'ont pas chang? depuis les versions indiqu?es.
Slackware (v.3.1) utilise un d?marrage direct avec LILO semblable ? la description de la Section?6.1, ??Transfert du noyau avec LILO??. Le disque d'amorce de la Slackware affiche un message de d?marrage (Welcome to the Slackware Linux bootkernel disk!) en utilisant le param?tre message de LILO. Ce message indique ? l'utilisateur d'entrer une ligne de param?tres de d?marrage si n?cessaire. Apr?s le d?marrage, un syst?me racine est charg? depuis une seconde disquette. L'utilisateur lance un script de configuration (setup) qui d?marre l'installation. Au lieu d'utiliser un noyau modulaire, Slackware fournit un certain nombre de noyaux diff?rents, et c'est ? l'utilisateur de fournir celui qui correspond ? sa configuration mat?rielle.
RedHat (v.4.0) utilise aussi un d?marrage avec LILO. Il charge un disque m?moire compress? sur le premier disque, qui fait tourner une version personnalis?e d'init. Ce programme demande quels gestionnaires utiliser puis charge des fichiers suppl?mentaires depuis un autre disque si n?cessaire.
Debian (v.1.3) poss?de probablement le groupe de disques d'installation le plus sophistiqu?. Il utilise le chargeur SYSLINUX pour choisir diff?rentes options de chargement, puis utilise une image initrd pour guider l'utilisateur dans l'installation. Il semble utiliser ? la fois des versions personnalis?es d'init et du shell.
Cette section a ?t? ?crite avec la contribution de Rizwan Mohammed Darwe (rizwan CHEZ clovertechnologies POINT com).
Cette section suppose que vous ?tes familier avec la proc?dure et le fonctionnement de l'?criture de CD sous Linux. Consid?rez ceci comme une r?f?rence rapide pour inclure la possibilit? de d?marrer ? partir du CD que vous allez graver. La CD-Writing-HOWTO devrait vous donner plus de d?tails.
? partir des plates-formes x86, plusieurs BIOS ont commenc? ? accepter les CD amor?ables. Les rustines pour mkisofs sont bas?s sur le standard appel? ??El Torito??. En deux mots, El Torito est une sp?cification qui indique le format qu'un CD doit respecter, afin de pouvoir d?marrer directement sur celui-ci.
La sp?cification ??El Torito?? dit que tout lecteur de CD-ROM devrait fonctionner (SCSI ou EIDE) si le BIOS est compatible El Torito. Sauf que cela n'a ?t? test? qu'avec des lecteurs EIDE, car aucun contr?leur SCSI test? ne semble supporter El Torito. La carte m?re doit imp?rativement ?tre compatible El Torito. Comment savoir si votre carte m?re est compatible El Torito?? Eh bien les cartes m?res compatibles offrent le choix de d?marrer ? partir du disque dur, de la disquette, du r?seau ou du CD-ROM.
Le standard El Torito fonctionne en faisant appara?tre le lecteur de CD, ? travers les appels BIOS, comme un lecteur de disquettes normal. De cette fa?on vous mettez simplement n'importe quelle image de la taille d'une disquette (exactement 1440?ko pour une disquette de 1,44?Mo) quelque part sur le syst?me de fichiers ISO. Dans l'en-t?te du syst?me de fichiers ISO vous placez un pointeur vers cette image. Le BIOS va alors r?cup?rer cette image ? partir du CD et agit comme si il d?marrait ? partir du lecteur de disquettes. Cela permet ? une disquette de d?marrage LILO, par exemple, d'?tre utilis?e simplement comme si c'?tait une vraie disquette.
En g?n?ral, les 1,44 (ou 2,88 si support?s) premiers Mo du CD-ROM contiennent une image de la disquette cr??e par vous. Cette image est trait?e comme une disquette par le BIOS et d?marr?e par celui-ci. (Avec comme cons?quence, lors du d?marrage ? partir de la disquette virtuelle, que votre lecteur original A: (/dev/fd0) ne sera plus accessible, mais vous pouvez toujours essayer /dev/fd1).
D'abord, il faut cr?er un fichier, disons boot.img, qui est l'image exacte de la disquette que vous voulez d?marrer via le CD-ROM. Ce doit ?tre une disquette de d?marrage 1,44?Mo. La commande suivante permet de la cr?er?:
dd if=/dev/fd0 of=boot.img bs=10k count=144
en supposant que la disquette se trouve dans le lecteur A:.
Placez cette image quelque part dans la hi?rarchie qui sera la source du syst?me de fichiers iso9660. C'est une bonne id?e de mettre tous les fichiers relatifs au d?marrage dans leur propre r?pertoire (boot/ sous la racine du syst?me de fichiers iso9660, par exemple).
Avertissement?: Votre disquette de d?marrage doit charger un initial ramdisk via LILO, et pas le disque m?moire du noyau?! Ceci est du au fait que lorsque le noyau d?marre, l'?mulation BIOS du CD comme disquette est limit?e et va ?chouer. LILO va charger le disque m?moire en utilisant les appels disques BIOS, et l'?mulation fonctionne normalement.
La sp?cification El Torito requiert ?galement la cr?ation d'un catalogue de d?marrage. Il s'agit d'un fichier de 2048?octets qui n'a pas grand int?r?t ? part qu'il est n?cessaire. La correction r?alis?e par l'auteur de mkisofs permet la cr?ation automatique de ce catalogue de d?marrage, mais vous devez sp?cifier o? ce catalogue doit se trouver dans la hi?rarchie du syst?me de fichiers iso9660. En g?n?ral c'est une bonne id?e de le mettre au m?me endroit que l'image de d?marrage, et de l'appeler boot.catalog. La commande pour cr?er le syst?me de fichiers iso9660 dans le fichier bootcd.iso est alors?:
mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .
L'option -b pr?cise l'image de d?marrage ? utiliser (notez que le chemin est relatif ? la racine du disque iso9660), et l'option -c est pour le fichier catalogue de d?marrage. L'option -r va mettre les propri?taires et droits des fichiers appropri?s (voir la page de manuel de mkisofs). Le ??.?? ? la fin dit de prendre comme source le r?pertoire courant.
Maintenant gravez le CD avec la commande habituelle et le voil? pr?t ? d?marrer.
La premi?re chose ? faire est de r?cup?rer une image amor?able utilis?e par le CD source. Mais vous ne pouvez pas vous contenter de monter le CD sous Linux et d'utiliser dd pour copier les 1440 premiers kilo-octets vers une disquette ou un fichier boot.img. Au lieu de cela, vous devez simplement amorcer votre syst?me ? partir du CD-ROM source.
Lorsque vous d?marrez le CD Win98 vous vous retrouvez ? l'invite A:, qui est en fait le disque m?moire. Et D: ou Z: o? se trouvent tous les fichiers d'installation. En utilisant la commande DOS diskcopy, copiez l'image A: dans le vrai lecteur de disquettes, qui est maintenant B:. La commande suivante permet de le faire?:
diskcopy A: B:
Cela fonctionne exactement comme dd. Vous pouvez essayer de d?marrer ? partir de ce disque fra?chement cr?? pour tester si le processus de d?marrage est similaire ? celui du CD source. Ensuite faites le dd habituel de cette disquette vers un fichier comme boot.img et le reste sera comme d'habitude.
| Q?: | Je d?marre depuis mes disques d'amorce/racine et rien ne se passe. Que faire?? |
| R?: | Voir la section pr?c?dente Section?7, ??En cas de probl?me, ou l'agonie de la d?faite??. |
| Q?: | Comment fonctionne le disque d'amorce Slackware/Debian/RedHat?? |
| R?: | Voir la section pr?c?dente Section?10, ??La m?thode des pros??.
|
| Q?: | Comment utiliser des disquettes de haute densit? (> 1440?ko)?? Comment savoir quelles densit?s fonctionneront avec mon lecteur de disquette?? |
| R?: | Voir dans la section pr?c?dente Section?8.1, ??Augmentez la densit? du disque?? les commentaires de Alain Knaff ? ce sujet. C'est la r?ponse la plus cr?dible que je connaisse. |
| Q?: | Comment augmenter la taille de mes disques m?moire?? |
| R?: | Cela devrait ?tre mieux expliqu? dans le texte, mais je met une r?ponse ici pour l'instant. D'abord, n'essayez pas d'utiliser rdev ou ramsize pour faire cela, quoi qu'en disent leurs documentations. Le mot disque m?moire ne d?termine plus la taille des disques m?moires. Ensuite, gardez ? l'esprit que les disques m?moires sont actuellement dynamiques?; lorsque vous d?finissez la taille d'un disque m?moire vous n'allouez pas de m?moire, vous pr?cisez juste de combien il peut grandir. N'ayez pas peur de choisir une taille inutilement trop grande (par exemple 8 ou m?me 16?Mo). L'espace RAM n'est pas utilis? tant que vous n'en n'avez pas besoin. Vous pouvez d?finir ces limites de plusieurs fa?ons diff?rentes?:
|
| Q?: | Comment faire des CD-ROM amor?ables?? |
| R?: | Voir la section pr?c?dente Section?11, ??Cr?er des CD-ROM amor?ables??. |
| Q?: | Comment faire des disquettes LS-120 amor?ables?? |
| R?: | Comme je n'ai pas de lecteur de disquettes LS-120, les informations qui suivent sont un r?sum? fourni par David Cinege du Linux Router Project. Le LS-120 est un lecteur de disquettes IDE. Il est compatible ? la fois avec les disquettes 3,5?? et les nouvelles disquettes de 120?Mo. Depuis Linux 2.0.31, celles-ci sont compl?tement support?es. Pour ?tre capable de d?marrer ? partir de ces disquettes, vous devez avoir un BIOS qui autorise le LS-120 ? ?tre trait? comme lecteur 0 (alors que les lecteurs IDE commencent normalement ? 80). Si vous n'avez pas le support du BIOS, vous pouvez acheter une petite carte IDE FloppyMAX de Promise Technologies pour combler ce manque. Le chargeur du noyau n'aime pas le LS-120, et meurt instantan?ment. Les disques 2m non plus ne l'aiment pas et ne d?marreront pas. Les disquettes de 1,44 ? 1,74?Mo fonctionnent bien. SYSLINUX fonctionne avec les disquettes de 120?Mo ? partir de la version 1.32. Vous auriez int?r?t ? partitionner la disquette et utiliser ext2 ou minix, au lieu de SYSLINUX, sauf si vous avez besoin d'une compatibilit? MS-DOS. LILO fonctionne bien avec des disquettes de 120?Mo. Voici un lilo.conf simple?:
boot=/dev/hda
compact
disk=/dev/hda bios=0
install=/floppy/boot.b
map=/floppy/map
image=/floppy/linux
label=Linux
append="load_ramdisk=1"
initrd=/floppy/root.bin
ramdisk=8192
La ligne disk=/dev/hda bios=0 est la ruse pour d?marrer ? partir du LS-120. |
| Q?: | Comment faire un disque d'amorce avec un gestionnaire pour XYZ?? |
| R?: | Le plus simple est d'obtenir un noyau Slackware depuis le site miroir de Slackware le plus proche. Les noyaux Slackware sont des noyaux g?n?riques contenant le plus de gestionnaires pour le plus de p?riph?riques diff?rents possibles. Si vous avez un contr?leur SCSI ou IDE, vous avez de bonnes chances de trouver un gestionnaire correspondant dans le noyau Slackware. Allez dans le r?pertoire a1 et s?lectionnez un noyau SCSI ou IDE suivant votre type de contr?leur. V?rifiez dans le fichier xxxxkern.cfg correspondant au noyau choisi qu'il contient bien les gestionnaires que vous voulez. Si c'est le cas, le noyau correspondant devrait pouvoir d?marrer votre ordinateur. R?cup?rez le fichier xxxxkern.tgz et copiez-le sur votre disquette d'amorce comme indiqu? dans la section sur la fabrication des disques d'amorce. Vous devez ensuite v?rifier le p?riph?rique racine indiqu? dans le noyau, en utilisant la commande?: rdev zImage rdev vous montrera alors le p?riph?rique actuellement configur? dans le noyau. Si ce n'est pas celui que vous voulez, utilisez rdev pour le changer. Par exemple, le noyau que j'ai essay? pointait sur /dev/sda2, mais ma partition racine SCSI est sur /dev/sda8. Pour utiliser une disquette racine, vous devrez lancer la commande?: rdev zImage /dev/fd0 Si vous voulez aussi savoir comment configurer un disque racine Slackware, cela d?passe le cadre de ce HOWTO, et je vous sugg?re donc de consulter le Guide d'installation de Linux ou de r?cup?rer la distribution Slackware. Voir l'Annexe?A, Ressources et pointeurs de ce HOWTO. |
| Q?: | Comment mettre ? jour le noyau de ma disquette d'amorce?? |
| R?: | Copiez simplement le noyau sur votre disquette d'amorce ? l'aide de la commande dd s'il s'agit d'une disquette d'amorce sans syst?me de fichier, ou par la commande cp pour un disque d'amorce/racine. Reportez-vous ? la Section?3.1, ??D?marrage?? de ce HOWTO pour les d?tails de cr?ation d'un disque d'amorce. Le processus d?crit s'applique aussi bien ? la mise ? jour d'un noyau sur le disque d'amorce. |
| Q?: | Comment mettre ? jour ma disquette racine avec de nouveaux fichiers?? |
| R?: | Le plus simple est de recopier le syst?me de fichiers depuis le disque racine vers le P?RIPH?RIQUE que vous avez utilis? (comme dans la section pr?c?dente Section?4.2, ??Cr?ation du syst?me de fichiers?? ). Montez ensuite le syst?me de fichiers et modifiez-le. Vous devez vous souvenir d'o? partait votre syst?me racine et du nombre de blocs qu'il occupait?:
dd if=/dev/fd0 bs=1k skip=DEBUTRACINE count=BLOCS | \
gunzip > P?RIPH?RIQUE
mount -t ext2 P?RIPH?RIQUE /mnt
Une fois les modifications effectu?es, recommencez comme pr?c?demment (dans la Section?4.7, ??C'est dans la poche??) et retransf?rez le syst?me racine sur le disque. Vous ne devriez pas avoir ? retransf?rer le noyau ou ? recalculer le mot disque m?moire si vous ne changez pas la position de d?part du nouveau syst?me de fichiers. |
| Q?: | Comment retirer LILO pour pouvoir red?marrer DOS?? |
| R?: | Ce n'est pas r?ellement un probl?me de disque d'amorce, mais il est souvent pos?. Sous Linux, vous pouvez lancer?: /sbin/lilo -u Vous pouvez aussi utiliser la commande dd pour copier la sauvegarde effectu?e par LILO sur le secteur d'amorce. Reportez-vous ? la documentation de LILO si vous voulez essayer. Sous DOS et Windows vous pouvez utiliser la commande DOS?: FDISK /MBR MBR signifie Master Boot Record (Enregistrement d'amorce Ma?tre), et il remplace le secteur de d?marrage avec une version propre du DOS, sans modifier la table de partitions. Certains puristes n'appr?cient pas cette m?thode, mais m?me l'auteur de LILO, Werner Almesberger, le sugg?re. C'est facile et ?a marche. |
| Q?: | Comment puis-je d?marrer si j'ai perdu mon noyau et mon disque d'amorce?? |
| R?: | Si vous n'avez pas de disque d'amorce sous la main, le plus simple est d'obtenir un noyau Slackware pour votre type de contr?leur de disque (IDE ou SCSI) comme d?crit pr?c?demment dans ??Comment faire un disque d'amorce avec un gestionnaire pour XYZ????. Vous pouvez alors d?marrer votre ordinateur avec ce noyau, puis r?parer les dommages ?ventuels. Le noyau que vous r?cup?rerez peut ne pas avoir comme p?riph?rique racine ce que vous souhaitez comme disque et partition. Par exemple, le noyau g?n?rique SCSI de Slackware utilise /dev/sda2 comme p?riph?rique racine, alors que ma partition racine Linux se trouve ?tre /dev/sda8. Dans ce cas il faut changer le p?riph?rique racine. Vous pouvez changer les param?tres de p?riph?rique racine et disque m?moire du noyau m?me si vous n'avez que le noyau, et un autre syst?me d'exploitation tel que DOS. rdev modifie les param?tres du noyau en changeant les valeurs ? un d?calage fix? dans le fichier du noyau, et vous pouvez donc faire de m?me si vous avez un ?diteur hexad?cimal disponible sous quelque syst?me d'exploitation fonctionnant encore ― par exemple, Norton Utilities Disk Editor sous DOS. Vous devez alors v?rifier puis ?ventuellement modifier les valeurs dans le noyau, aux d?calages suivants?: HEX DEC DESCRIPTION 0x01F8 504 Octet de poids faible du mot disque m?moire 0x01F9 505 Octet de poids fort du mot disque m?moire 0x01FC 508 Num?ro mineur du p?riph?rique racine?: voir ci-dessous 0X01FD 509 Num?ro majeur du p?riph?rique racine?: voir ci-dessous L'interpr?tation du mot disque m?moire ?tait d?crite dans la pr?c?dente Section?6.3, ??Mise en place du mot disque m?moire??. Les num?ros majeurs et mineurs de p?riph?rique doivent correspondre au p?riph?rique ? partir duquel le syst?me racine sera mont?. Certaines valeurs utiles parmi lesquelles vous pouvez choisir sont?: DEVICE MAJEUR MINEUR /dev/fd0 2 0 1er lecteur de disquette /dev/hda1 3 1 partition 1 sur le 1er disque IDE /dev/sda1 8 1 partition 1 sur le 1er disque SCSI /dev/sda8 8 8 partition 8 sur le 1er disque SCSI Une fois ces valeurs mises en place, vous pouvez ?crire le fichier sur une disquette en utilisant soit Norton Utilities Disk Editor, soit un programme appel? rawrite.exe. Ce programme est inclus dans toutes les distributions. C'est un programme DOS qui ?crit directement un fichier sur le disque, en commen?ant ? partir du secteur d'amorce, au lieu de l'?crire dans le syst?me de fichiers. Si vous utilisez Norton Utilities, vous devez ?crire le fichier sur un disque physique en commen?ant au d?but du disque. |
| Q?: | Comment faire des copies suppl?mentaires des disquettes d'amorce/racine?? |
| R?: | Les supports magn?tiques se d?t?riorant avec le temps, vous devriez conserver plusieurs copies de votre disque de secours, au cas o? l'original ne serait plus lisible. Le plus simple pour copier une disquette quelle qu'elle soit, y compris une disquette d'amorce ou utilitaire, est d'utiliser la commande dd pour copier le contenu de la disquette originale vers un fichier de votre disque dur, puis de r?utiliser la m?me commande pour recopier le fichier vers une nouvelle disquette. Notez que vous n'avez pas besoin de monter la disquette, et ne devriez pas le faire, car dd utilise l'interface directe du p?riph?rique. Pour copier l'original, entrez la commande?: dd if=NOMP?RIPH?RIQUE of=NOMFICHIER o? NOMP?RIPH?RIQUE est le nom du p?riph?rique du lecteur de disquette et NOMFICHIER le nom du fichier de sortie (sur le disque dur). Ne pas mettre le param?tre count permet ? dd de copier la disquette en entier (2880?blocs en haute densit?). Pour recopier le fichier r?sultant sur une nouvelle disquette, ins?rez celle-ci et entrez la commande inverse?: dd if=NOMFICHIER of=NOMP?RIPH?RIQUE ? noter que la discussion pr?c?dente suppose que vous n'avez qu'un seul lecteur de disquette. Si vous en avez deux du m?me type, vous pouvez copier les disquettes ? l'aide d'une commande du type?: dd if=/dev/fd0 of=/dev/fd1 |
| Q?: | Comment puis-je d?marrer sans avoir ? taper ??ahaxxxx=nn,nn,nn?? ? chaque fois?? |
| R?: | Quand un p?riph?rique disque ne peut pas ?tre d?tect? automatiquement, il faut fournir au noyau une cha?ne de param?tres de commande du p?riph?rique, telle que?: aha152x=0x340,11,3,1 Cette cha?ne peut ?tre fournie de diff?rentes mani?res gr?ce ? LILO?:
Par exemple, une ligne de commande utilisant la cha?ne ci-dessus serait?: zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock Cela passerait la cha?ne de param?tres pour le p?riph?rique tout en demandant au noyau d'utiliser /dev/sda1 comme p?riph?rique racine et de sauvegarder la ligne de commande pour la r?utiliser pour tous les d?marrages futurs. Un exemple de directive APPEND peut ?tre?: APPEND = "aha152x=0x340,11,3,1" Attention, la cha?ne de param?tres ne doit PAS ?tre entour?e de guillemets sur la ligne de commande, mais DOIT l'?tre dans la directive APPEND. Notez aussi que pour que la cha?ne de param?tres soit utilis?e, le noyau doit contenir le gestionnaire pour ce type de disque. Si ce n'est pas le cas, personne n'?coutera la cha?ne de param?tres, et vous devrez reconstruire le noyau pour inclure le gestionnaire requis. Pour plus de d?tails sur la reconstruction du noyau, rendez-vous dans /usr/src/linux et lisez le README, ou lisez la FAQ Linux et le HOWTO Installation. Vous pouvez aussi obtenir un noyau g?n?rique pour votre type de disque et l'installer. Il est fortement recommand? aux lecteurs de lire la documentation de LILO avant de faire des exp?riences d'installation de LILO. Une utilisation imprudente de la directive BOOT peut endommager des partitions. |
| Q?: | Au d?marrage, j'obtiens l'erreur ??A: cannot execute B??. Pourquoi?? |
| R?: | Il existe plusieurs utilitaires qui r?f?rencent en dur le nom d'autres programmes. ?a n'arrive pas tout le temps, mais cela peut expliquer pourquoi un ex?cutable peut ne pas ?tre trouv? sur votre syst?me m?me si vous l'y voyez. Vous pouvez v?rifier si un programme donn? est r?f?renc? en dur dans un autre en utilisant la commande strings et en passant son r?sultat par grep. On trouve comme exemples connus de r?f?rence en dur?:
Pour corriger ces probl?mes, vous pouvez soit d?placer les programmes vers le r?pertoire attendu, soit changer les fichiers de configuration (par exemple inittab) pour r?f?rencer le bon r?pertoire. En cas de doute, mettez les programmes dans le m?me r?pertoire que sur votre disque dur, et utilisez les m?mes fichiers inittab et /etc/rc.d que sur celui-ci. |
| Q?: | Mon noyau g?re les disques m?moires, mais les initialise ? 0?ko |
| R?: | Quand cela arrive, un message du noyau appara?tra au moment du d?marrage, du type?: Ramdisk driver initialized?: 16 ramdisks of 0K size C'est probablement parce que la taille a ?t? fix?e par les param?tres du noyau ? 0 au moment du d?marrage. Cela peut ?tre d? ? un param?tre oubli? dans le fichier de configuration de LILO?: ramdisk= 0 Certaines vieilles distributions l'incluaient dans des exemples de fichiers de configuration de LILO, et servaient ? ?craser les param?tres ant?rieurs du noyau. Si vous trouvez une telle ligne, supprimez-la. Attention, si vous essayez d'utiliser un disque m?moire dont la taille est de 0?ko, le comportement est impr?visible et peut conduire ? une panique (panic) du noyau. |
Lorsque vous r?cup?rez un paquetage, prenez toujours la derni?re version, sauf si vous avez de bonnes raisons pour ne pas le faire.
Ce sont les sources des disques d'amorce des distributions. Merci d'utiliser un site miroir pour r?duire la charge sur ces machines.
En plus des disques d'amorce des distributions, les images de disques de secours suivantes sont disponibles. Sauf pr?cision contraire, elles sont disponibles dans le r?pertoire http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html.
RIP est un syst?me de d?marrage/secours qui existe en plusieurs versions?: une qui va sur une disquette de 1,44?Mo et une qui va sur un CD-ROM. Il supporte les grands fichiers et plusieurs programmes pour la maintenance des disques et le secours. Il supporte ext2, ext3, iso9660, msdos, ntfs, reiserfs, ufs et vfat. RIP est disponible sur http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html?;
tomsrtbt, par Tom Oehser, est un disque d'amorce/racine unique ? base de noyau 2.0, avec de nombreux programmes de support et fonctionnalit?s. Il support IDE, SCSI, les bandes, les adaptateurs r?seaux, PCMCIA et plus encore. Environ 100 programmes utilitaires et autres outils sont inclus, pour r?parer et r?cup?rer les disques. Le paquetage contient aussi des scripts pour d?sassembler et reconstruire les images afin de pouvoir ajouter des compl?ments si n?cessaire?;
rescue02, par John Comyns, est un disque de secours ? base de noyau 1.3.84, qui supporte IDE, Adaptec 1542 et NCR53C7,8xx. Il est ? base de binaires ELF mais contient suffisamment de commandes pour ?tre utilis? sur n'importe quel syst?me. Certains modules peuvent ?tre charg?s apr?s le d?marrage pour d'autres cartes SCSI. Il ne fonctionnera probablement pas sur les syst?mes avec 4?Mo de RAM car il utilise un disque m?moire de 3?Mo?;
resque_disk-2.0.22, par Sergei Viznyuk, est un disque d'amorce/racine complet bas? sur le noyau 2.0.22, comprenant le support pour IDE, de nombreux contr?leurs SCSI, et ELF/a.out. Il contient aussi nombre de modules et d'utilitaires pour r?parer et r?cup?rer un disque dur?;
les images de cramdisk, ? base de noyau 2.0.33, disponibles pour machines ? 4 et 8?Mo de m?moire. Elles contiennent l'?mulation math?matique et le r?seau (PPP et script dialin, NE2000, 3C509), ou le support pour lecteur ZIP sur port parall?le. Ces images de disquettes peuvent d?marrer un 386 avec 4?Mo de RAM. Le support de MSDOS est inclus, ce qui fait que vous pouvez les r?cup?rer sur le r?seau vers une partition DOS.
Plusieurs paquetages de cr?ation de disques de secours existent sur www.ibiblio.org. Vous pr?cisez ? ces paquetages un ensemble de fichiers ? inclure, et le logiciel automatise (? divers degr?s) la cr?ation d'un disque d'amorce. Voir http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html pour plus d'informations. V?rifiez bien les dates des fichiers?: certains paquetages n'ont pas ?t? mis ? jour depuis des ann?es et ne supportent pas la cr?ation d'un syst?me racine compress? sur disque m?moire. ? notre connaissance, Yard est le seul paquetage le permettant.
?crit par Werner Almesberger. Excellent chargeur d'amorce, dont la documentation comprend des informations sur le contenu du secteur d'amorce et les premi?res ?tapes du processus de d?marrage.
Ftp depuis ftp://tsx-11.mit.edu/pub/linux/packages/lilo/. Il est aussi disponible sur Metalab et ses miroirs.
La documentation fournie avec le noyau Linux contient une excellente description de la mani?re dont fonctionne le nouveau code de disque m?moire. Voir /usr/src/linux/Documentation/ramdisk.txt. C'est ?crit par Paul Gortmaker, et cela comprend une section sur la cr?ation d'un disque m?moire compress?.
Pour plus de d?tails sur le processus de d?marrage de Linux, voici quelques pointeurs?:
Le Linux System Administrators' Guide (Guide des Administrateurs Syst?mes Linux) contient une section sur le d?marrage. Voir http://www.traduc.org/docs/guides/lecture/sag/?;
La ??Technical overview?? (Description technique succincte) de LILO http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz d?crit d'une mani?re extr?mement pouss?e le processus de d?marrage, d'un point de vue technique et bas niveau, jusqu'au moment o? le noyau est lanc??;
Le code source est le guide ultime. Ci-dessous se trouvent quelques fichiers du noyau relatifs au processus de d?marrage. Si vous avez le code source du noyau Linux, vous pouvez les trouver sous /usr/src/linux sur votre machine?; sinon, Shigio Yamaguchi <shigio CHEZ wafu POINT netgate POINT net> a un tr?s sympathique navigateur hypertexte pour le noyau ? http://www.tamacom.com/tour/linux/index.html. Voici quelques fichiers correspondants?:
Contient le code assembleur pour le secteur d'amorce.
Contient le code pour d?compresser le noyau.
R?pertoire contenant le code d'initialisation du noyau. setup.c contient le mot disque m?moire.
Contient le gestionnaire de disque m?moire. Les proc?dures rd_load et rd_load_image chargent des blocs depuis un p?riph?rique vers un disque m?moire. La proc?dure identify_ramdisk_image d?termine le type de syst?me de fichiers trouv?, et s'il est compress?.
Les questions sur ces erreurs sont pos?es si souvent sur Usenet que nous les incluons ici en tant que service public. Ce r?sum? est extrait de la Documentation Utilisateur de LILO de Werner Almesberger, disponible sur http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz.
Quand LILO se charge, il affiche le mot LILO. Chaque lettre est imprim?e avant ou apr?s l'ex?cution d'une action sp?cifique. Si LILO ?choue ? un moment donn?, les lettres affich?es jusque l? peuvent ?tre utilis?es pour identifier le probl?me.
Aucun morceau de LILO n'a ?t? charg?. Soit LILO n'est pas install?, soit la partition sur laquelle son secteur d'amorce se trouve n'est pas active.
Le premier morceau du chargeur d'amorce a ?t? charg? et d?marr?, mais il ne peut charger le second morceau. Les codes d'erreur ? deux chiffres indiquent le type de probl?me. (Voir ?galement la section ??Codes d'erreur disque??.) Ce cas indique en g?n?ral une panne de p?riph?rique ou une incoh?rence de g?om?trie (c'est ? dire de mauvais param?tres disques).
Le premier morceau du chargeur d'amorce a pu charger le second morceau, mais n'a pas r?ussi ? l'ex?cuter. Cela peut ?tre caus? par une incoh?rence de g?om?trie ou par le d?placement de /boot/boot.b sans lancer l'installateur de carte.
Le second morceau du chargeur d'amorce a ?t? d?marr?, mais il ne trouve pas la table de descripteurs dans le fichier carte. C'est en g?n?ral d? ? une panne de p?riph?rique ou une incoh?rence de g?om?trie.
Le second morceau du chargeur d'amorce a ?t? charg? ? un adresse incorrecte. C'est en g?n?ral caus? par une subtile incoh?rence de g?om?trie, ou par le d?placement de /boot/boot.b sans lancer l'installateur de carte.
La table de descripteurs est corrompue. Cela peut ?tre d? ? une incoh?rence de g?om?trie ou au d?placement de /boot/map sans lancer l'installateur.
Tous les ?l?ments de LILO ont ?t? correctement charg?s.
Si le BIOS signale une erreur lorsque LILO essaye de charger une image d'amorce, le code d'erreur correspondant est affich?. Ces codes vont de 0x00 ? 0xbb. Reportez-vous au Guide Utilisateur de LILO pour leur explication.
Voici le contenu d'un exemple de syst?me racine et d'une disquette utilitaire.
/: drwx--x--x 2 root root 1024 Nov 1 15:39 bin drwx--x--x 2 root root 4096 Nov 1 15:39 dev drwx--x--x 3 root root 1024 Nov 1 15:39 etc drwx--x--x 4 root root 1024 Nov 1 15:39 lib drwx--x--x 5 root root 1024 Nov 1 15:39 mnt drwx--x--x 2 root root 1024 Nov 1 15:39 proc drwx--x--x 2 root root 1024 Nov 1 15:39 root drwx--x--x 2 root root 1024 Nov 1 15:39 sbin drwx--x--x 2 root root 1024 Nov 1 15:39 tmp drwx--x--x 7 root root 1024 Nov 1 15:39 usr drwx--x--x 5 root root 1024 Nov 1 15:39 var /bin: -rwx--x--x 1 root root 62660 Nov 1 15:39 ash -rwx--x--x 1 root root 9032 Nov 1 15:39 cat -rwx--x--x 1 root root 10276 Nov 1 15:39 chmod -rwx--x--x 1 root root 9592 Nov 1 15:39 chown -rwx--x--x 1 root root 23124 Nov 1 15:39 cp -rwx--x--x 1 root root 23028 Nov 1 15:39 date -rwx--x--x 1 root root 14052 Nov 1 15:39 dd -rwx--x--x 1 root root 14144 Nov 1 15:39 df -rwx--x--x 1 root root 69444 Nov 1 15:39 egrep -rwx--x--x 1 root root 395 Nov 1 15:39 false -rwx--x--x 1 root root 69444 Nov 1 15:39 fgrep -rwx--x--x 1 root root 69444 Nov 1 15:39 grep -rwx--x--x 3 root root 45436 Nov 1 15:39 gunzip -rwx--x--x 3 root root 45436 Nov 1 15:39 gzip -rwx--x--x 1 root root 8008 Nov 1 15:39 hostname -rwx--x--x 1 root root 12736 Nov 1 15:39 ln -rws--x--x 1 root root 15284 Nov 1 15:39 login -rwx--x--x 1 root root 29308 Nov 1 15:39 ls -rwx--x--x 1 root root 8268 Nov 1 15:39 mkdir -rwx--x--x 1 root root 8920 Nov 1 15:39 mknod -rwx--x--x 1 root root 24836 Nov 1 15:39 more -rws--x--x 1 root root 37640 Nov 1 15:39 mount -rwx--x--x 1 root root 12240 Nov 1 15:39 mt -rwx--x--x 1 root root 12932 Nov 1 15:39 mv -r-x--x--x 1 root root 12324 Nov 1 15:39 ps -rwx--x--x 1 root root 5388 Nov 1 15:39 pwd -rwx--x--x 1 root root 10092 Nov 1 15:39 rm lrwxrwxrwx 1 root root 3 Nov 1 15:39 sh -> ash -rwx--x--x 1 root root 25296 Nov 1 15:39 stty -rws--x--x 1 root root 12648 Nov 1 15:39 su -rwx--x--x 1 root root 4444 Nov 1 15:39 sync -rwx--x--x 1 root root 19712 Nov 1 15:39 touch -rwx--x--x 1 root root 395 Nov 1 15:39 true -rws--x--x 1 root root 19084 Nov 1 15:39 umount -rwx--x--x 1 root root 5368 Nov 1 15:39 uname -rwx--x--x 3 root root 45436 Nov 1 15:39 zcat /dev: lrwxrwxrwx 1 root root 6 Nov 1 15:39 cdrom -> cdu31a brw-rw-r-- 1 root root 15, 0 May 5 1998 cdu31a crw------- 1 root root 4, 0 Nov 1 15:29 console crw-rw-rw- 1 root uucp 5, 64 Sep 9 19:46 cua0 crw-rw-rw- 1 root uucp 5, 65 May 5 1998 cua1 crw-rw-rw- 1 root uucp 5, 66 May 5 1998 cua2 crw-rw-rw- 1 root uucp 5, 67 May 5 1998 cua3 brw-rw---- 1 root floppy 2, 0 Aug 8 13:54 fd0 brw-rw---- 1 root floppy 2, 36 Aug 8 13:54 fd0CompaQ brw-rw---- 1 root floppy 2, 84 Aug 8 13:55 fd0D1040 brw-rw---- 1 root floppy 2, 88 Aug 8 13:55 fd0D1120 brw-rw---- 1 root floppy 2, 12 Aug 8 13:54 fd0D360 brw-rw---- 1 root floppy 2, 16 Aug 8 13:54 fd0D720 brw-rw---- 1 root floppy 2, 120 Aug 8 13:55 fd0D800 brw-rw---- 1 root floppy 2, 32 Aug 8 13:54 fd0E2880 brw-rw---- 1 root floppy 2, 104 Aug 8 13:55 fd0E3200 brw-rw---- 1 root floppy 2, 108 Aug 8 13:55 fd0E3520 brw-rw---- 1 root floppy 2, 112 Aug 8 13:55 fd0E3840 brw-rw---- 1 root floppy 2, 28 Aug 8 13:54 fd0H1440 brw-rw---- 1 root floppy 2, 124 Aug 8 13:55 fd0H1600 brw-rw---- 1 root floppy 2, 44 Aug 8 13:55 fd0H1680 brw-rw---- 1 root floppy 2, 60 Aug 8 13:55 fd0H1722 brw-rw---- 1 root floppy 2, 76 Aug 8 13:55 fd0H1743 brw-rw---- 1 root floppy 2, 96 Aug 8 13:55 fd0H1760 brw-rw---- 1 root floppy 2, 116 Aug 8 13:55 fd0H1840 brw-rw---- 1 root floppy 2, 100 Aug 8 13:55 fd0H1920 lrwxrwxrwx 1 root root 7 Nov 1 15:39 fd0H360 -> fd0D360 lrwxrwxrwx 1 root root 7 Nov 1 15:39 fd0H720 -> fd0D720 brw-rw---- 1 root floppy 2, 52 Aug 8 13:55 fd0H820 brw-rw---- 1 root floppy 2, 68 Aug 8 13:55 fd0H830 brw-rw---- 1 root floppy 2, 4 Aug 8 13:54 fd0d360 brw-rw---- 1 root floppy 2, 8 Aug 8 13:54 fd0h1200 brw-rw---- 1 root floppy 2, 40 Aug 8 13:54 fd0h1440 brw-rw---- 1 root floppy 2, 56 Aug 8 13:55 fd0h1476 brw-rw---- 1 root floppy 2, 72 Aug 8 13:55 fd0h1494 brw-rw---- 1 root floppy 2, 92 Aug 8 13:55 fd0h1600 brw-rw---- 1 root floppy 2, 20 Aug 8 13:54 fd0h360 brw-rw---- 1 root floppy 2, 48 Aug 8 13:55 fd0h410 brw-rw---- 1 root floppy 2, 64 Aug 8 13:55 fd0h420 brw-rw---- 1 root floppy 2, 24 Aug 8 13:54 fd0h720 brw-rw---- 1 root floppy 2, 80 Aug 8 13:55 fd0h880 brw-rw---- 1 root disk 3, 0 May 5 1998 hda brw-rw---- 1 root disk 3, 1 May 5 1998 hda1 brw-rw---- 1 root disk 3, 2 May 5 1998 hda2 brw-rw---- 1 root disk 3, 3 May 5 1998 hda3 brw-rw---- 1 root disk 3, 4 May 5 1998 hda4 brw-rw---- 1 root disk 3, 5 May 5 1998 hda5 brw-rw---- 1 root disk 3, 6 May 5 1998 hda6 brw-rw---- 1 root disk 3, 64 May 5 1998 hdb brw-rw---- 1 root disk 3, 65 May 5 1998 hdb1 brw-rw---- 1 root disk 3, 66 May 5 1998 hdb2 brw-rw---- 1 root disk 3, 67 May 5 1998 hdb3 brw-rw---- 1 root disk 3, 68 May 5 1998 hdb4 brw-rw---- 1 root disk 3, 69 May 5 1998 hdb5 brw-rw---- 1 root disk 3, 70 May 5 1998 hdb6 crw-r----- 1 root kmem 1, 2 May 5 1998 kmem crw-r----- 1 root kmem 1, 1 May 5 1998 mem lrwxrwxrwx 1 root root 12 Nov 1 15:39 modem -> ttyS1 lrwxrwxrwx 1 root root 12 Nov 1 15:39 mouse -> psaux crw-rw-rw- 1 root root 1, 3 May 5 1998 null crwxrwxrwx 1 root root 10, 1 Oct 5 20:22 psaux brw-r----- 1 root disk 1, 1 May 5 1998 ram brw-rw---- 1 root disk 1, 0 May 5 1998 ram0 brw-rw---- 1 root disk 1, 1 May 5 1998 ram1 brw-rw---- 1 root disk 1, 2 May 5 1998 ram2 brw-rw---- 1 root disk 1, 3 May 5 1998 ram3 brw-rw---- 1 root disk 1, 4 May 5 1998 ram4 brw-rw---- 1 root disk 1, 5 May 5 1998 ram5 brw-rw---- 1 root disk 1, 6 May 5 1998 ram6 brw-rw---- 1 root disk 1, 7 May 5 1998 ram7 brw-rw---- 1 root disk 1, 8 May 5 1998 ram8 brw-rw---- 1 root disk 1, 9 May 5 1998 ram9 lrwxrwxrwx 1 root root 4 Nov 1 15:39 ramdisk -> ram0 *** Je n'ai inclus de p?riph?riques que pour les partitions IDE que *** j'utilise. Si vous utilisez du SCSI, prenez les p?riph?riques *** /dev/sdXX ? la place. crw------- 1 root root 4, 0 May 5 1998 tty0 crw-w----- 1 root tty 4, 1 Nov 1 15:39 tty1 crw------- 1 root root 4, 2 Nov 1 15:29 tty2 crw------- 1 root root 4, 3 Nov 1 15:29 tty3 crw------- 1 root root 4, 4 Nov 1 15:29 tty4 crw------- 1 root root 4, 5 Nov 1 15:29 tty5 crw------- 1 root root 4, 6 Nov 1 15:29 tty6 crw------- 1 root root 4, 7 May 5 1998 tty7 crw------- 1 root tty 4, 8 May 5 1998 tty8 crw------- 1 root tty 4, 9 May 8 12:57 tty9 crw-rw-rw- 1 root root 4, 65 Nov 1 12:17 ttyS1 crw-rw-rw- 1 root root 1, 5 May 5 1998 zero /etc: -rw------- 1 root root 164 Nov 1 15:39 conf.modules -rw------- 1 root root 668 Nov 1 15:39 fstab -rw------- 1 root root 71 Nov 1 15:39 gettydefs -rw------- 1 root root 389 Nov 1 15:39 group -rw------- 1 root root 413 Nov 1 15:39 inittab -rw------- 1 root root 65 Nov 1 15:39 issue -rw-r--r-- 1 root root 746 Nov 1 15:39 ld.so.cache -rw------- 1 root root 32 Nov 1 15:39 motd -rw------- 1 root root 949 Nov 1 15:39 nsswitch.conf drwx--x--x 2 root root 1024 Nov 1 15:39 pam.d -rw------- 1 root root 139 Nov 1 15:39 passwd -rw------- 1 root root 516 Nov 1 15:39 profile -rwx--x--x 1 root root 387 Nov 1 15:39 rc -rw------- 1 root root 55 Nov 1 15:39 shells -rw------- 1 root root 774 Nov 1 15:39 termcap -rw------- 1 root root 78 Nov 1 15:39 ttytype lrwxrwxrwx 1 root root 15 Nov 1 15:39 utmp -> ../var/run/utmp lrwxrwxrwx 1 root root 15 Nov 1 15:39 wtmp -> ../var/log/wtmp /etc/pam.d: -rw------- 1 root root 356 Nov 1 15:39 other /lib: -rwxr-xr-x 1 root root 45415 Nov 1 15:39 ld-2.0.7.so lrwxrwxrwx 1 root root 11 Nov 1 15:39 ld-linux.so.2 -> ld-2.0.7.so -rwxr-xr-x 1 root root 731548 Nov 1 15:39 libc-2.0.7.so lrwxrwxrwx 1 root root 13 Nov 1 15:39 libc.so.6 -> libc-2.0.7.so lrwxrwxrwx 1 root root 17 Nov 1 15:39 libcom_err.so.2 -> libcom_err.so.2.0 -rwxr-xr-x 1 root root 6209 Nov 1 15:39 libcom_err.so.2.0 -rwxr-xr-x 1 root root 153881 Nov 1 15:39 libcrypt-2.0.7.so lrwxrwxrwx 1 root root 17 Nov 1 15:39 libcrypt.so.1 -> libcrypt-2.0.7.so -rwxr-xr-x 1 root root 12962 Nov 1 15:39 libdl-2.0.7.so lrwxrwxrwx 1 root root 14 Nov 1 15:39 libdl.so.2 -> libdl-2.0.7.so lrwxrwxrwx 1 root root 16 Nov 1 15:39 libext2fs.so.2 -> libext2fs.so.2.4 -rwxr-xr-x 1 root root 81382 Nov 1 15:39 libext2fs.so.2.4 -rwxr-xr-x 1 root root 25222 Nov 1 15:39 libnsl-2.0.7.so lrwxrwxrwx 1 root root 15 Nov 1 15:39 libnsl.so.1 -> libnsl-2.0.7.so -rwx--x--x 1 root root 178336 Nov 1 15:39 libnss_files-2.0.7.so lrwxrwxrwx 1 root root 21 Nov 1 15:39 libnss_files.so.1 -> libnss_files-2.0.7.so lrwxrwxrwx 1 root root 14 Nov 1 15:39 libpam.so.0 -> libpam.so.0.64 -rwxr-xr-x 1 root root 26906 Nov 1 15:39 libpam.so.0.64 lrwxrwxrwx 1 root root 19 Nov 1 15:39 libpam_misc.so.0 -> libpam_misc.so.0.64 -rwxr-xr-x 1 root root 7086 Nov 1 15:39 libpam_misc.so.0.64 -r-xr-xr-x 1 root root 35615 Nov 1 15:39 libproc.so.1.2.6 lrwxrwxrwx 1 root root 15 Nov 1 15:39 libpwdb.so.0 -> libpwdb.so.0.54 -rw-r-r--- 1 root root 121899 Nov 1 15:39 libpwdb.so.0.54 lrwxrwxrwx 1 root root 19 Nov 1 15:39 libtermcap.so.2 -> libtermcap.so.2.0.8 -rwxr-xr-x 1 root root 12041 Nov 1 15:39 libtermcap.so.2.0.8 -rwxr-xr-x 1 root root 12874 Nov 1 15:39 libutil-2.0.7.so lrwxrwxrwx 1 root root 16 Nov 1 15:39 libutil.so.1 -> libutil-2.0.7.so lrwxrwxrwx 1 root root 14 Nov 1 15:39 libuuid.so.1 -> libuuid.so.1.1 -rwxr-xr-x 1 root root 8039 Nov 1 15:39 libuuid.so.1.1 drwx--x--x 3 root root 1024 Nov 1 15:39 modules drwx--x--x 2 root root 1024 Nov 1 15:39 security /lib/modules: drwx--x--x 4 root root 1024 Nov 1 15:39 2.0.35 /lib/modules/2.0.35: drwx--x--x 2 root root 1024 Nov 1 15:39 block drwx--x--x 2 root root 1024 Nov 1 15:39 cdrom /lib/modules/2.0.35/block: drwx------ 1 root root 7156 Nov 1 15:39 loop.o /lib/modules/2.0.35/cdrom: drwx------ 1 root root 24108 Nov 1 15:39 cdu31a.o /lib/security: -rwx--x--x 1 root root 8771 Nov 1 15:39 pam_permit.so *** R?pertoires bases pour les montages /mnt: drwx--x--x 2 root root 1024 Nov 1 15:39 cdrom drwx--x--x 2 root root 1024 Nov 1 15:39 floppy /proc: /root: -rw------- 1 root root 176 Nov 1 15:39 .bashrc -rw------- 1 root root 182 Nov 1 15:39 .cshrc -rwx--x--x 1 root root 455 Nov 1 15:39 .profile -rw------- 1 root root 4014 Nov 1 15:39 .tcshrc /sbin: -rwx--x--x 1 root root 23976 Nov 1 15:39 depmod -rwx--x--x 2 root root 274600 Nov 1 15:39 e2fsck -rwx--x--x 1 root root 41268 Nov 1 15:39 fdisk -rwx--x--x 1 root root 9396 Nov 1 15:39 fsck -rwx--x--x 2 root root 274600 Nov 1 15:39 fsck.ext2 -rwx--x--x 1 root root 29556 Nov 1 15:39 getty -rwx--x--x 1 root root 6620 Nov 1 15:39 halt -rwx--x--x 1 root root 23116 Nov 1 15:39 init -rwx--x--x 1 root root 25612 Nov 1 15:39 insmod -rwx--x--x 1 root root 10368 Nov 1 15:39 kerneld -rwx--x--x 1 root root 110400 Nov 1 15:39 ldconfig -rwx--x--x 1 root root 6108 Nov 1 15:39 lsmod -rwx--x--x 2 root root 17400 Nov 1 15:39 mke2fs -rwx--x--x 1 root root 4072 Nov 1 15:39 mkfs -rwx--x--x 2 root root 17400 Nov 1 15:39 mkfs.ext2 -rwx--x--x 1 root root 5664 Nov 1 15:39 mkswap -rwx--x--x 1 root root 22032 Nov 1 15:39 modprobe lrwxrwxrwx 1 root root 4 Nov 1 15:39 reboot -> halt -rwx--x--x 1 root root 7492 Nov 1 15:39 rmmod -rwx--x--x 1 root root 12932 Nov 1 15:39 shutdown lrwxrwxrwx 1 root root 6 Nov 1 15:39 swapoff -> swapon -rwx--x--x 1 root root 5124 Nov 1 15:39 swapon lrwxrwxrwx 1 root root 4 Nov 1 15:39 telinit -> init -rwx--x--x 1 root root 6944 Nov 1 15:39 update /tmp: /usr: drwx--x--x 2 root root 1024 Nov 1 15:39 bin drwx--x--x 2 root root 1024 Nov 1 15:39 lib drwx--x--x 3 root root 1024 Nov 1 15:39 man drwx--x--x 2 root root 1024 Nov 1 15:39 sbin drwx--x--x 3 root root 1024 Nov 1 15:39 share lrwxrwxrwx 1 root root 10 Nov 1 15:39 tmp -> ../var/tmp /usr/bin: -rwx--x--x 1 root root 37164 Nov 1 15:39 afio -rwx--x--x 1 root root 5044 Nov 1 15:39 chroot -rwx--x--x 1 root root 10656 Nov 1 15:39 cut -rwx--x--x 1 root root 63652 Nov 1 15:39 diff -rwx--x--x 1 root root 12972 Nov 1 15:39 du -rwx--x--x 1 root root 56552 Nov 1 15:39 find -r-x--x--x 1 root root 6280 Nov 1 15:39 free -rwx--x--x 1 root root 7680 Nov 1 15:39 head -rwx--x--x 1 root root 8504 Nov 1 15:39 id -r-sr-xr-x 1 root bin 4200 Nov 1 15:39 passwd -rwx--x--x 1 root root 14856 Nov 1 15:39 tail -rwx--x--x 1 root root 19008 Nov 1 15:39 tr -rwx--x--x 1 root root 7160 Nov 1 15:39 wc -rwx--x--x 1 root root 4412 Nov 1 15:39 whoami /usr/lib: lrwxrwxrwx 1 root root 17 Nov 1 15:39 libncurses.so.4 -> libncurses.so.4.2 -rw-r-r--- 1 root root 260474 Nov 1 15:39 libncurses.so.4.2 /usr/sbin: -r-x--x--x 1 root root 13684 Nov 1 15:39 fuser -rwx--x--x 1 root root 3876 Nov 1 15:39 mklost+found /usr/share: drwx--x--x 4 root root 1024 Nov 1 15:39 terminfo /usr/share/terminfo: drwx--x--x 2 root root 1024 Nov 1 15:39 l drwx--x--x 2 root root 1024 Nov 1 15:39 v /usr/share/terminfo/l: -rw------- 1 root root 1552 Nov 1 15:39 linux -rw------- 1 root root 1516 Nov 1 15:39 linux-m -rw------- 1 root root 1583 Nov 1 15:39 linux-nic /usr/share/terminfo/v: -rw------- 2 root root 1143 Nov 1 15:39 vt100 -rw------- 2 root root 1143 Nov 1 15:39 vt100-am /var: drwx--x--x 2 root root 1024 Nov 1 15:39 log drwx--x--x 2 root root 1024 Nov 1 15:39 run drwx--x--x 2 root root 1024 Nov 1 15:39 tmp /var/log: -rw------- 1 root root 0 Nov 1 15:39 wtmp /var/run: -rw------- 1 root root 0 Nov 1 15:39 utmp /var/tmp:
total 579 -rwxr-xr-x 1 root root 42333 Jul 28 19:05 cpio -rwxr-xr-x 1 root root 32844 Aug 28 19:50 debugfs -rwxr-xr-x 1 root root 103560 Jul 29 21:31 elvis -rwxr-xr-x 1 root root 29536 Jul 28 19:04 fdisk -rw-r-r--- 1 root root 128254 Jul 28 19:03 ftape.o -rwxr-xr-x 1 root root 17564 Jul 25 03:21 ftmt -rwxr-xr-x 1 root root 64161 Jul 29 20:47 grep -rwxr-xr-x 1 root root 45309 Jul 29 20:48 gzip -rwxr-xr-x 1 root root 23560 Jul 28 19:04 insmod -rwxr-xr-x 1 root root 118 Jul 28 19:04 lsmod lrwxrwxrwx 1 root root 5 Jul 28 19:04 mt -> mt-st -rwxr-xr-x 1 root root 9573 Jul 28 19:03 mt-st lrwxrwxrwx 1 root root 6 Jul 28 19:05 rmmod -> insmod -rwxr-xr-x 1 root root 104085 Jul 28 19:05 tar lrwxrwxrwx 1 root root 5 Jul 29 21:35 vi -> elvis
[1] La structure de r?pertoires pr?sent?e ici concerne une disquette racine seule. Les vrais syst?mes Linux ob?issent ? un ensemble de r?gles bien plus complexes et contr?l?es, appel? le Filesystem Hierarchy Standard, pour d?terminer o? les fichiers doivent aller.