andreas@ag.or.at
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.
© 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.
apenwarr@foxnet.net
) :
comment amorcer la machine sans LILO ;ofer@hadar.co.il
) : a écrit un mini-HowTo bien
meilleur pour configurer les stations de travail ne possédant pas de disque ;leutoff@sundancer.tng.oche.de
) : informations
sur netboot.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 :
/tftpboot/
adresse-IP de la machine.).
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.
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 racine à
0: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 :
rdev
image-noyau /dev/nfsroot
.
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.
Maintenant, supprimez les fichiers inutiles et vérifiez les
scripts situés dans /etc/rc.d
. Certains points sont
vitaux :
eth0
soit configuré.
La station de travaille
est lancée avec une interface eth0
au moins configurée
partiellement. Donner comme adresse IP à la station l'adresse
du serveur n'est pas vraiment une chose vraiment intelligente
à faire (comme cela est arrivé une fois à l'auteur lors de ses
essais...).
/etc/fstab
de la
station de travail. Il doit être configuré pour
des systèmes de fichiers nfs.
rc.inet1
sur le
serveur et je me demandais pourquoi la station de travail ne fonctionnait
toujours pas.).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
.
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ù
/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).
Pour configurer BOOTP, vous devrez éditer le fichier /etc/bootptab
.
Consultez les pages de manuel bootpd(8) et bootptab(5).
Je ne connais pas l'adresse de la carte ! Comment la trouver ?
ping
depuis le serveur
sur la station. Regardez enfin le cache ARP en exécutant
/sbin/arp -a
.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
).
netboot
écrit par Gero Kuhlmann,
et qui est disponibles pour Linux, avec des informations supplémentaires.
netboot est récupérable sur les miroirs Linux, ou dans le paquetage
de la Debian (netboot-0.4
).tftpd
sur votre
serveur, mais cela dépend un peu de la manière dont votre bootrom charge
le noyau ;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).
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 :
append=
dans le fichier lilo.conf
.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 :
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.
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.
BOOTP
:
ftp://sunsite.unc.edu/system/Network/admin/bootpc.v045.tgz.
Avec initrd
(inclus dans Linux 2.0), cela devrait fonctionner
assez simplement pour les stations sans disque. Ce démon est en fait
un choix judicieux surtout si vous avez besoin d'une configuration
particulière.
Documentation
des sources du noyau, vous pourrez y trouver
un fichier documentant les systèmes NFS-Root ;
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