Mini Howto Linux pour syst�mes sans lecteur de disque(ttes)

par Robert Nemkin buci@math.klte.hu
Traducteur: S�bastien Blondeel ( sebastien.blondeel@lifl.fr)

v0.0.3 12 Sep 1996
Ce document d�crit la mani�re de configurer un syst�me sous Linux sans disque dur ni lecteur de disquettes. Ses droits appartiennent � Robert Nemkin, et il est plac� sous les termes de la Publique G�n�rale GNU. L'auteur remercie Bela Kis <bkis@cartan.math.klte.hu> pour avoir traduit ce document en anglais. S�bastien Blondeel, <Sebastien.Blondeel@lifl.fr> a traduit ce document en fran�ais.

1. Modifications

2. Comment configurer un syst�me sous Linux sans lecteur de disque(ttes)

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.

3. Consulter �galement les documents suivants:

4. Mat�riel

Tout ce qui est d�crit ici a �t� test� avec la configuration suivante:

5. Id�es fondamentales

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.

5.1 Configurer le PC

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:

Si vous choisissez la deuxi�me option, il faut utiliser la commande dd pour �crire l'image sur la disquette.

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).

Vous pouvez ou non choisir de configurer le support pour p�riph�rique en mode bloc (disque dur ou disquette), mais vous devez configurer le support pour tcp/ip, pour la carte ethernet wd, et pour le syst�me de fichiers NFS. Puis recompilez le noyau de mani�re habituelle.

5.2 Configurer un bootpd sur le serveur

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:

5.3 Configurer le bootpd sur le serveur.

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:

5.4 Comprendre tftp

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:

Comme pratiquement toute installation Unix comporte un serveur tftp, vous n'aurez probablement pas besoin d'installer la votre.

5.5 Configurer un Linux minimal sur le serveur distant.

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:

comme suit
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.

5.6 Configurer le serveur tftp

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>

5.7 Derniers r�glages

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.

6. M�moire et espace disque requis; vitesse

. Je n'ai test� ceci que pour la distribution Slackware 2.3; pour d'autres distributions ou versions les nombres qui suivent peuvent varier:

7. Erreurs possibles

8. Erreurs et d�veloppements possibles de ce document