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