buci@math.klte.hu
Ce document d�crit la mani�re de configurer un syst�me sous Linux sans disque dur ni lecteur de disquette. Il peut parfois s'av�rer n�cessaire de faire tourner Linux sur des ordinateurs personnels ("PC") qui ne poss�dent ni disque dur ni lecteur de disquettes. Si on dispose d'un r�seau, d'un autre syst�me sous Unix avec bootp et tftp, d'un serveur NFS et d'un br�leur d'EPROM, alors il est possible de configurer et de faire tourner un syst�me sous Linux sans disque dur ni disquette.
94004531@postoffice.csu.edu.au
/usr/src/linux/README
pour la configuration et la
compilation de nouveaux noyauxTout ce qui est d�crit ici a �t� test� avec la configuration suivante:
L'id�e de base est la suivante: le PC va obtenir son adresse IP du serveur d'amor�age par le protocole bootp, en utilisant 0.0.0.0 comme adresse IP initiale et en obtenant son noyau par le protocole tftp.
Un amor�age � travers des segments (via un routeur) n'est pas un probl�me simple, aussi faut-il mettre � la fois le serveur et la machine sans disque sur le m�me segment de r�seau, ou configurer une adresse UDP d'aide dans votre routeur pointant vers l'adresse du serveur. R�f�rez-vous au manuel de votre routeur pour de plus amples informations sur le sujet.
Pour cela, suivez les �tapes ci-dessous.
Obtenez le paquetage nfsboot (ce paquetage est disponible sur votre site
miroir de Linux pr�f�r� dans le r�pertoire
/pub/Linux/system/Linux-boot
). Il contient une image d'amor�age
pour l'EPROM de la carte wd8013 qui peut �tre br�l�e telle quelle.
Il y a d'autres mani�res de pr�parer le PC:
Ces images contiennent un client bootp et un client tftp. Vous devez �galement pr�parer un noyau pour linux, comportant l'option NFS-root (amor�age par NFS).
Consulter patch(1)
On peut le trouver dans le paquetage
bootpd-2.4.tar.gz
(qui se trouve sur votre site miroir de Linux pr�f�r� dans le r�pertoire
/pub/Linux/system/Network/boot.net
). Chargez le paquetage,
compilez-le et installez-le. Si votre autre syst�me sous Linux se trouve
�tre une distribution Slackware, vous pouvez passer � l'�tape suivante
puisque les distributions standard comportent un bootpd. On peut
d�marrer le d�mon, soit en tapant la commande
bootpd -s
soit en utilisant inetd. Dans ce dernier cas, il vous faut �diter:
# tftp dgram udp wait root /usr/sbin/in.tftpd tftpd /export
# bootps dgram udp wait root /usr/sbin/in.bootpd bootpd
bootps 67/tcp # serveur BOOTP
tftp 69/udp # serveur TFTP
kill -HUP <num�ro d'identification du processus de inetd>.
Tout d'abord, bootpd poss�de un fichier de configuration qui s'appelle bootptab et qui se trouve habituellement dans /etc. Vous devez le modifier en indiquant les adresses IP de votre passerelle, de votre serveur dns, et les adresses ethernet de votre ou vos machines sans disques. Voici un fichier /etc/bootptab d'exemple:
global.prof:\
:sm=255.255.255.0:\
:ds=192.168.1.5:\
:gw=192.168.1.19:\
:ht=ethernet:\
:bf=linux:
machine1:hd=/export/root/machine1:tc=global.prof:ha=0000c0863d7a:ip=192.168.1.140:
machine2:hd=/export/root/machine2:tc=global.prof:ha=0800110244e1:ip=192.168.1.141:
machine3:hd=/export/root/machine3:tc=global.prof:ha=0800110244de:ip=192.168.1.142:
global.prof est un patron g�n�ral pour les entr�es d'h�tes, o�
Apr�s cela, chaque machine doit poss�der sa propre entr�e sur une ligne:
TFTP (Trivial File Transfer Protocol
, ou protocole de transfert
de fichiers banal) est un protocole de transfert de fichiers, comme ftp,
mais il est beaucoup plus facile � programmer dans des m�moires de type
EPROM. On peut utiliser TFTP de deux mani�res:
/export/root/machine1
.
Lorsqu'on utilise tftp s�curis� avec /export comme r�pertoire racine,
alors /export devient / et le champ hd doit �tre /root/machine1
.Il vous faut pour cela, par exemple, les paquetages a, ap, n et x de la distribution Slackware. Il est possible d'installer plus de choses; ce pendant les paquetages ci-dessus suffiront � l'installation d'un terminal X sans disque. Pour l'installation, il vous faut un syst�me sous Linux en �tat de marche. Trouvez un peu d'espace disque sur la machine distante et exportez-le en lecture et en �criture. Montez le r�pertoire export� quelque part (par exemple sur /mnt) sur le syst�me de fichiers du syst�me sous Linux. D�marrez Linux et modifiez l'option de racine dans la configuration; remplacez / par /mnt. Puis configurez les paquetages ci-dessus de mani�re habituelle. Si vous ne souhaitez faire tourner qu'un seul Linux sans disque, il ne vous faut rien modifier d'autre. D'un autre c�t�, si vous pensez utiliser plus d'une machine sans disque, la configuration d�crite ci-dessus ne fonctionnera pas parce que certains fichiers et r�pertoires doivent �tre priv�s pour chaque machine. On peut contourner ce probl�me on d�pla�ant le r�pertoire /usr (il ne contient aucune donn�e personnelle) et ensuite de cr�er un sous-r�pertoire pour chaque machine sans disque. Par exemple, si /export/linux/machine1 est mont� sur /mnt alors la structure des r�pertoires apr�s la configuration initiale ressemblera �:
/export/linux/machine1/bin
/export/linux/machine1/sbin
/export/linux/machine1/lib
/export/linux/machine1/etc
/export/linux/machine1/var
/export/linux/machine1/usr
Apr�s les modifications vous obtiendrez
/export/linux/machine1/bin
/export/linux/machine1/sbin
/export/linux/machine1/lib
/export/linux/machine1/etc
/export/linux/machine1/var
/export/linux/usr
Maintenant cr�ez les sous-r�pertoires pour les autres machines. Supposons pour l'instant que vos machines sans disque s'appellent machine1, machine2, machine3, etc.; vous pouvez alors utiliser le script bash qui suit pour configurer les autres r�pertoires:
cd /export/linux
for x in machine2 machine3; do
mkdir $x; cd $x
(cd ../machine1; tar cf - *) | tar xvf -
done
Puis exportez les r�pertoires qui suivent:
le format de cet exemple est conforme � la syntaxe des exportations de fichiers pour SunOS 4.1.3:
# Ce fichier est /etc/export
# pour des terminaux sous le syst�me Linux distants
# �crit par Buci
# N'�crivez cette ligne qu'une fois
/export/root/usr -access=linuxnet
# N'�crivez ces lignes qu'une fois pour chaque h�te
/export/root/machine1 rw=machine1,root=machine1
/export/root/machine2 rw=machine2,root=machine2
/export/root/machine3 rw=machine3,root=machine3
N'oubliez pas de lancer exportfs -a.
C'est maintenant le moment de configurer le serveur tftp. Si vous n'avez pas besoin de tftp s�curis� alors tout est tr�s simple puisque vos clients peuvent �tre amorc�s depuis le r�pertoire /export.
Si vous utilisez un tftp s�curis� vous pouvez soit mettre en place une structure de r�pertoire /export/linux compl�te sous /tftpboot (en n'utilisant qu'un seul v�ritable noyau et des liens symboliques pour les autres machines), ou laisser le r�pertoire /export jouer le r�le du r�pertoire d'amor�age pour le tftpd s�curis�. Ou encore, si vous disposez d'un r�pertoire tftpboot s�par�, de fa�on similaire, vous n'aurez besoin que d'un seul noyau dans la structure de r�pertoires d'origine, et de liens pour les autres. Vous pouvez obtenir ce r�sultat en tapant ce qui suit:
mkdir -p /tftpboot/export/linux/machine1
cd /tftpboot/export/linux/machine1
cp /export/linux/machine1/<nom du noyau>.
Puis tapez ce qui suit:
mkdir -p /tftpboot/export/linux/machine2
cd ../machine2
ln -s ../machine2/<nom du noyau>
Enfin, il vous faut ins�rer
/sbin/mount nfs_server:/export/linux/usr /usr
� la premi�re ligne de
/export/linux/<machinex>/etc/rc.d/rc.S
o� <machinex> signifie machine1, machine2, etc.
. Je n'ai test� ceci que pour la distribution Slackware 2.3; pour d'autres distributions ou versions les nombres qui suivent peuvent varier:
buci@math.klte.hu
ou � Sebastien.Blondeel@lifl.fr
pour
la traduction fran�aise.
Merci.