NFS-Root Mini-HowTo

par Andreas Kostyrka, andreas@ag.or.at

Version 8, 8 Ao�t 1997
(Adaptation fran�aise par Eric Dumas dumas@Linux.EU.Org). Ce mini HowTo pr�sente comment configurer une station Linux "sans" disque, qui monte sa racine via NFS. La derni�re version de ce mini HowTo peut toujours �tre trouv�e et r�cup�r�e sur le site ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root, ou sur n'importe quel miroir pr�s de chez vous.

1. Copyright

© 1996 Andreas Kostyrka (e9207884@student.tuwien.ac.at ou andreas@ag.or.at)

Sauf indication contraire, les documents HowTo Linux sont copyright�s par leurs auteurs respectifs. Les documents HowTo Linux peuvent �tre reproduits et diffus�s d'une mani�re compl�te ou partielle, sur n'importe quel support, qu'il soit physique ou �lectronique, du moment o� ce copyright se trouve sur toutes les copies. Les diffusions commerciales sont autoris�es et m�me encourag�es. Toutefois, l'auteur aimerait bien �tre averti de ce genre de distributions.

Toute traduction, travail d�riv�, ou travaux plus g�n�raux incluant n'importe quel document HowTo Linux doit �tre prot�g� par ce copyright. De cette mani�re, vous ne pouvez pas cr�er un document d�rivant d'un HowTo et imposer des restrictions suppl�mentaires sur sa distribution. Des exceptions � ces r�gles peuvent �tre accord�es sous certaines conditions. Contactez dans ce cas le coordinateur des HowTo Linux � l'adresse qui vous sera donn�e � la fin de cette section.

En r�sum�, nous souhaitons promouvoir la diffusion de ces informations � travers le maximum de moyens de communications. Toutefois, nous souhaitons absolument conserver un copyright sur ces documents, et nous voulons �tre consult�s pour toute redistribution des HowTos.

Si vous avez des questions, contactez alors Andreas Kostyrka andreas@ag.or.at, l'auteur de ce mini-HOWTO, ou Greg Hankins, le coordinateur des HowTo pour Linux, gregh@sunsite.unc.edu par courrier �lectronique.

1.1 Contributeurs

2. Pr�sentation g�n�rale

En g�n�ral, on peut rencontrer les probl�mes suivants concernant une station de travail :

L'impl�mentation actuelle de NFSROOT dans le noyau Linux (� partir de la version 1.3.7x) autorise les "solutions" suivantes :

Avant de commencer � configurer un environnement sans disque, vous devez d�cider si vous allez amorcer la machine en utilisant LILO ou LOADLIN. L'avantage de les utiliser est la souplesse. L'inconv�nient est la rapidit�. Amorcer un noyau Linux sans LILO est plus rapide.

3. Configurer le serveur

3.1 Compiler les noyaux

Inclure le support RARP dans le noyau du serveur est s�rement une tr�s bonne id�e. Vous devez absolument l'inclure si vous allez amorcer sans donner des param�tres au noyau. D'un autre c�t�, cela ne vous aidera pas vraiment si le client n'est pas sur le m�me sous r�seau que le serveur.

Le noyau de la station de travail doit poss�der les �l�ments suivant au minimum :

Si la station de travail sera amorc�e sans aucun param�tre pass� au noyau, vous devez �galement fixer le p�riph�rique de la racine0:255. Pour faire cela, il suffit de cr�er un fichier de p�riph�rique avec :

mknod /dev/nfsroot b 0 255.

Apr�s avoir cr�e un tel fichier de p�riph�rique, vous pouvez fixer le p�riph�rique racine pour l'image du noyau avec :

rdevimage-noyau /dev/nfsroot.

3.2 Cr�ation du syst�me de fichiers racine

Copier le syst�me de fichiers

Attention : bien ces instructions peuvent tr�s bien fonctionner chez vous, elles ne sont peut �tre pas tr�s bien adapt�es dans un environnement de production. Consultez le mini-HowTo NFS-Root-Client de Ofer Maor (ofer@hadar.co.il) pour une meilleur solution.

Apr�s avoir d�cid� o� placer la racine de l'arborescence, il suffit de la cr�er avec par exemple :

mkdir -p r�pertoire

et

tar cClf / - | tar xpCf r�pertoire -.

Si votre noyau s'amorce sans LILO, alors la racine doit �tre /tftpboot/adresse-IP. Si cela ne vous plait pas, il suffit de le changer dans le fichier Makefile dans les sources du noyau. Recherchez et modifiez la ligne NFS_ROOT = -DNFS_ROOT. Si vous modifiez cela, vous devrez alors recompiler le noyau.

Changer la racine du syst�me de fichiers

