Mise en oeuvre d'un terminal X sans disque dur
Précédent |  |

# 5. Permettre aux systèmes de démarrer via le réseau (sur le serveur)

Vérifiez qu'il y a bien des entrées pour tftp et bootps dans le fichier `/etc/inetd.conf`. Voici le mien :

    tftp   dgram   udp wait    nobody  /usr/libexec/tftpd  tftpd
    #
    # Ajout de qui que vous soyez
    bootps  dgram  udp  wait  root  /usr/libexec/bootpd bootpd /etc/bootptab

Si vous devez modifier le fichier `/etc/inetd.conf`, envoyez ensuite un signal `HUP` à inetd. Pour cela, utilisez la commande `ps -ax | grep inetd | grep -v grep` pour connaître le numéro de processus d'inetd. Une fois que vous l'avez, envoyez lui le signal HUP. Cela se fait avec `kill -HUP <pid>`. Cela obligera inetd à relire ses fichiers de configuration.

Vous avez bien noté la valeur de `addr` dans les messages du programme de démarrage sur la machine sans disque ? C'est maintenant que vous allez en avoir besoin.

Ajoutez une entrée à `/etc/bootptab` (vous devrez peut-être créer ce fichier). Voici à quoi elle doit ressembler :

    altair:\
            :ht=ether:\
            :ha=004001432666:\
            :sm=255.255.255.0:\
            :hn:\
            :ds=199.246.76.1:\
            :ip=199.246.76.2:\
            :gw=199.246.76.1:\
            :vm=rfc1048:

Ce qui, ligne par ligne, signifie :

`altair` | nom du système sans disque, sans nom de domaine
`ht=ether` | type matériel ``ethernet''
`ha=004001432666` | adresse matérielle (le nombre que vous avez noté auparavant)
`sm=255.255.255.0` | masque de sous-réseau
`hn` | dit au serveur de donner au client son nom de machine
`ds=199.246.76.1` | dit au client quel est son serveur de noms de domaine
`ip=199.246.76.2` | dit au client quelle est son adresse IP
`gw=199.246.76.1` | dit au client quelle est sa passerelle par défaut
`vm=...` | laissez cela tel que

> Note : Veillez à bien définir les adresses IP, j'ai inventé celles de l'exemple.

Créez le répertoire `/tftpboot` sur le serveur. Il contiendra les fichiers de configuration pour les systèmes sans disque dont ce sera le serveur de démarrage. Ces fichiers s'appelleront `cfg.<ip>`, où <ip> est l'adresse IP de la machine sans disque. Le fichier de configuration pour ``altair'' est `/tftpboot/cfg.199.246.76.2`. Voici son contenu :

    rootfs 199.246.76.1:/DiskLess/rootfs/altair
    hostname altair.kcis.com

La ligne `hostname altair.kcis.com` indique seulement au système sans disque quel est son nom qualifié.

La ligne `rootfs 199.246.76.1:/DiskLess/rootfs/altair` lui dit où est son système de fichiers racine qui sera monté par NFS.

> Note : Ce système de fichiers racine sera monté en lecture seule par NFS.

L'arborescence de la machine sans disque peut ensuite être remontée pour autoriser les opérations de lecture/écriture.

J'utilise mon 386DX-40 comme terminal X dédié.

Voici l'arborescence d'``altair'' :

/
/bin
/etc
/tmp
/sbin
/dev
/dev/fd
/usr
/var
/var/run

Et la liste des fichiers qu'elle contient :

    -r-xr-xr-x  1 root  wheel  779984 Dec 11 23:44 ./kernel
    -r-xr-xr-x  1 root    bin  299008 Dec 12 00:22 ./bin/sh
    -rw-r--r--  1 root  wheel     499 Dec 15 15:54 ./etc/rc
    -rw-r--r--  1 root  wheel    1411 Dec 11 23:19 ./etc/ttys
    -rw-r--r--  1 root  wheel     157 Dec 15 15:42 ./etc/hosts
    -rw-r--r--  1 root    bin    1569 Dec 15 15:26 ./etc/XF86Config.altair
    -r-x------  1 bin     bin  151552 Jun 10  1995 ./sbin/init
    -r-xr-xr-x  1 bin     bin  176128 Jun 10  1995 ./sbin/ifconfig
    -r-xr-xr-x  1 bin     bin  110592 Jun 10  1995 ./sbin/mount_nfs
    -r-xr-xr-x  1 bin     bin  135168 Jun 10  1995 ./sbin/reboot
    -r-xr-xr-x  1 root    bin   73728 Dec 13 22:38 ./sbin/mount
    -r-xr-xr-x  1 root  wheel    1992 Jun 10  1995 ./dev/MAKEDEV.local
    -r-xr-xr-x  1 root  wheel   24419 Jun 10  1995 ./dev/MAKEDEV

N'oubliez pas d'exécuter `MAKEDEV all` dans le répertoire `dev`.

Voici enfin mon `/etc/rc` pour `altair` :

    #!/bin/sh
    #
    PATH=/bin:/
    export PATH
    #
    # configurer l'interface ``en boucle''
    /sbin/ifconfig lo0 127.0.0.1
    #
    # configurer la carte Ethernet
    /sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00
    #
    # monter le système de fichiers racine via NFS
    /sbin/mount antares:/DiskLess/rootfs/altair /
    #
    # monter le système de fichiers /usr via NFS
    /sbin/mount antares:/DiskLess/usr /usr
    #
    /usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1
    #
    # Rédemarrer lorsque l'on quitte X
    /sbin/reboot
    #
    # Nous avons planté ...
    exit 1

Vos commentaires et questions sont bienvenus.

Précédent | Sommaire |
Démarrer en réseau |  |

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.