Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
netboot_live [Le 27/12/2016, 12:47] – [Mise en place des fichiers de démarrage] agroyer | netboot_live [Le 27/10/2019, 13:50] (Version actuelle) – [Mise en place des fichiers de démarrage] 82.64.15.171 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Live NetBoot | ||
+ | < | ||
+ | Ce document consiste à démarrer Ubuntu de la même façon qu' | ||
+ | |||
+ | Il est également possible d' | ||
+ | < | ||
+ | <note warning> | ||
+ | Le boot met bien en route lorsque le micro récepteur a son bios positionné en LEGACY mais pas en EFI. Probablement un mauvais fichier de démarrage sélectionné ! J'ai fais démarré l' | ||
+ | Comme le démarrage est LEGACY mais non EFI, j'ai stoppé à ce niveau..</ | ||
+ | <note tip> | ||
+ | Si le support EFI est nécessaire, | ||
+ | </ | ||
+ | ===== Explication du concept ===== | ||
+ | |||
+ | La majorité des ordinateurs ont une fonction de démarrage réseau qui peut être activée grâce à l' | ||
+ | |||
+ | Certains ordinateurs permettent le démarrage réseau avec une seule touche, d' | ||
+ | |||
+ | Dès que vous avez passé cette étape, votre ordinateur se connecte au réseau et initie une demande d' | ||
+ | |||
+ | Ensuite, une fois que le serveur DHCP a donné toutes les informations nécessaires à votre ordinateur, votre ordinateur se connecte au serveur TFTP de l' | ||
+ | |||
+ | La seule autre chose à mentionner, c'est qu'il faudra aussi installer un serveur NFS partageant tout le contenu du CD d' | ||
+ | |||
+ | Êtes-vous perdus ? C' | ||
+ | |||
+ | |||
+ | ===== Mise en œuvre ===== | ||
+ | Avant tout, installons tous les paquets qui seront nécessaires d'un seul coup ! | ||
+ | |||
+ | * [[apt> | ||
+ | Cette application | ||
+ | * < | ||
+ | En version 14.04.3, il est préférable d' | ||
+ | * [[apt> | ||
+ | En version 14.04.3, cette application est dans la logithèque mais elle ne fonctionne plus. Il faut utiliser | ||
+ | * [[apt> | ||
+ | En version 14.04.3, cette application est dans la logithèque. | ||
+ | |||
+ | sudo apt-get install isc-dhcp-server tftpd-hpa syslinux nfs-kernel-server | ||
+ | |||
+ | Ensuite, passons à la configuration de chaque serveur. | ||
+ | |||
+ | ==== Serveur DHCP ==== | ||
+ | |||
+ | Un des ordinateurs de votre réseau local va jouer le rôle de serveur DHCP, il faut pour cela le configurer afin qu'il n' | ||
+ | Dans un premier temps, limitez la plage d' | ||
+ | Votre serveur DHCP pourra maintenant distribuer des adresses au dessus de cette plage pour lancer le processus PXE. | ||
+ | |||
+ | Le fichier de configuration du serveur " | ||
+ | < | ||
+ | Typiquement, | ||
+ | < | ||
+ | # ne pas faire de mise à jour des dns | ||
+ | ddns-update-style none; | ||
+ | |||
+ | ### PXE ### | ||
+ | ## Permet uniquement le boot réseau pour TFTP | ||
+ | allow bootp; | ||
+ | allow booting; | ||
+ | |||
+ | ##### RÉSEAUX ##### | ||
+ | ## déclaration sous réseau 192.168.1.* | ||
+ | subnet 192.168.1.0 netmask 255.255.255.0 { | ||
+ | # Si vous voulez spécifier un domaine différent de celui par défaut : | ||
+ | option domain-name " | ||
+ | |||
+ | ## Adresse de diffusion | ||
+ | option broadcast-address 192.168.1.255; | ||
+ | |||
+ | ## routeur par défaut | ||
+ | option routers < | ||
+ | option domain-name-servers < | ||
+ | |||
+ | # on limite à 10 adresses entre 220 et 229 | ||
+ | range 192.168.1.220 192.168.1.229; | ||
+ | |||
+ | # À placer à la racine du serveur TFTP. | ||
+ | filename " | ||
+ | |||
+ | # définit le serveur qui servira le fichier « pxelinux.0 » | ||
+ | next-server < | ||
+ | |||
+ | # évalue si l' | ||
+ | ping-check = 1; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | À la suite de cette modification, | ||
+ | |||
+ | < | ||
+ | |||
+ | en 14.04.3 | ||
+ | |||
+ | |||
+ | ==== Serveur TFTP ==== | ||
+ | |||
+ | Le serveur TFTP est une forme de serveur FTP très basique. Dans ce tutoriel, il sert à rendre disponible le menu de démarrage et le noyau Linux qui lui-même n'aura plus besoin de TFTP une fois démarré sur l' | ||
+ | |||
+ | === Avec tftpd-hpa === | ||
+ | |||
+ | Pour le configurer, il suffit de modifier le fichier / | ||
+ | < | ||
+ | Et de compléter son contenu avec: | ||
+ | < | ||
+ | # / | ||
+ | TFTP_USERNAME=" | ||
+ | TFTP_DIRECTORY="/ | ||
+ | TFTP_ADDRESS="< | ||
+ | TFTP_OPTIONS=" | ||
+ | |||
+ | #Defaults for tftpd-hpa | ||
+ | RUN_DAEMON=" | ||
+ | </ | ||
+ | |||
+ | À la suite de cette modification, | ||
+ | < | ||
+ | |||
+ | === Avec atftpd === | ||
+ | |||
+ | Le dossier vers lequel atftpd pointe est "/ | ||
+ | |||
+ | Par défaut, atftpd est démarré par le service inetd lors d'une demande de connexion tftp. Il est possible de le vérifier dans le fichier < | ||
+ | |||
+ | Si tel est le cas, il faut modifier les options passées par inetd lors de l' | ||
+ | Dans les autres cas, il faudra modifier le fichier de configuration de atftpd. | ||
+ | |||
+ | == Modifications de la configuration de inetd == | ||
+ | |||
+ | Editer le fichier de configuration inetd: | ||
+ | < | ||
+ | |||
+ | Localisez la ligne: | ||
+ | < | ||
+ | et remplacez < | ||
+ | |||
+ | Redémarrez le service inetd: | ||
+ | < | ||
+ | |||
+ | == Modifications de la configuration de atftpd == | ||
+ | |||
+ | Editer le fichier de configuration inetd: | ||
+ | < | ||
+ | |||
+ | Remplacez < | ||
+ | |||
+ | Redémarrez le service atftpd: | ||
+ | < | ||
+ | sudo service atftpd restart | ||
+ | </ | ||
+ | |||
+ | === Pare-feu === | ||
+ | |||
+ | Si vous utilisez un pare-feu comme ' | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Serveur NFS ==== | ||
+ | |||
+ | Le serveur NFS est un serveur de partage de fichiers sans protection qui permettra à ubuntu d' | ||
+ | |||
+ | Éditer la configuration des partages NFS qui se trouvent dans le fichier / | ||
+ | |||
+ | < | ||
+ | sudo xdg-open / | ||
+ | </ | ||
+ | |||
+ | Ajouter la ligne suivante (remplacer 192.168.1.0 par la plage d' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Copier cette commande dans le terminal pour redémarrer le serveur nfs : | ||
+ | |||
+ | < | ||
+ | sudo mkdir / | ||
+ | sudo service nfs-kernel-server restart</ | ||
+ | |||
+ | <note tip>Si vous utilisez un pare-feu comme ' | ||
+ | |||
+ | sudo ufw allow to any port 2049 from 192.168.1.0/ | ||
+ | </ | ||
+ | ==== Mise en place des fichiers de démarrage ==== | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Copier simplement l' | ||
+ | |||
+ | **Vous pouvez effectuer une recherche google " | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Lorsque l' | ||
+ | |||
+ | < | ||
+ | sudo cp / | ||
+ | sudo cp / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Nous allons ensuite créer les dossiers : | ||
+ | |||
+ | * **pxelinux.cfg** (contiendra le menu de démarrage) | ||
+ | * **ubuntu** (contient les fichiers d' | ||
+ | |||
+ | < | ||
+ | sudo mkdir / | ||
+ | sudo mkdir / | ||
+ | </ | ||
+ | |||
+ | Dans le dossier **ubuntu**, on copie la totalité du contenu du CD Live d' | ||
+ | |||
+ | sudo cp -av / | ||
+ | | ||
+ | <note important> | ||
+ | |||
+ | Le fichier **pxelinux.0** à copier est sous / | ||
+ | Il faut également récupérer 2 autres fichiers à partir de l' | ||
+ | |||
+ | < | ||
+ | sudo cp / | ||
+ | sudo cp / | ||
+ | sudo cp / | ||
+ | </ | ||
+ | |||
+ | Le fichier **menu.c32** que j'ai utilisé est celui du paquetage syslinux. | ||
+ | < | ||
+ | sudo cp / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <note help> | ||
+ | < | ||
+ | sudo mkdir /tmp/ISO | ||
+ | sudo mount -o loop / | ||
+ | sudo cp -av / | ||
+ | sudo fuser -k / | ||
+ | sudo umount -df /tmp/ISO | ||
+ | sudo rm -R / | ||
+ | |||
+ | |||
+ | Dans le dossier **pxelinux.cfg**, | ||
+ | sudo touch / | ||
+ | sudo xdg-open / | ||
+ | |||
+ | Et on y enregistre le texte suivant (//en remplacant 192.168.1.100 par l' | ||
+ | |||
+ | < | ||
+ | DEFAULT menu.c32 | ||
+ | MENU MARGIN 0 | ||
+ | MENU ROWS -9 | ||
+ | MENU TABMSG | ||
+ | MENU TABMSGROW -3 | ||
+ | MENU CMDLINEROW -3 | ||
+ | MENU HELPMSGROW -4 | ||
+ | MENU HELPMSGENDROW -1 | ||
+ | MENU COLOR SCREEN 30;47 | ||
+ | MENU COLOR BORDER 30;47 | ||
+ | MENU COLOR TITLE 30;47 | ||
+ | MENU COLOR SCROLLBAR 30;47 | ||
+ | MENU COLOR SEL 37;40 | ||
+ | MENU COLOR UNSEL 30;47 | ||
+ | MENU COLOR CMDMARK 30;47 | ||
+ | MENU COLOR CMDLINE 30;47 | ||
+ | MENU COLOR TABMSG 37;40 | ||
+ | MENU COLOR DISABLED 37;40 | ||
+ | MENU COLOR HELP 37;40 | ||
+ | MENU TITLE Ubuntu Live | ||
+ | |||
+ | LABEL 1 Ubuntu Live | ||
+ | KERNEL ubuntu/ | ||
+ | APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/ | ||
+ | |||
+ | LABEL 2 Ubuntu Live (lancement avec messages) | ||
+ | KERNEL ubuntu/ | ||
+ | APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | |||
+ | Il ne reste plus qu'à s' | ||
+ | |||
+ | sudo chown -R root:root / | ||
+ | sudo chmod -R 755 / | ||
+ | |||
+ | Eh voilà c'est tout, il ne reste qu'à démarrer votre ordinateur client et utiliser les combinaisons de touches magiques au démarrage afin de le faire démarrer en réseau PXE, choisir l' | ||
+ | |||
+ | Si tout ne marche pas immédiatement (ça arrive dans les meilleures familles), révisez la marche à suivre et réfléchissez, | ||
+ | |||
+ | Bon démarrage en réseau!! | ||
+ | |||
+ | <note tip>Si vous ajoutez des options à ce menu, préférez commencer les lignes par un chiffre. Le système de menu ne se base que sur le 1er mot de chaque " | ||
+ | ===== Problèmes identifiés ===== | ||
+ | **Images iso 12.04 - Version AMD64** :\\ | ||
+ | A partir de la version 12-04.3 d' | ||
+ | De plus la version 12-04.3 est bugguée, elle ne reconnaît pas le montage nfs nécessaire au boot et affiche " | ||
+ | A partir de la version 12.-04.5, tout fonctionne bien que le kernel se nomme toujours vmlinuz.efi (je n'ai pas essayé avec la 12.04.4) | ||
+ | |||
+ | **Images iso 12.04- Version I386** :\\ | ||
+ | Les versions 12-04.3, 12-04.4 et 12-04-5 sont bugguées, elle ne reconnaissent pas le montage nfs nécessaire au boot et affichent " | ||
+ | |||
+ | **NFS over TCP not available ou Connection Timeout** :\\ | ||
+ | Ce type de message n' | ||
+ | Pour mettre en évidence et s' | ||
+ | Vous devez avoir ce message au moment du montage NFS et cela est dû à votre fire-wall (ufw). | ||
+ | Le souci est que le port de contrôle du processus de montage est attribué par " | ||
+ | |||
+ | Pour pallier à ça et forcer le port de " | ||
+ | < | ||
+ | À la ligne contenant : | ||
+ | < | ||
+ | on rajoute un numéro de port: | ||
+ | < | ||
+ | Ensuite il suffit d' | ||
+ | < | ||
+ | (D' | ||
+ | |||
+ | **NFS RPC: Port mapper failure **\\ | ||
+ | Le client ne parvient pas à négocier un port avec portmapper | ||
+ | Vérifiez le port utilisé par portmapper sur le serveur : | ||
+ | |||
+ | < | ||
+ | |||
+ | et autorisez-le : | ||
+ | |||
+ | < | ||
+ | |||
+ | **Attribution d' | ||
+ | Si le PC client est habituellement présent sur votre réseau avec une IP Fixe, votre routeur risque de ne pas prendre le relais du serveur PXE et ne pas lui attribuer d'IP. Le processus se bloque...\\ | ||
+ | Redémarrez le client et lorsque vous arrivez au menu, positionnez la barre de sélection sur le Live et appuyez sur < | ||
+ | < | ||
+ | À remplacer par : | ||
+ | < | ||
+ | Cela peut donner par exemple: | ||
+ | < | ||
+ | Le noyau ne cherchera pas a obtenir d'IP via DHCP, il se basera sur ces paramètres. | ||
+ | |||
+ | **Pas de réseau après démarrage ou installation** : \\ | ||
+ | <note help>IL peut arriver que par inadvertance, | ||
+ | Si Ubuntu est lancé ou installé sur l' | ||
+ | < | ||
+ | Rajoutez un '#' | ||
+ | < | ||
+ | Sauvez le fichier et relancez Network-Manager | ||
+ | < | ||
+ | La connexion réseau va s' | ||
+ | |||
+ | **eth0 seulement** : \\ | ||
+ | Selon le [[https:// | ||
+ | |||
+ | **Please provide a name for this Disk, such as ' | ||
+ | Si vous avez ce message, c'est que vous n'avez pas copié le répertoire .disk du cd dans le répertoire / | ||
+ | |||
+ | ===== Disquette d' | ||
+ | |||
+ | Pour les ordinateurs qui ne sont pas compatibles avec le démarrage réseau PXE, un projet nommé EtherBoot existe. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * [[netboot]] | ||
+ | * [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // Contributeurs : [[https:// |