je dois un grand merci au rédacteur de la page de documentation d'IPXE avec qui je suis rentré en contact directement par mail puisque je n'ai eu aucune réponse ici... en tous cas après un week-end passé dessus en prise de contrôle à distance pour comprendre nous avons enfin trouver et je vais ici même vous délivrer ma configuration de FOG qui me permet de booter comme désiré sur l'une des 6 variantes d'ubuntu au choix :
la partie importante du serveur dhcp (/etc/dhcp/dhcpd.conf) qui normalement doit déjà être configuré via le script d'install de fog :
subnet 192.168.1.0 netmask 255.255.255.0{
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.151 192.168.1.200; #plage d'ip
default-lease-time 21600;
max-lease-time 43200;
option routers 192.168.1.1; #route par défaut
option domain-name-servers 1.1.1.2; #serveur dns (pour plus d'info : https://1.1.1.1/fr-FR/dns/) qui en général peut être la box du fournisseur d'accès
next-server 192.168.1.250; #l'adresse ip fixe que j'ai décidé d'attribuer à mon serveur
le fichier de conf du serveur nfs (/etc/exports) sachant que FOG crée un dossier /images à la racine du système :
/images *(ro,sync,no_wdelay,no_subtree_check,insecure_locks,no_root_squash,insecure,fsid=0)
/images/dev *(rw,async,no_wdelay,no_subtree_check,no_root_squash,insecure,fsid=1)
#les 2 lignes supérieurs sont ajoutées par FOG le reste dépend de votre rangement :
/images/<dossier dans lequel vous allez décompresser votre iso> *(async,no_root_squash,no_subtree_check,ro,fsid=2)
#ajouter une ligne par dossiers/iso en n'oubliant pas d'incrémenter fsid=X en fin de chaque ligne
pour la décompression des iso on peut directement monter chacun d'eux dans le dossier que l'on souhaite
pour automatiser tout ça j'ai un petit script qui s’exécute au démarrage via crontab :
@reboot sleep 30 && /usr/local/sbin/montages
et le contenu du script :
#!/bin/bash
/bin/mount -o loop <chemin vers l'iso> /images/<chemin identique à celui donné à nfs>
#évidemment là aussi il faut une ligne par iso
exit 0
Avant de passer à la suite sur l'interface web de FOG il faut aussi créer un lien symbolique qui pointe du serveur web vers le dossier images...
après il ne nous reste plus qu'à rentrer sur l'interface web de FOG (
http://localhost/fog/management/index.php)
> dans le menu clé (configuration de FOG > ipxe new menu entry
(lien direct :
http://localhost/fog/management/index.php?node=about&sub=newMenu)
et rentrer cette configuration dans le formulaire (évidemment il faut un formulaire par iso) :
Menu item : #choisissez le nom que vous voulez pour votre menu système
La description : #ce sera le nom qui sera afficher dans le menu pxe
Paramètres : #c'est là que les choses se corsent car la moindre erreur peut amener des erreurs
kernel http://${fog-ip}/<chemin http suivant le lien symbolique vers votre iso décompressé dans images>/casper/vmlinuz
initrd http://${fog-ip}/<chemin http suivant le lien symbolique vers votre iso décompressé dans images>/casper/initrd
imgargs vmlinuz initrd=initrd boot=casper root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/<chemin vers votre iso décompressé> debian-installer/language=fr console-setup/layoutcode=fr ip=dhcp quiet splash --
boot
voilà... normalement vous pouvez maintenant démarrer via le réseau n’importe quelle image iso d'une dérivée d'ubuntu sans difficulté comme si cette dernière était sur une clé usb...
tuto certifié fonctionnel avec les 6 dérivées officielles (ubuntu/kubuntu/lubuntu/xubuntu/ubuntu-mate/ubuntu-budgie) en version 20.04