Des OS, plein.

Dans le cadre d’un projet perso dont j’aurai bientot largement l’occasion de vous parler, j’ai été confronté à un petit casse tête dont je vais vous exposer l’énoncé et la solution.

Le but de l’opération est de faire booter plusieurs instances de NetBSD diskless, en utilisant le même root filesystem NFS, mais avec des repertoires /etc et /dev séparés pour des raisons évidentes de marchage sur les pieds.

La réalisation de cette bidouille s’effectue en deux étapes. Tout d’abord, il est evidemment nécessaire de “reconnaitre” la machine qui boote, et pour cela, c’est une directive du dhcpd.conf qui nous vient en aide. En effet, la directive option host-name permet de “passer” à la machine qui boote une information sur son nom. Voici à quoi ressemble une section typique du fichier :

Préalablement à la seconde étape, nous devons evidemment créer des repertoires etc et dev reconnaissables, par exemple :

Puis peupler etc grace au set binaire NetBSD prévu à cet effet :

Enfin, pour faire en sorte que rc charge la petite magouille qui permettra de surcharger les repertoires localisés, nous créons un rc.d-script de cette forme :

Ce qui nous permet, avant le montage du filesystem, de “mounter” nos repertoires locaux etc et dev en utilisant nullfs.

Pour le reste de la configuration PXE / NFS, je vous renvoie à la version en ligne de mon article paru dans GLMF HS Spécial BSD.