Disquettes d'amorce Linux
Tom Fawcett (
[email protected])
(traduction : Frank Pavageau,
[email protected])
3.5, Juillet 1999
Ce document d�crit comment d�finir et cr�er vos propres disquettes
d'amorce et racine pour Linux. Ces disquettes peuvent �tre utilis�es
comme disques de secours, ou pour tester de nouveaux composants du
syst�me. 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 de dis�
quettes d'amorce. Si vous souhaitez juste cr�er des disquettes pour
pr�venir les cas urgents, lisez l'annexe "Disques d'amorce pr�fab�
riqu�s".
______________________________________________________________________
Table des mati�res
1. Pr�face
1.1 Notes
1.2 Retours et remerciements
1.3 Politique de distribution
1.4 Notes du traducteur
2. Introduction
3. Disques d'amorce et d�marrage
3.1 D�marrage
3.2 Types de disques
4. Construire un syst�me racine
4.1 Aper�u
4.2 Cr�ation du syst�me de fichiers
4.3 Remplissage du syst�me de fichiers
4.3.1 /dev
4.3.2 /etc
4.3.3 /bin et /sbin
4.3.4 /lib
4.4 Utilisation de PAM et NSS
4.4.1 PAM (Pluggable Authentication Modules)
4.4.2 NSS (Name Service Switch)
4.5 Modules
4.6 Quelques ultimes d�tails
4.7 C'est dans la poche
5. Choisir un noyau
6. Assemblage et fabrication de la ou des disquettes
6.1 Transfert du noyau avec LILO
6.2 Transfert du noyau sans LILO
6.3 Mise en place du mot disque m�moire
6.4 Transfert du syst�me racine
7. En cas de probl�me, ou L'agonie de la d�faite
8. Sujets divers
8.1 R�duire la taille du syst�me racine
8.2 Syst�me racine sans disque m�moire
8.3 Construire un disque utilitaire
9. La m�thode des pros
10. Foire Aux Questions (FAQ)
11. Ressources et pointeurs
11.1 Disques d'amorce pr�fabriqu�s
11.2 Paquetages de secours
11.3 Scripts shell et Graham Chapman
11.4 LILO : le chargeur Linux
11.5 FAQ Linux et HOWTOs
11.6 Utilisation du disque m�moire
11.7 Le processus de d�marrage de Linux
12. Codes d'erreur du d�marrage de LILO
13. Exemple de contenu de r�pertoires sur un disque racine
14. Exemple de contenu des r�pertoires d'un disque utilitaire
______________________________________________________________________
11.. PPrr��ffaaccee
NNoottee :: ccee ddooccuummeenntt ppeeuutt ��ttrree oobbssooll��ttee.. Si la date sur la page de titre
a plus de six mois, v�rifiez la page du Linux Documentation Project
<
http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html> (et sa
traduction fran�aise <
http://www.freenix.fr/linux/HOWTO/Bootdisk-
HOWTO.html>) au cas o� une version plus r�cente s'y trouverait.
Bien que ce document doive �tre lisible dans sa forme texte, il a _b_i_e_n
meilleure allure en PostScript (.ps) ou HTML en raison de la
typographie utilis�e. Nous vous conseillons de choisir une de ces
versions. La version Info est, pour l'instant, tellement mal g�n�r�e
qu'elle en est inutilisable.
11..11.. NNootteess
Graham Chapman (
[email protected]) a �crit le premier Bootdisk-HOWTO
et en a assur� la maintenance jusqu'� la version 3.1. Tom Fawcett
(
[email protected]) 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. Il contient toujours une bonne partie �crite par
Chapman.
Ce document concerne llee nnooyyaauu LLiinnuuxx 22..00 eett lleess vveerrssiioonnss uulltt��rriieeuurreess.
Si vous avez un vieux noyau (1.2.xx ou ant�rieur), veuillez consulter
les versions pr�c�dentes du Bootdisk-HOWTO archiv�es sur la page de
Graham Chapman <
http://www.zeta.org.au/~grahamc/linux.html>.
Les informations contenues dans ce document concerne Linux sur plate-
forme IInntteell. 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 plate-formes, qu'il
nous contacte.
11..22.. RReettoouurrss eett rreemmeerrcciieemmeennttss
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 � 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 ``En cas de probl�me''
d'abord.
11..33.. PPoolliittiiqquuee ddee ddiissttrriibbuuttiioonn
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://metalab.unc.edu/LDP/COPYRIGHT.html>. Please contact the
authors if you are unable to get the license.
This is free documentation. It is distributed in the hope that it
will be useful, but wwiitthhoouutt aannyy wwaarrrraannttyy; without even the implied
warranty of mmeerrcchhaannttaabbiilliittyy or ffiittnneessss ffoorr aa ppaarrttiiccuullaarr ppuurrppoossee.
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://metalab.unc.edu/LDP/COPYRIGHT.html>. Merci de contacter les
auteurs si vous n'arrivez pas � r�cup�rer la licence.
Cette documentation est libre. Elle est distribu�e dans l'espoir
d'�tre utile, mais ssaannss aauuccuunnee ggaarraannttiiee ; sans m�me la garantie
implicite de vvaalleeuurr mmaarrcchhaannddee ou de ccoorrrreessppoonnddrree �� uunn bbuutt ppaarrttiiccuulliieerr.
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.
11..44.. NNootteess dduu ttrraadduucctteeuurr
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-noeud.
� 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.
22.. IInnttrroodduuccttiioonn
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 de
disques d'amorce. Si vous souhaitez juste cr�er des disques pour
pr�venir les cas urgents, il est bbiieenn plus simple d'en r�cup�rer des
pr�fabriqu�s. Lisez l'appendice ``Disques d'amorce pr�fabriqu�s'' ci-
dessous pour savoir o� en trouver.
33.. DDiissqquueess dd''aammoorrccee eett dd��mmaarrrraaggee
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.
33..11.. DD��mmaarrrraaggee
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. Il essaye ensuite de charger et
monter un ssyysstt��mmee ddee ffiicchhiieerrss rraacciinnee depuis un p�riph�rique
quelconque. 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 ddiissqquuee
mm��mmooiirree, 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 plusieurs ordres de
magnitude plus rapide qu'une disquette, et le syst�me est donc
rapide ; deuxi�mement, le noyau peut charger un ssyysstt��mmee ddee ffiicchhiieerrss
ccoommpprreessss�� 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.
A 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. Par contre, 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 _n_i_v_e_a_u _d_'_e_x_�_c_u_t_i_o_n _p_a_r _d_�_f_a_u_t, 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 ttys. 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.
33..22.. TTyyppeess ddee ddiissqquueess
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.
AAmmoorrccee
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).
RRaacciinnee
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.
AAmmoorrccee//rraacciinnee
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.
UUttiilliittaaiirree
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.
44.. CCoonnssttrruuiirree uunn ssyysstt��mmee rraacciinnee
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 _s_y_s_t_�_m_e _r_a_c_i_n_e _c_o_m_p_r_e_s_s_�. 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
``Syst�me racine sans disque m�moire''.
44..11.. AAppeerr��uu
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, etc ;
� Un ensemble minimum de fichiers de configuration : rc, inittab,
fstab, etc ;
� Des p�riph�riques : /dev/hd*, /dev/tty*, /dev/fd0, etc ;
� 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 _c_o_m_p_r_e_s_s_�, 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�gaoctets)
sur une disquette standard de 1440K. 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.
44..22.. CCrr��aattiioonn dduu ssyysstt��mmee ddee ffiicchhiieerrss
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�gaoctets.
Plusieurs solutions s'offrent � vous :
� Utiliser un ddiissqquuee mm��mmooiirree (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�gaoctets) est aussi une bonne solution.
� Utiliser un pp��rriipphh��rriiqquuee ddee bboouuccllee ((llooooppbbaacckk)), 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�gaoctets 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/utils/util-linux/>.
Si vous n'avez pas de p�riph�rique de boucle (/dev/loop0,
/dev/loop1, etc) 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 _n_n_n 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=3000
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�ro pour une
compression maximum.
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-noeuds que par d�faut ; -i 2000 est une bonne valeur qui vous
�vitera de tomber � court d'i-noeuds. Vous pouvez sinon �conomiser des
i-noeuds en supprimant pas mal de fichiers /dev/ inutiles. mke2fs cr�e
par d�faut 360 i-noeuds sur une disquette de 1,44 Mo. Je trouve 120 i-
noeuds largement suffisants sur mon actuelle 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-noeuds par d�faut, mais vous pourrez
quand m�me vouloir r�duire le nombre de fichiers ou augmenter le
nombre d'i-noeuds.
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. 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.
44..33.. RReemmpplliissssaaggee dduu ssyysstt��mmee ddee ffiicchhiieerrss
Voici un minimum raisonnable de r�pertoires � cr�er sur votre syst�me
racine :
� /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.
(La structure de r�pertoires pr�sent�e ici concerne uniquement les
disquettes racines. Les vrais syst�mes Linux ont une politique plus
complexe et disciplin�e, appel�e la Hi�rarchie Standard de Syst�me de
Fichiers (Filesystem Hierarchy Standard), qui d�termine o� les
fichiers doivent se trouver.)
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 autre r�pertoires sont d�crits dans les sections suivantes.
44..33..11.. //ddeevv
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.
_A_t_t_e_n_t_i_o_n _� _b_i_e_n _u_t_i_l_i_s_e_r _u_n _R _e_n _m_a_j_u_s_c_u_l_e _! 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 la commande :
cp -dpR /dev /mnt
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.
A noter qu'un i-noeud est n�cessaire pour chaque fichier de
p�riph�rique, et que les i-noeuds sont parfois une ressource rare,
sp�cialement sur les syst�mes de fichiers sur disquette. Il n'est donc
pas idiot d'enlever tous les fichiers de p�riph�rique dont vous n'avez
pas besoin du r�pertoire /dev de la disquette. 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 cua.
_N_'_o_u_b_l_i_e_z _p_a_s _d_'_i_n_c_l_u_r_e _l_e_s _f_i_c_h_i_e_r_s _s_u_i_v_a_n_t_s _d_a_n_s _l_e _r_�_p_e_r_t_o_i_r_e _:
console, kmem, mem, null, ram, tty1.
44..33..22.. //eettcc
Ce r�pertoire doit contenir un certain nombre de fichiers de
configuration. Sur la plupart des syst�mes, on peut les r�partir en
trois groupes :
1. N�cessaires � tout moment, par exemple rc, fstab, passwd ;
2. Peut-�tre n�cessaires, mais on n'en est pas s�r ;
3. 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 :
1. Ceux que je dois configurer pour un syst�me d'amorce et racine :
a. rc.d/* : scripts de d�marrage du syst�me et de changement de
niveau d'ex�cution ;
b. fstab : liste des syst�mes de fichiers � monter ;
c. inittab : param�tres pour le processus init, le premier � �tre
lanc� au d�marrage.
2. Ceux que je dois nettoyer pour un syst�me d'amorce et racine :
a. passwd : liste des utilisateurs, des r�pertoires utilisateurs,
etc ;
b. group : groupes d'utilisateurs ;
c. shadow : mots de passe cach�s des utilisateurs. Il se peut que
vous n'ayez pas ce fichier ;
d. termcap : la base de donn�es de fonctionnalit�s des terminaux.
Si la s�curit� est importante, passwd et shadow doivent �tre net�
toy�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 ver�
sion 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-console.
3. 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 que ce sont les bons r�pertoires. Il n'est pas r�ellement
n�cessaire de lancer hostname, mais cela donne juste 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 fstab actuel, 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 r�f�rencent des p�riph�riques ttys ou
ttyS � la fin de la ligne. Laissez les ports tty pour pouvoir vous
loguer sur la console.
Un fichier inittab minimal contient cela :
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, etc.
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 la section ``Exemple de contenu des r�pertoires d'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 sure 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.
44..33..33.. //bbiinn eett //ssbbiinn
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'appendice ``Exemple de contenu des r�pertoires d'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 ``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_�_r_i_f_i_e_z _q_u_e _v_o_u_s _m_e_t_t_e_z _l_e_s _p_r_o_g_r_a_m_m_e_s _s_u_i_v_a_n_t_s _: 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.
44..33..44.. //lliibb
Vous mettez dans /lib les biblioth�ques partag�es et 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 _a_s_s_e_z _g_r_o_s_s_e_s et ne tiendront
pas facilement sur votre syst�me racine. Par exemple, la libc.so cit�e
pr�c�demment fait environ 4 m�gas. Vous devrez probablement nettoyer
les biblioth�ques en les copiant sur votre syst�me racine. Reportez-
vous � la section ``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 _a_t_t_e_n_t_i_v_e_m_e_n_t avec les ex�cutables inclus. Si le
noyau ne peut charger une biblioth�que n�cessaire, il s'arr�tera en
g�n�ral net, sans message d'erreur.
44..44.. UUttiilliissaattiioonn ddee PPAAMM eett NNSSSS
Votre syst�me peut utiliser des biblioth�ques charg�es dynamiquement
mais invisible � ldd.
44..44..11.. PPAAMM ((PPlluuggggaabbllee AAuutthheennttiiccaattiioonn MMoodduulleess))
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 loguer. 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� la d�pendance.
44..44..22.. NNSSSS ((NNaammee SSeerrvviiccee SSwwiittcchh))
Si vous utilisez glibc (appel�e aussi libc6), vous devez tenir compte
des services de noms sans quoi vous ne pourrez pas vous loguer. 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 � la machine. Vous devez aussi inclure le fichier
/lib/libnss_files.so.1 qui est charg� 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__s_e_r_v_i_c_e.so.1 pour chaque _s_e_r_v_i_c_e que vous ajoutez.
44..55.. MMoodduulleess
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 � utiliser les modules est que vous
pouvez d�placer les modules non essentiels sur un disque utilitaire et
ne les charger que lorsque 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.
_A_t_t_e_n_t_i_o_n_, _p_o_u_r _d_�_m_a_r_r_e_r _a_v_e_c _u_n _s_y_s_t_�_m_e _d_e _f_i_c_h_i_e_r_s _e_x_t_2 _c_o_m_p_r_e_s_s_�_,
_v_o_u_s _d_e_v_e_z _a_v_o_i_r _i_n_c_l_u_s _l_e _s_u_p_p_o_r_t _p_o_u_r _d_i_s_q_u_e _m_�_m_o_i_r_e _e_t _e_x_t_2_. Ils ne
peuvent �tre install�s par modules.
44..66.. QQuueellqquueess uullttiimmeess dd��ttaaiillss
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 les commandes
suivantes :
chdir /mnt; chroot /mnt /sbin/ldconfig
La commande chroot est n�cessaire car ldconfig reconstruit toujours le
cache pour le syst�me racine courant.
44..77.. CC''eesstt ddaannss llaa ppoocchhee
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 ``R�duire la
taille du syst�me racine'' vous donnera des astuces pour y arriver.
55.. CChhooiissiirr uunn nnooyyaauu
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".
66.. AAsssseemmbbllaaggee eett ffaabbrriiccaattiioonn ddee llaa oouu ddeess ddiissqquueetttteess
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 ssyysstt��mmee nnooyyaauu, 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 ``Transfert du noyau sans LILO''.
66..11.. TTrraannssffeerrtt dduu nnooyyaauu aavveecc LLIILLOO
La premi�re chose � faire est de 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 ssyysstt��mmee nnooyyaauu, 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 -l NOYAU"
divis�e par 1024 et arrondie au chiffre sup�rieur), et ajoutez 50.
Cinquante blocs sont en gros la taille n�cessaire aux i-noeuds 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 -i 8192 -m 0 /dev/fd0 BLOCS_NOYAU
L'option "-i 8192" indique que l'on souhaite un i-noeud pour 8192
octets. 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
``Mise en place du mot disque m�moire''.
66..22.. TTrraannssffeerrtt dduu nnooyyaauu ssaannss LLIILLOO
Si vous n'utilisez _p_a_s 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.
66..33.. MMiissee eenn ppllaaccee dduu mmoott ddiissqquuee mm��mmooiirree
Le mmoott ddiissqquuee mm��mmooiirree 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�.
1. 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 construisez 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.
2. 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_�_c_i_m_a_l_e. Si vous
utilisez LILO, l'argument de rdev doit �tre le _c_h_e_m_i_n _d_'_a_c_c_�_s _a_u _n_o_y_a_u
_m_o_n_t_�, 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.
66..44.. TTrraannssffeerrtt dduu ssyysstt��mmee rraacciinnee
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 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 ! _V_o_u_s _d_e_v_r_i_e_z _t_o_u_j_o_u_r_s _t_e_s_t_e_r _u_n _d_i_s_q_u_e
_d_'_a_m_o_r_c_e _a_v_a_n_t _d_e _l_e _r_a_n_g_e_r _j_u_s_q_u_'_� _l_a _p_r_o_c_h_a_i_n_e _u_r_g_e_n_c_e _! S'il
n'arrive pas � d�marrer, continuez � lire.
77.. EEnn ccaass ddee pprroobbll��mmee,, oouu LL''aaggoonniiee ddee llaa dd��ffaaiittee
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 _X_X_:_Y_Y dans la listes de codes des
p�riph�riques ; 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 le support pour le lecteur de disquettes,
les disques m�moires et le syst�me de fichiers ext2 sont bien inclus ;
� 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 sont vers des p�riph�riques inclus sur la disquette racine.
Notamment, les liens sur /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 login doit �tre
directement inclus et non pas sous forme de modules. _L_e _s_u_p_p_o_r_t _d_e_s
_d_i_s_q_u_e_s _m_�_m_o_i_r_e_s _e_t _d_e _e_x_t_2 _d_o_i_v_e_n_t _d_o_n_c _�_t_r_e _p_r_�_s_e_n_t_s _d_a_n_s _l_e
_n_o_y_a_u ;
� 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 :
1. V�rifiez qu'init est pr�sent en tant que /sbin/init ou /bin/init,
et qu'il est ex�cutable ;
2. 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 ;
3. V�rifiez que vous avez le bon chargeur pour vos biblioth�ques :
ld.so pour a.out et ld-linux.so pour ELF ;
4. 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 ;
5. 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 ;
6. Assurez-vous d'avoir inclus un ex�cutable de shell (par exemple
bash ou ash) capable de faire tourner tous vos scripts rc ;
7. 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 mais vous obtenez un message du type :
Id xxx respawning too fast: disabled for 5 minutes
il 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 ``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.
88.. SSuujjeettss ddiivveerrss
88..11.. RR��dduuiirree llaa ttaaiillllee dduu ssyysstt��mmee rraacciinnee
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� :
AAuuggmmeenntteezz llaa ddeennssiitt�� dduu ddiissqquuee
Par d�faut, les disquettes sont formatt�es � 1440 Ko, mais des
formats plus denses existent. fdformat peut formatter des
disques avec les tailles suivantes : 1600, 1680, 1722, 1743,
1760, 1840 et 1920. La plupart des lecteurs 1440 Ko peuvent
supporter 1722 Ko, et c'est ce que j'utilise toujours pour les
disques d'amorce. Lisez la page de manuel de fdformat ainsi que
/usr/src/linux/Documentation/devices.txt.
CChhaannggeezz ddee sshheellll
Certains shells populaires sous Linux, tels que bash et tcsh,
sont gros et n�cessitent de nombreuses biblioth�ques. 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://metalab.unc.edu/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.
NNeettttooyyeezz lleess bbiibblliiootthh��qquueess eett bbiinnaaiirreess
De nombreux binaires et biblioth�ques restent non nettoy�s (ils
contiennent les informations pour le debogage). 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
DD��ppllaacceezz lleess ffiicchhiieerrss nnoonn eesssseennttiieellss vveerrss uunn ddiissqquuee uuttiilliittaaiirree
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 ``Construire un disque utilitaire''
pour les d�tails. Vous pouvez aussi d�placer les modules vers un
disque utilitaire.
88..22.. SSyysstt��mmee rraacciinnee ssaannss ddiissqquuee mm��mmooiirree
La section ``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 facile � construire que les
syst�mes racines compress�s car on peut les cr�er directement sur
disquette plut�t qu'en passant 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 _b_e_a_u_c_o_u_p _m_o_i_n_s _d_'_e_s_p_a_c_e _d_i_s_q_u_e disponible.
1. 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.
2. A l'aide de mke2fs, cr�ez un syst�me racine de la bonne taille sur
une disquette.
3. Remplissez le syst�me comme d�crit pr�c�demment.
4. Apr�s cela, d�montez le syst�me et transf�rez-le vers un fichier
sur le disque, mais _s_a_n_s _l_e _c_o_m_p_r_e_s_s_e_r.
5. 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.
6. 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 _u_n_i_q_u_e sur
toute la disquette contenant le noyau, les fichiers de LILO et les
fichiers racine, avant de simplement lancer LILO comme derni�re �tape.
88..33.. CCoonnssttrruuiirree uunn ddiissqquuee uuttiilliittaaiirree
Construire un disque utilitaire est assez facile : cr�ez simplement un
syst�me de fichiers sur une disquette formatt�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 :
1. Ne placez pas de binaires ou de biblioth�ques essentiels au syst�me
sur le disque utilitaire, puisqu'il ne sera montable qu'une fois le
syst�me d�marr� ;
2. 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� ;
3. L'acc�s aux fichiers du disque utilitaire sera lent.
L'annexe ``Exemple de contenu de 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, tob, taper), de communication (ppp.o, slip.o,
minicom) et de gestion de p�riph�riques (setseriad, mknod).
99.. LLaa mm��tthhooddee ddeess pprrooss
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 iinniittrrdd
(iinniittiiaall rraammddiisskk, ou ddiissqquuee mm��mmooiirree iinniittiiaall). 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 ``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.
1100.. FFooiirree AAuuxx QQuueessttiioonnss ((FFAAQQ))
QQ.. JJee dd��mmaarrrree ddeeppuuiiss mmeess ddiissqquueess dd''aammoorrccee//rraacciinnee eett rriieenn nnee ssee ppaassssee..
QQuuee ffaaiirree ??
Voir la section pr�c�dente ``En cas de probl�mes''.
QQ.. CCoommmmeenntt ffoonnccttiioonnnnee llee ddiissqquuee dd''aammoorrccee SSllaacckkwwaarree//DDeebbiiaann//RReeddHHaatt ??
Voir la section pr�c�dente ``La m�thode des pros''.
QQ.. CCoommmmeenntt ffaaiirree uunn ddiissqquuee dd''aammoorrccee aavveecc uunn ggeessttiioonnnnaaiirree ppoouurr XXYYZZ ??
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 la section ``R�f�rences'' de ce HOWTO.
QQ.. CCoommmmeenntt mmeettttrree �� jjoouurr llee nnooyyaauu ddee mmaa ddiissqquueettttee dd''aammoorrccee ??
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 ``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.
QQ.. CCoommmmeenntt mmeettttrree �� jjoouurr mmaa ddiissqquueettttee rraacciinnee aavveecc ddee nnoouuvveeaauuxx
ffiicchhiieerrss ??
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 ``Cr�ation du syst�me racine''). 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 ``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.
QQ.. CCoommmmeenntt rreettiirreerr LLIILLOO ppoouurr ppoouuvvooiirr rreedd��mmaarrrreerr DDOOSS ??
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.
QQ.. CCoommmmeenntt ppuuiiss--jjee dd��mmaarrrreerr ssii jj''aaii ppeerrdduu mmoonn nnooyyaauu _e_t mmoonn ddiissqquuee
dd''aammoorrccee ??
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 ``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 un disque physique en
commen�ant au d�but du disque.
QQ.. CCoommmmeenntt ffaaiirree ddeess ccooppiieess ssuuppppll��mmeennttaaiirreess ddeess ddiissqquueetttteess
dd''aammoorrccee//rraacciinnee ??
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 n'est 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
A 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
QQ.. CCoommmmeenntt ppuuiiss--jjee dd��mmaarrrreerr ssaannss aavvooiirr �� ttaappeerr ""aahhaaxxxxxxxx==nnnn,,nnnn,,nnnn"" ��
cchhaaqquuee ffooiiss ??
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 :
� En l'entrant sur la ligne de commande � chaque d�marrage du syst�me
avec LILO. C'est assez ennuyeux ;
� En utilisant le mot cl� "lock" de LILO pour lui faire stocker la
ligne de commande comme ligne de commande par d�faut, ce qui fera
utiliser � LILO les m�mes options � chaque d�marrage ;
� En utilisant la directive append= dans le fichier de configuration
de LILO. Attention � encadrer la cha�ne de param�tres avec des
guillemets.
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'�coute 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, et 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.
QQ.. AAuu dd��mmaarrrraaggee,, jj''oobbttiieennss ll''eerrrreeuurr ""AA:: ccaannnnoott eexxeeccuuttee BB"".. PPoouurrqquuooii ??
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�rence 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 :
� shutdown dans certaines versions r�f�rence /etc/reboot en dur, et
reboot doit donc �tre plac� dans le r�pertoire /etc ;
� init a pos� des probl�mes � au moins une personne, pour qui le
noyau ne trouvait pas init.
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.
QQ.. MMoonn nnooyyaauu gg��rree lleess ddiissqquueess mm��mmooiirreess,, mmaaiiss lleess iinniittiiaalliissee �� 00 KKoo
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.
KK.. RReessssoouurrcceess eett ppooiinntteeuurrss
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.
KK..11.. DDiissqquueess dd''aammoorrccee pprr��ffaabbrriiqquu��ss
Ce sont les sources des disques d'amorce des distributions. _M_e_r_c_i
_d_'_u_t_i_l_i_s_e_r _u_n _s_i_t_e _m_i_r_o_i_r _p_o_u_r _r_�_d_u_i_r_e _l_a _c_h_a_r_g_e _s_u_r _c_e_s _m_a_c_h_i_n_e_s_.
� Disques d'amorce Slackware
<
http://metalab.unc.edu/pub/Linux/distributions/slackware/current/bootdsks.144/>,
disques racines
<
http://metalab.unc.edu/pub/Linux/distributions/slackware/current/rootdsks/>
et sites miroirs Slackware <
http://www.slackware.com/getslack/> ;
� Disques d'amorce RedHat
<
http://metalab.unc.edu/pub/Linux/distributions/redhat/current/i386/images/>
et sites miroirs Red Hat <
http://www.redhat.com/mirrors.html> ;
� Disques d'amorce Debian
<
ftp://ftp.debian.org/pub/debian/dists/stable/main/disks-
i386/current/> et sites miroirs Debian
<
ftp://ftp.debian.org/pub/debian/README.mirrors.html>.
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://metalab.unc.edu/pub/Linux/system/recovery/!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.
<
http://metalab.unc.edu/pub/Linux/system/recovery/images>
KK..22.. PPaaqquueettaaggeess ddee sseeccoouurrss
Plusieurs paquetages de cr�ation de disques de secours existent sur
metalab.unc.edu. 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://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html> pour
plus d'informations. _V_�_r_i_f_i_e_z _b_i_e_n _l_e_s _d_a_t_e_s _d_e_s _f_i_c_h_i_e_r_s : 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. A
notre connaissance, Yard est le seul paquetage le permettant.
KK..33.. SSccrriippttss sshheellll eett GGrraahhaamm CChhaappmmaann
Graham Chapman a �crit un ensemble de scripts pouvant �tre utiles
comme exemple sur la mani�re de cr�er des disques d'amorce. Dans les
pr�c�dentes versions de ce HOWTO, les scripts apparaissaient en
annexe, mais ils ont �t� supprim�s du document et plac�s sur une page
web :
<
http://www.zeta.org.au/~grahamc/linux.html>
Vous pourrez trouver ces scripts utiles, mais si oui, lisez
attentivement les instructions : par exemple, si vous pr�cisez le
mauvais p�riph�rique de pagination, vous verrez votre syst�me racine
se faire compl�tement et d�finitivement effacer. V�rifiez que vous
l'avez bien configur� avant de le lancer !
KK..44.. LLIILLOO :: llee cchhaarrggeeuurr LLiinnuuxx
Ecrit 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.
KK..55.. FFAAQQ LLiinnuuxx eett HHOOWWTTOOss
Ils sont disponibles depuis de nombreuses sources. Jetez un coup
d'oeil au forum Usenet news.answers et comp.os.linux.announce (et
fr.comp.os.linux.annonces) pour une version fran�aise).
La FAQ est disponible sur
<
http://metalab.unc.edu/pub/Linux/docs/faqs/linux-faq> et les HOWTOs
sur <
http://metalab.unc.edu/pub/Linux/docs/HOWTO> (en fran�ais, sur
<
http://www.freenix.fr/linux/HOWTO/>).
La plupart des documentations sur Linux peuvent �tre trouv�es sur la
page principale du Linux Documentation Project
<
http://metalab.unc.edu/LDP/>.
Si vous �tes d�sesp�r�, envoyez un courrier �lectronique � mail-
[email protected] avec le mot "help" dans le message, puis suivez
les instructions.
KK..66.. UUttiilliissaattiioonn dduu ddiissqquuee mm��mmooiirree
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 comprend une section sur la cr�ation d'un
disque m�moire compress�.
KK..77.. LLee pprroocceessssuuss ddee dd��mmaarrrraaggee ddee LLiinnuuxx
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://metalab.unc.edu/LDP/LDP/sag/c1582.html> ;
� La "Technical overview" (Description technique succincte) de LILO
<
http://metalab.unc.edu/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
(
[email protected]) a un tr�s sympathique navigateur
hypertexte pour le noyau � <
http://wafu.netgate.net/linux/>. Voici
quelques fichiers correspondants :
aarrcchh//ii338866//bboooott//bboooottsseecctt..SS,,sseettuupp..SS
Contient le code assembleur pour le secteur d'amorce.
aarrcchh//ii338866//bboooott//ccoommpprreesssseedd//mmiisscc..cc
Contient le code pour d�compresser le noyau.
aarrcchh//ii338866//kkeerrnneell//
R�pertoire contenant le code d'initialisation du noyau. setup.c
contient le mot disque m�moire.
ddrriivveerrss//bblloocckk//rrdd..cc
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 quel type de syst�me de
fichiers est trouv�, et s'il est compress�.
LL.. CCooddeess dd''eerrrreeuurr dduu dd��mmaarrrraaggee ddee LLIILLOO
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://metalab.unc.edu/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.
((rriieenn))
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.
LL 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).
LLII 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.
LLIILL
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.
LLIILL??
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.
LLIILL--
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'installeur.
LLIILLOO
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.
MM.. EExxeemmppllee ddee ccoonntteennuu ddee rr��ppeerrttooiirreess ssuurr uunn ddiissqquuee rraacciinnee
Voici le contenu d'un exemple de syst�me racine et d'une disquette
utilitaire.
R�pertoire racine:
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 110668 Nov 1 15:39 tar
-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 -> ../dev/ttyS1
lrwxrwxrwx 1 root root 12 Nov 1 15:39 mouse -> ../dev/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
*** ld.so.cache est cr�� par ldconfig et garde en cache les
*** emplacements des biblioth�ques. Beaucoup de choses ne
*** fonctionnent pas au d�marrage si ld.so.cache n'est pas l�.
*** Vous pouvez soit le r�g�n�rer apr�s cr�ation du disque d'amorce,
*** soit inclure ldconfig sur le disque d'amorce et le lancer
*** dans un script rc.x pour mettre le cache � jour.
-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:
*** J'ai un syst�me ELF avec glibc qui n�cessite donc le chargeur ld-2.so.
-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:
-rw------- 1 root root 7156 Nov 1 15:39 loop.o
/lib/modules/2.0.35/cdrom:
-rw------- 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 SparQ
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
-rw------- 1 root root 47 Nov 1 15:39 .glintrc
-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:
NN.. EExxeemmppllee ddee ccoonntteennuu ddeess rr��ppeerrttooiirreess dd''uunn ddiissqquuee uuttiilliittaaiirree
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*