Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
netboot_live [Le 22/10/2015, 12:54]
88.182.40.86 [Serveur TFTP]
netboot_live [Le 11/09/2022, 11:32] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 9: Ligne 9:
 Il est également possible d'​utiliser cette méthode conjointement avec le tutoriel pour [[:​personnaliser_livecd|personnaliser son LiveCD]], ce qui peut servir à faire des installations automatiques,​ à préinstaller des paramètres personnalisés ainsi qu'à préinstaller des paquets qui ne sont pas inclus sur un disque d'​Ubuntu normal. Il est également possible d'​utiliser cette méthode conjointement avec le tutoriel pour [[:​personnaliser_livecd|personnaliser son LiveCD]], ce qui peut servir à faire des installations automatiques,​ à préinstaller des paramètres personnalisés ainsi qu'à préinstaller des paquets qui ne sont pas inclus sur un disque d'​Ubuntu normal.
 <​note>​Elle permet aussi de réaliser l'​installation en mode graphique d'​Ubuntu sur le PC client, mais pour ce faire, on lui préférera l'​installateur mode texte standard</​note>​ <​note>​Elle permet aussi de réaliser l'​installation en mode graphique d'​Ubuntu sur le PC client, mais pour ce faire, on lui préférera l'​installateur mode texte standard</​note>​
 +<note warning>​Je viens de suivre ce document avec la version ubuntu 14.04.3 LTS.
 + 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'​installation et suis allé jusqu'​à l'​affichage des partitions disponibles pour installer.
 +Comme le démarrage est LEGACY mais non EFI,  j'ai stoppé à ce niveau..</​note>​
 +<note tip>
 +Si le support EFI est nécessaire,​ privilégier [[:ipxe]]
 +</​note>​
 ===== Explication du concept ===== ===== Explication du concept =====
  
