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