Maintenant, supprimez les fichiers inutiles et v�rifiez les scripts situ�s dans /etc/rc.d. Certains points sont vitaux :

Exporter le syst�me de fichiers

Exporter le r�pertoire racine de la station de travail. Consultez la page de manuel exports(5). Vous devriez �galement relancer les d�mons nfsd et mountd apr�s ces modifications. Avec la RedHat, vous pouvez effectuer tr�s simplement cette op�ration en lan�ant /etc/rc.d/init.d/nfs stop puis /etc/rc.d/init.d/nfs start.

Configuration RARP

Configurer le serveur RARP quelque part sur le r�seau. Si vous amorcez sans un param�tre nfsroot, le serveur RARP doit �galement �tre un serveur NFS. En principe, ce sera le cas. Pour cela, vous devrez utiliser un noyau poss�dant le support RARP.

Pour r�aliser cette op�ration, lancez (et ins�rez-le quelque part dans un fichier /etc/rc.d du serveur !) :

/sbin/rarp -s adresse-ip adresse-mat�riel

o�

Par exemple : /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12

Vous pouvez �galement utiliser un nom symbolique � la place de l'adresse IP, du moment o� le serveur est capable de trouver l'adresse IP (fichier /etc/hosts ou r�solution par le DNS).

Configuration de BOOTP

Pour configurer BOOTP, vous devrez �diter le fichier /etc/bootptab. Consultez les pages de manuel bootpd(8) et bootptab(5).

Trouver les adresses mat�rielles

Je ne connais pas l'adresse de la carte ! Comment la trouver ?

4. Amorcer la station de travail

4.1 Utiliser une ROM bootable

Comme je ne l'ai pas utilis� par moi-m�me, je ne peut donc vous donner que les conseils suivants (merci � Christian Leutloff, leutloff@sundancer.tng.oche.de).

4.2 Utiliser simplement une disquette

Si vous avez export� la racine du syst�me de fichier avec un nom correcte et que votre serveur NFS est �galement le serveur RARP (ce qui implique que les deux machines soient sur le m�me sous-r�seau), alors il suffit tout simplement d'amorcer la machine en utilisant un noyau qui aura �t� copi� sur la disquette (par exemple avec cat). Vous devez fixer le p�riph�rique racine dans le noyau � 0:255. Cela suppose au pr�alable que le r�pertoire racine sur le serveur soit /tftpboot/IP-Address (cette valeur peut �tre modif�e en recompilant le noyay).

4.3 Utiliser un bootloader et RARP

Donnez au noyau tous les param�tres n�cessaire lorsque vous souhaitez amorcer la machine, et ajoutez :

nfsroot=adresse-ip-serveur:/chemin d'acc�s

o� adresse-ip-serveur est l'adresse IP du serveur NFS et /chemin d'acc�s est le chemin d'acc�s au r�pertoire racine.

Quelques astuces :

4.4 Utiliser un bootloader sans RARP

En plus de nfsroot, il est n�cessaire de donner en argument au noyau :

nfsaddrs=wst-IP:srv-IP: gw-IP:netm-IP:nommachine

Le noyau va alors configurer eth0 avec les param�tres donn�s :

5. Probl�mes connus

5.1 /sbin/init ne se lance pas

Un probl�me fr�quent avec /sbin/init est que certaines distributions r�centes sont fournies avec une version du programme init dynamiquement li�. Donc, vous devez fournir une configuration correcte concernant le r�pertoire /lib au client. Une solution assez simple consiste � remplacer /sbin/init (pour le client) par un programme statiquement li� "Hello World". De cette mani�re, vous pouvez d�terminer si c'est bien la cause du probl�me, ou bien un probl�me plus grave.

5.2 Probl�mes avec le r�pertoire /dev

Lors de l'amor�age de la machine, si vous obtenez tout un tas de messages d'erreurs concernant les ttys, vous devriez alors lancer un MAKEDEV sur le client dans le r�pertoire /dev. Certaines rumeurs font part que cela ne fonctionne pas avec certains serveurs qui utilisent des num�ros de p�riph�riques cod�s sur 64 bits. Contactez-moi si vous avez ce genre de probl�me. Une solution possible consiste � cr�er un petit disque map� en m�oire (ram disc) contenant le r�pertoire /dev et de r�installer les i-noeuds des p�riph�riques � chaque fois.

6. Pour plus de renseignements...

Vous le trouverez probablement sur le site http://www.linuxhq.com/< dans la partie "patches non-officiels".

Ma clef PGP publique peut �tre consult�e en effectuant un finger � l'adresse andreas@ag.or.at. Il s'agit de :

F1 F7 43 D5 07 C4 6C 87  BF 6B 33 A2 2C EE 5A F9