-La majorité des ordinateurs ont une fonction de démarrage réseau qui peut être activée grâce à l'​appui d'une touche spéciale au démarrage alors que le logo du constructeur de l'​ordinateur s'​affiche sur l'​écran. Il est généralement possible de connaître cette touche spéciale en regardant dans les coins de l'​écran à la recherche du mot //PXE//, //​network//,​ //boot devices//, ou autre… Les touches les plus courantes sont **Échap, F1, F2, F12** ou **Suppr**.+La majorité des ordinateurs ont une fonction de démarrage réseau qui peut être activée grâce à l'​appui d'une touche spéciale au démarrage alors que le logo du constructeur de l'​ordinateur s'​affiche sur l'​écran. Il est généralement possible de connaître cette touche spéciale en regardant dans les coins de l'​écran à la recherche du mot //PXE//, //​network//,​ //boot devices//, ou autre… Les touches les plus courantes sont **Échap ​(Asus portables, anciens HP), F1, F2, F9 (HP récents), F8 (Asus fixes), F12 (Lenovo, Gigabyte et Dell, Acer et  Packard Bell après activation de l'​option dans le BIOS)** ou **Suppr**.
  
 Certains ordinateurs permettent le démarrage réseau avec une seule touche, d'​autres vous amènent sur une liste où vous avez plusieurs choix tel que le démarrage réseau, d'​autres n'ont pas cette fonction activée et nécessitent que vous modifiez des paramètres dans le BIOS (un écran de configuration blanc sur bleu ou blanc sur noir dans lequel vous pouvez facilement faire de mauvaises gaffes) et pour terminer, certains ordinateurs (généralement ceux qui n'​avaient pas de carte réseau lors de leur achat) ne peuvent tout simplement pas démarrer en réseau. Comme il y a trop de variété, ce tutoriel ne s'y penchera pas davantage. Certains ordinateurs permettent le démarrage réseau avec une seule touche, d'​autres vous amènent sur une liste où vous avez plusieurs choix tel que le démarrage réseau, d'​autres n'ont pas cette fonction activée et nécessitent que vous modifiez des paramètres dans le BIOS (un écran de configuration blanc sur bleu ou blanc sur noir dans lequel vous pouvez facilement faire de mauvaises gaffes) et pour terminer, certains ordinateurs (généralement ceux qui n'​avaient pas de carte réseau lors de leur achat) ne peuvent tout simplement pas démarrer en réseau. Comme il y a trop de variété, ce tutoriel ne s'y penchera pas davantage.
Ligne 27: Ligne 33:
 Avant tout, installons tous les paquets qui seront nécessaires d'un seul coup ! Avant tout, installons tous les paquets qui seront nécessaires d'un seul coup !
  
-  * [[apt>​syslinux]] (contient les fichiers nécessaires pour le démarrage réseau) ​        ​+  * [[apt>​syslinux]] (contient les fichiers nécessaires pour le démarrage réseau)
            Cette application ​ est déjà pré-installée en version 14.04.3.            Cette application ​ est déjà pré-installée en version 14.04.3.
-  * [[apt>​dhcp3-server]] (serveur DHCP en fait isc-dhcp-server)+  * <del>[[apt>​dhcp3-server]]</​del>​ [[apt>​isc-dhcp-server]] (serveur DHCP en fait isc-dhcp-server)
           En version 14.04.3, il est préférable d'​installer l'​application DHCP-HELPER qui est dans la logithèque.           En version 14.04.3, il est préférable d'​installer l'​application DHCP-HELPER qui est dans la logithèque.
-  * [[apt>​tftpd-hpa]] (serveur TFTP)+  * [[apt>​tftpd-hpa]] ​<​del>​[[apt>​atftpd]]</​del> ​(serveur TFTP)
           En version 14.04.3, cette application est dans la logithèque mais elle ne fonctionne plus. Il faut utiliser ​ l'​application **atftpd**           En version 14.04.3, cette application est dans la logithèque mais elle ne fonctionne plus. Il faut utiliser ​ l'​application **atftpd**
   * [[apt>​nfs-kernel-server]] (serveur NFS)   * [[apt>​nfs-kernel-server]] (serveur NFS)
            En version 14.04.3, cette application est dans la logithèque.            En version 14.04.3, cette application est dans la logithèque.
  
-  sudo apt-get install ​dhcp3-server tftpd-hpa syslinux nfs-kernel-server+  sudo apt-get install ​isc-dhcp-server tftpd-hpa syslinux nfs-kernel-server
  
 Ensuite, passons à la configuration de chaque serveur. Ensuite, passons à la configuration de chaque serveur.
Ligne 95: Ligne 101:
  
 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'​ordinateur client. TFTP joue un rôle critique mais très temporaire. 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'​ordinateur client. TFTP joue un rôle critique mais très temporaire.
 +
 +=== Avec tftpd-hpa ===
  
 Pour le configurer, il suffit de modifier le fichier /​etc/​default/​tftpd-hpa. Pour le configurer, il suffit de modifier le fichier /​etc/​default/​tftpd-hpa.
Ligne 112: Ligne 120:
 À la suite de cette modification,​ redémarrez le service: À la suite de cette modification,​ redémarrez le service:
 <​code>​sudo service tftpd-hpa restart</​code>​ <​code>​sudo service tftpd-hpa restart</​code>​
-En 14.04.3 il semble que le service **atftpd** soit correctement paramétré ( By default /tftpboot is assumed.) 
-  
-<note tip>Si vous utilisez un pare-feu comme '​ufw',​ ouvrez le port 69 pour votre réseau local 
  
-sudo ufw allow to any port 69 from 192.168.1.0/​24</​note>+=== Avec atftpd === 
 + 
 +Le dossier vers lequel atftpd pointe est "/​srv/​tftp"​ par défaut. Il faut le changer et pointer vers "/​var/​lib/​tftpboot"​. 
 + 
 +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 <​code>/​etc/​default/​atftpd</​code>​ avec la présence de la ligne <​code>​USE_INETD=true</​code>​ 
 + 
 +Si tel est le cas, il faut modifier les options passées par inetd lors de l'​appel à atftpd. 
 +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: 
 +<​code>​sudo xdg-open /​etc/​inetd.conf</​code>​ 
 + 
 +Localisez la ligne: 
 +<​code>​tftp ​           dgram   ​udp4 ​   wait    nobody /​usr/​sbin/​tcpd /​usr/​sbin/​in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /​srv/​tftp</​code>​ 
 +et remplacez <​code>/​srv/​tftp</​code>​ par <​code>/​var/​lib/​tftpboot</​code>​ 
 + 
 +Redémarrez le service inetd: 
 +<​code>​sudo service inetutils-inetd restart</​code>​ 
 + 
 +== Modifications de la configuration de atftpd == 
 + 
 +Editer le fichier de configuration inetd: 
 +<​code>​sudo xdg-open /​etc/​default/​atftpd</​code>​ 
 + 
 +Remplacez <​code>/​srv/​tftp</​code>​ par <​code>/​var/​lib/​tftpboot</​code>​ dans la ligne des options. 
 + 
 +Redémarrez le service atftpd: 
 +<​code>​ 
 +sudo service atftpd restart 
 +</​code>​ 
 + 
 +=== Pare-feu === 
 + 
 +Si vous utilisez un pare-feu comme '​ufw',​ ouvrez le port 69 pour votre réseau local 
 + 
 +<​code>​sudo ufw allow to any port 69 from 192.168.1.0/​24</​code> 
 ==== Serveur NFS ==== ==== Serveur NFS ====
  
Ligne 135: Ligne 178:
 Copier cette commande dans le terminal pour redémarrer le serveur nfs : Copier cette commande dans le terminal pour redémarrer le serveur nfs :
  
-<​code>​sudo service nfs-kernel-server restart</​code>​+<​code>​ 
 +sudo mkdir /​var/​lib/​tftpboot/​ubuntu 
 +sudo service nfs-kernel-server restart</​code>​ 
 + 
 <note tip>Si vous utilisez un pare-feu comme '​ufw',​ ouvrez le port 2049 pour votre réseau local <note tip>Si vous utilisez un pare-feu comme '​ufw',​ ouvrez le port 2049 pour votre réseau local
  
Ligne 141: Ligne 187:
 </​note>​ </​note>​
 ==== Mise en place des fichiers de démarrage ==== ==== Mise en place des fichiers de démarrage ====
 +
 +<note tip>
 +
 +Copier simplement l'​intégralité du repertoire Netboot de Ubuntu dans /​var/​lib/​tftpboot - voir http://​archive.ubuntu.com/​ubuntu/​dists/​xenial-updates/​main/​installer-amd64/​current/​images/​netboot/​ par exemple pour Ubuntu 16.04  (Netboot et disponible pour la plus part des version de Ubuntu )
 +
 +**Vous pouvez effectuer une recherche google "​netboot ubuntu VERSION"​ pour trouver les fichiers d'​autres versions**
 +
 +</​note>​
 +
  
 Lorsque l'​ordinateur client se fait assigner son adresse IP par le serveur DHCP, le serveur DHCP lui précise de télécharger le fichier “pxelinux.0” depuis le serveur TFTP de l'​ordinateur serveur. Ce fichier a été installé précédemment par le paquet syslinux sur votre serveur TFTP, il ne reste qu'à le copier dans le dossier partagé par le serveur TFTP ainsi qu'un autre fichier chargé d'​afficher un menu de démarrage : Lorsque l'​ordinateur client se fait assigner son adresse IP par le serveur DHCP, le serveur DHCP lui précise de télécharger le fichier “pxelinux.0” depuis le serveur TFTP de l'​ordinateur serveur. Ce fichier a été installé précédemment par le paquet syslinux sur votre serveur TFTP, il ne reste qu'à le copier dans le dossier partagé par le serveur TFTP ainsi qu'un autre fichier chargé d'​afficher un menu de démarrage :
Ligne 148: Ligne 203:
 sudo cp /​usr/​lib/​syslinux/​menu.c32 /​var/​lib/​tftpboot/​menu.c32 sudo cp /​usr/​lib/​syslinux/​menu.c32 /​var/​lib/​tftpboot/​menu.c32
 </​code>​ </​code>​
 +
  
 Nous allons ensuite créer les dossiers : Nous allons ensuite créer les dossiers :
Ligne 162: Ligne 218:
  
   sudo cp -av /​media/​cdrom/​* /​media/​cdrom/​.disk /​var/​lib/​tftpboot/​ubuntu/​   sudo cp -av /​media/​cdrom/​* /​media/​cdrom/​.disk /​var/​lib/​tftpboot/​ubuntu/​
 +  ​
 +<note important>​Correctif pour le peuplement du boot PXE pour un LiveCD en 16.04
  
-Dans le dossier ​**pxelinux.cfg**, on crée un fichier texte nommé default :+Le fichier ​**pxelinux.0** à copier est sous /​usr/​lib/​PXELINUX du paquetage pxelinux. 
 +Il faut également récupérer 2 autres fichiers à partir de l'​image du DVD d'​installation et à placer à la racine du serveur TFTP
  
 +<​code>​
 +sudo cp /​usr/​lib/​PXELINUX/​pxelinux.0 /​var/​lib/​tftpboot/​pxelinux.0
 +sudo cp /​var/​lib/​tftpboot/​ubuntu/​isolinux/​ldlinux.c32 /​var/​lib/​tftpboot/​
 +sudo cp /​var/​lib/​tftpboot/​ubuntu/​isolinux/​libutil.c32 /​var/​lib/​tftpboot/​
 +</​code> ​
 +
 +Le fichier **menu.c32** que j'ai utilisé est celui du paquetage syslinux.
 +<​code>​
 +sudo cp /​usr/​lib/​syslinux/​modules/​bios/​menu.c32 /​var/​lib/​tftpboot/​
 +</​code>​
 +</​note>​
 +
 +<note help> ​ Cependant, si on dispose d'un fichier ISO qui a été téléchargé,​ on peut faire directement les commandes ci-dessous en mettant le bon nom de fichier
 + <​code>​
 +sudo mkdir /tmp/ISO
 +sudo mount -o loop  /​media/​$USER/​G*/​Installation*/​*UBUNTU*/​*14-04/​ubuntu-14.04.3-desktop-amd64.iso ​ /tmp/ISO
 +sudo cp -av    /​tmp/​ISO/​* ​ /​tmp/​ISO/​.disk /​var/​lib/​tftpboot/​ubuntu
 +sudo fuser -k /​tmp/​ISO ​
 +sudo umount -df /tmp/ISO
 +sudo rm -R /​tmp/​ISO</​code></​note>​
 +
 +
 +Dans le dossier **pxelinux.cfg**,​ on crée un fichier texte nommé default :
 +  sudo touch        /​var/​lib/​tftpboot/​pxelinux.cfg/​default
   sudo xdg-open /​var/​lib/​tftpboot/​pxelinux.cfg/​default   sudo xdg-open /​var/​lib/​tftpboot/​pxelinux.cfg/​default
  
Ligne 193: Ligne 276:
 LABEL 1 Ubuntu Live LABEL 1 Ubuntu Live
 KERNEL ubuntu/​casper/​vmlinuz KERNEL ubuntu/​casper/​vmlinuz
-APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/​var/​lib/​tftpboot/​ubuntu debian-installer/​language=fr console-setup/​layoutcode=fr console-setup/​variantcode=oss quiet splash initrd=ubuntu/​casper/​initrd.lz --+APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/​var/​lib/​tftpboot/​ubuntu debian-installer/​language=fr console-setup/​layoutcode=fr console-setup/​variantcode=oss quiet splash initrd=ubuntu/​casper/​initrd.lz ​ip=dhcp ​--
  
 LABEL 2 Ubuntu Live (lancement avec messages) LABEL 2 Ubuntu Live (lancement avec messages)
 KERNEL ubuntu/​casper/​vmlinuz KERNEL ubuntu/​casper/​vmlinuz
-APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/​var/​lib/​tftpboot/​ubuntu debian-installer/​language=fr console-setup/​layoutcode=fr console-setup/​variantcode=oss initrd=ubuntu/​casper/​initrd.lz --+APPEND boot=casper rootfstype=nfs netboot=nfs nfsroot=192.168.1.100:/​var/​lib/​tftpboot/​ubuntu debian-installer/​language=fr console-setup/​layoutcode=fr console-setup/​variantcode=oss initrd=ubuntu/​casper/​initrd.lz ​ip=dhcp ​--
 </​code>​ </​code>​
 +
 +<​note>​A partir des LiveCD 12-04.3, le nom du noyau est maintenant **vmlinuz.efi** et non vmlinuz, donc, ajouter cette extension dans les deux lignes commençant par KERNEL
 +</​note>​
  
 Il ne reste plus qu'à s'​assurer que les droits sur les fichiers sont corrects en lancant les commandes suivantes dans un terminal : Il ne reste plus qu'à s'​assurer que les droits sur les fichiers sont corrects en lancant les commandes suivantes dans un terminal :
Ligne 205: Ligne 291:
   sudo chmod -R 755 /​var/​lib/​tftpboot   sudo chmod -R 755 /​var/​lib/​tftpboot
  
-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'​option 1 et voir le résultat. ​+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'​option 1 et voir le résultat.
  
 Si tout ne marche pas immédiatement (ça arrive dans les meilleures familles), révisez la marche à suivre et réfléchissez,​ aucun besoin de diplôme ni brevet pour exploiter la logique. Expérimentation,​ détermination et patience sont la clé du succès. Si tout ne marche pas immédiatement (ça arrive dans les meilleures familles), révisez la marche à suivre et réfléchissez,​ aucun besoin de diplôme ni brevet pour exploiter la logique. Expérimentation,​ détermination et patience sont la clé du succès.
Ligne 225: Ligne 311:
 Pour mettre en évidence et s'​assurer de ce problème, il suffit de choisir l'​option 2 et tous les messages seront affichés. Pour mettre en évidence et s'​assurer de ce problème, il suffit de choisir l'​option 2 et tous les messages seront affichés.
 Vous devez avoir ce message au moment du montage NFS et cela est dû à votre fire-wall (ufw). Vous devez avoir ce message au moment du montage NFS et cela est dû à votre fire-wall (ufw).
-Le soucis ​est que le port de contrôle du processus de montage est attribué par "​portmap"​ et n'est jamais le même.+Le souci est que le port de contrôle du processus de montage est attribué par "​portmap"​ et n'est jamais le même.
  
-Pour palier ​à ça et forcer le port de "​nfs-kernel-server",​ il faut modifier son fichier ​ de configuration.+Pour pallier ​à ça et forcer le port de "​nfs-kernel-server",​ il faut modifier son fichier de configuration.
 <​code>​sudo xdg-open /​etc/​default/​nfs-kernel-server</​code>​ <​code>​sudo xdg-open /​etc/​default/​nfs-kernel-server</​code>​
 À la ligne contenant : À la ligne contenant :
Ligne 235: Ligne 321:
 Ensuite il suffit d'​indiquer à votre pare-feu de laisser ce port ouvert: Ensuite il suffit d'​indiquer à votre pare-feu de laisser ce port ouvert:
 <​code>​sudo ufw allow to any port 32767 from 192.168.1.0/​24</​code>​ <​code>​sudo ufw allow to any port 32767 from 192.168.1.0/​24</​code>​
-(D'​après : http://​wiki.debian.org/​SecuringNFS )+(D'​après : https://​wiki.debian.org/​SecuringNFS )
  
 **NFS RPC: Port mapper failure **\\ **NFS RPC: Port mapper failure **\\
Ligne 249: Ligne 335:
 **Attribution d'​adresse IP :**\\ **Attribution d'​adresse IP :**\\
 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...\\ 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 <​TAB>​. Il vous suffit alors de fixer en dur l'IP de votre client en rajoutant ces paramètres dans la ligne avant le '​%%--%%'​ final.+Redémarrez le client et lorsque vous arrivez au menu, positionnez la barre de sélection sur le Live et appuyez sur <​TAB>​. Il vous suffit alors de fixer en dur l'IP de votre client en modifiant le paramètres ​"​ip"​ qui se trouve ​dans la ligne "​APPEND" ​avant le '​%%--%%'​ final 
 +<​code>​ip=dhcp</​code>​ 
 +À remplacer par :
 <​code>​ip=<​client-ip>:<​pxe-server-ip>:<​gateway>:<​subnet mask>:<​client-hostname>:<​interface>:<​configuration-method></​code>​ <​code>​ip=<​client-ip>:<​pxe-server-ip>:<​gateway>:<​subnet mask>:<​client-hostname>:<​interface>:<​configuration-method></​code>​
 Cela peut donner par exemple: Cela peut donner par exemple:
Ligne 256: Ligne 344:
  
 **Pas de réseau après démarrage ou installation** : \\ **Pas de réseau après démarrage ou installation** : \\
 +<note help>IL peut arriver que par inadvertance,​ un client soit aussi lancé sur l'​ordinateur serveur. Dans ce cas la vraie connexion internet est aussi à remettre en état. Cela va permettre d'​éviter le message "​Adresse introuvable"​.</​note>​
 Si Ubuntu est lancé ou installé sur l'​ordinateur client à l'aide de cette méthode, network-manager ne fonctionnera pas après le démarrage. Pour permettre network-manager à gérer le réseau, il faudra commenter une ligne du fichier /​etc/​network/​interfaces:​ Si Ubuntu est lancé ou installé sur l'​ordinateur client à l'aide de cette méthode, network-manager ne fonctionnera pas après le démarrage. Pour permettre network-manager à gérer le réseau, il faudra commenter une ligne du fichier /​etc/​network/​interfaces:​
 <​code>​sudo xdg-open ​ /​etc/​network/​interfaces</​code>​ <​code>​sudo xdg-open ​ /​etc/​network/​interfaces</​code>​
  • netboot_live.1445511295.txt.gz
  • Dernière modification: Le 22/10/2015, 12:54
  • par 88.182.40.86