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
ipxe [Le 27/05/2019, 09:35]
nicolas84 ajout lien brouillon
ipxe [Le 02/08/2023, 12:18] (Version actuelle)
2.59.74.79 correction d'une erreur
Ligne 113: Ligne 113:
 </​file>​ </​file>​
 <note tip> <note tip>
-Dans la configuration ci-dessous le réseau est configurer ​en 10.0.0.0/​24,​ libre a vous de l’adapter à votre réseau actuel.+Dans la configuration ci-dessous le réseau est configuré ​en 10.0.0.0/​24,​ libre a vous de l’adapter à votre réseau actuel.
 </​note>​ </​note>​
 Les premières « option » permettent à isc-dhcp-server de comprendre des options DHCP spécifique à ipxe. Les premières « option » permettent à isc-dhcp-server de comprendre des options DHCP spécifique à ipxe.
Ligne 126: Ligne 126:
  
 Dans le cas où il n'est pas possible de désactiver les autres serveur DHCP, à minima, il faut régler le paramètre "​range"​ sur une autre plage que celle de votre autre serveur DHCP. Dans le cas où il n'est pas possible de désactiver les autres serveur DHCP, à minima, il faut régler le paramètre "​range"​ sur une autre plage que celle de votre autre serveur DHCP.
 +
 +Une autre méthode consiste à amorcer iPXE à l'aide d'une clé USB : [[:​ipxe#​creer_une_cle_usb_d_ipxe|Créer une clé USB d'​iPXE]]
 </​note>​ </​note>​
 ==== Serveur TFTP ==== ==== Serveur TFTP ====
Ligne 131: Ligne 133:
 Le serveur TFTP est celui qui va fournir les fichiers nécessaires au démarrage réseau. Le serveur TFTP est celui qui va fournir les fichiers nécessaires au démarrage réseau.
 <​code>​ <​code>​
-sudo apt install tftpd-hda +sudo apt install tftpd-hpa 
-sudo nano etc/​default/​tftpd-hpa+sudo nano /etc/​default/​tftpd-hpa
 </​code>​ </​code>​
 <file - /​etc/​default/​tftpd-hpa>​ <file - /​etc/​default/​tftpd-hpa>​
Ligne 148: Ligne 150:
 </​code>​ </​code>​
 <note tip> <note tip>
-Si un pare-feu est activé, ​il faut ouvrir le port 69+Si un pare-feu est activé, ouvrir le port 69
 </​note>​ </​note>​
  
Ligne 158: Ligne 160:
 </​code>​ </​code>​
 <note tip> <note tip>
-Si un pare-feu est activé, ​il faut ouvrir le port 2049+Si un pare-feu est activé, ​consultez cette page : [[nfs-ufw|Fixer les ports pour un partage NFS]]
 </​note>​ </​note>​
  
Ligne 168: Ligne 170:
 </​code>​ </​code>​
 Pour plus d'​infos : https://​doc.ubuntu-fr.org/​lamp Pour plus d'​infos : https://​doc.ubuntu-fr.org/​lamp
 +
 +On créer un lien symbolique de tftpboot sur le serveur LAMP :
 +<​code>​
 +ln -s /​var/​lib/​tftpboot /​var/​www/​html/​tftpboot
 +</​code>​
 +
 ===== Préparer les fichiers de démarrage iPXE ===== ===== Préparer les fichiers de démarrage iPXE =====
  
Ligne 189: Ligne 197:
  
 dhcp dhcp
-chain http://​10.0.0.200/​install.ipxe ​+chain http://​10.0.0.200/​install.ipxe
 </​file>​ </​file>​
 <​code>​ <​code>​
Ligne 195: Ligne 203:
 make bin-x86_64-efi/​ipxe.efi EMBED=chain.ipxe make bin-x86_64-efi/​ipxe.efi EMBED=chain.ipxe
 make bin-i386-efi/​ipxe.efi EMBED=chain.ipxe make bin-i386-efi/​ipxe.efi EMBED=chain.ipxe
-make undionly.kpxe EMBED=chain.ipxe+make bin/undionly.kpxe EMBED=chain.ipxe
  
 cp bin-x86_64-efi/​ipxe.efi undionly.kpxe /​var/​lib/​tftpboot/​ cp bin-x86_64-efi/​ipxe.efi undionly.kpxe /​var/​lib/​tftpboot/​
Ligne 245: Ligne 253:
 <note tip> <note tip>
 Ce menu ne sert à rien dans l’état, il est à compléter en fonction de ce que l’on a démarrer. Voir sur le chapitre [[:​ipxe#​completer_le_menu_ipxe|Compléter le menu iPXE]] Ce menu ne sert à rien dans l’état, il est à compléter en fonction de ce que l’on a démarrer. Voir sur le chapitre [[:​ipxe#​completer_le_menu_ipxe|Compléter le menu iPXE]]
 +
 +Des exemples de menu sont proposés sur cette page : [[http://​boot.salstar.sk/​|Exemples de menus IPXE]]
 </​note>​ </​note>​
  
Ligne 253: Ligne 263:
  
 <note tip> <note tip>
-Si cela ne fonctionne pas dans une machine virtuelle, tentez quand même sur un ordinateur physique. Sur les machines virtuelles, cela a parfois tendance à fonctionner une fois sur deux !+Si cela ne fonctionne pas dans une machine virtuelle, tentez quand même sur un ordinateur physique. Sur les machines virtuelles, cela a parfois tendance à être capricieux ​! 
 +Par exemple pour un test via VirtualBox, il faut impérativement installer les extensions packs pour ne pas avoir d'​erreur sur les fichier gz (utilisé pour lancer les kernel linux notamment) 
 +Dans les paramètres VirtualBox, ajouter l'​extension pack correspondant à votre version. Voir cette page pour le télécharger : https://​www.virtualbox.org/​wiki/​Download_Old_Builds
 </​note>​ </​note>​
 ===== Compléter le menu ipxe ===== ===== Compléter le menu ipxe =====
Ligne 291: Ligne 303:
 </​file>​ </​file>​
 <note tip> <note tip>
-Il convient évidemment d'​adapter les paramètres à sa situation. Les fichiers vmlinuz et initrd étant parfois accompagnés d'une extensions comme .gz, il faudra l'​ajouter. ​+Il convient évidemment d'​adapter les paramètres à sa situation. Les fichiers vmlinuz et initrd étant parfois accompagnés d'une extensions comme .gz, il faudra l'​ajouter.
 </​note>​ </​note>​
 Il faudra ensuite autoriser le partage dans le fichier de configuration de NFS : Il faudra ensuite autoriser le partage dans le fichier de configuration de NFS :
Ligne 321: Ligne 333:
  
 == Sous Windows == == Sous Windows ==
 +
 +Pré-requis : Télécharger et installer Windows ADK [[https://​docs.microsoft.com/​fr-fr/​windows-hardware/​get-started/​adk-install#​winADK|WinADK]]
 +
 +<note important>​
 +Désactiver votre programme antivirus lors de la manipulation des images.
 +</​note>​
 +
 +Dans le menu démarrer taper : "​Environnement de déploiement et d’outils de création d’images"​ et l'​ouvrir en tant qu'​administrateur.
 +
 +Copier WinPE
 +<​code>​
 +copype amd64 C:​\WinPE_am64
 +</​code>​
 +
 +Monter l'​image de démarrage :
 +<​code>​
 +Dism /​Mount-Image /​ImageFile:"​C:​\WinPE_amd64\media\sources\boot.wim"​ /index:1 /​MountDir:"​C:​\WinPE_amd64\mount"​
 +</​code>​
 +
 <note tip> <note tip>
-FIXME cette solution ​est plus complète que la création sous Linux. Brouillon en cours de rédaction ​[[:nicolas84:ipxe]]+Il est possible a ce stade de rajouter des fichiers/​dossier dans C:\WinPE_amd64\mount 
 + 
 +Il est aussi possible de modifier le script de démarrage (pour lancer des commandes automatiquement au démarrage) ​: 
 +Exemple ​: 
 +<file - C:​\WinPE_amd64\mount\Windows\System32\Startnet.cmd>​ 
 +wpeinit 
 +net use Y: \\10.0.0.200\win10_1809_custom_x64 /user:user pass 
 +Y:​\setup.exe 
 +</​file>​
 </​note>​ </​note>​
 +
 +__Pour ajouter des pilotes de périphériques (.inf) : __
 +
 +Un seul à la fois :
 +<​code>​
 +Dism /Add-Driver /​Image:"​C:​\WinPE_amd64\mount"​ /​Driver:"​C:​\SampleDriver\driver.inf"​
 +</​code>​
 +Tout un dossier de .inf (il peut être nécessaire d'​utiliser /​ForceUnsigned pour ajouter des pilotes non signés)
 +<​code>​
 +Dism /Add-Driver /​Image:"​C:​\WinPE_amd64\mount"​ /​Driver:"​C:​\SampleDriver"​ /Recurse
 +</​code>​
 +Vérification :
 +<​code>​
 +Dism /​Image:"​C:​\WinPE_amd64\mount"​ /​Get-Drivers
 +</​code>​
 +<note tip>
 +D'​autres manipulations et modifications sont possibles : [[https://​msdn.microsoft.com/​fr-fr/​library/​windows/​hardware/​dn938390(v=vs.85).aspx|WinPE : Monter et personnaliser]]
 +</​note>​
 +Quand toutes les modifications sont terminées, il faut démonter l'​image :
 +<​code>​
 +Dism /​Unmount-Image /​MountDir:"​C:​\WinPE_amd64\mount"​ /commit
 +</​code>​
 +
 +Création d'un image ISO :
 +<​code>​
 +Makewinpemedia /iso C:​\winpe_amd64 C:​\winpe_amd64.iso
 +</​code>​
  
 === Configuration du menu === === Configuration du menu ===
Ligne 371: Ligne 437:
 </​code>​ </​code>​
 <note tip> <note tip>
-Même si le répertoire samba est accessible anonymement (guest ok = yes), il faut saisir un utilisateur et un mot de passe bidon pour que la connexion fonctionne.+Même si le répertoire samba est accessible anonymement (guest ok = yes), il faut parfois ​saisir un utilisateur et un mot de passe bidon pour que la connexion fonctionne.
 </​note>​ </​note>​
  
Ligne 415: Ligne 481:
 __**Si j'ai le menu**__ (dans ce cas là, c'est le système choisi qui ne démarre pas) __**Si j'ai le menu**__ (dans ce cas là, c'est le système choisi qui ne démarre pas)
   * Vérifier que tous les fichiers pointés dans la configuration du menu sont accessibles et que les chemins sont corrects.   * Vérifier que tous les fichiers pointés dans la configuration du menu sont accessibles et que les chemins sont corrects.
-  * Vérifier si il n'y a pas un problème de droit +  * Vérifier si il n'y a pas un problème de droit
   * Si vous êtes en EFI, vérifiez que ce que vous voulez démarrer est compatible.   * Si vous êtes en EFI, vérifiez que ce que vous voulez démarrer est compatible.
  
Ligne 452: Ligne 518:
  
 <note important>​ <note important>​
-Ne pas utiliser de lien symbolique à l'​intérieur du partage samba. Ils ne seront pas utilisable par le client ! +Ne pas utiliser de lien symbolique à l'​intérieur du partage samba. Ils ne seront pas utilisable par le client !
  
 Il est en revanche possible d'en utiliser avant le point de montage du partage. Il est en revanche possible d'en utiliser avant le point de montage du partage.
Ligne 459: Ligne 525:
 ==== Bugs connus ==== ==== Bugs connus ====
  
-=== Ubuntu ​Server ​18.04.=== +=== Ubuntu ​et Lubuntu ​18.04.=== 
-Si Ubuntu ​Server ​18.04.1 n'​arrive pas a ce lancer (il s'​arrête en mode maintenance), ​rajouter ​"​systemd.mask=tmp.mount"​ entre "​ip=dhcp"​ et "​--" ​+Si Ubuntu ​ou Lubuntu ​18.04.1 n'​arrive pas à se lancer (il s'​arrête en mode maintenance), ​rajoutez ​"​systemd.mask=tmp.mount"​ entre "​ip=dhcp"​ et "​--"​
  
-Source ​: https://​bugs.launchpad.net/​ubuntu/​+source/​casper/​+bug/​1754777#​yui_3_10_3_1_1557065713426_342+Pour Ubuntu ou Lubuntu 18.04.2, il faut rajouter en sus : "​systemd.mask=dev-hugepages.mount systemd.mask=dev-mqueue.mount systemd.mask=sys-fs-fuse-connections.mount systemd.mask=sys-kernel-config.mount systemd.mask=sys-kernel-debug.mount systemd.mask=tmp.mount toram"​ 
 + 
 +Pour Ubuntu et Lubuntu 18.04.3, il faut enlever toutes ses modifications faites pour Ubuntu Server 18.04. 1 et 2 sinon l'​installateur plante pendant la copie des fichiers de /​media/​filesystem 
 + 
 +Voir : https://​bugs.launchpad.net/​ubuntu/​+source/​casper/​+bug/​1754777#​yui_3_10_3_1_1557065713426_342 
 + 
 +=== Ubuntu 20.04 === 
 +Sur les distributions basées sur Ubuntu 20.04, un fsck des fichiers est effectué, ce qui rend le démarrage très long. Pour éviter cette étape il suffit de rajouter fsck.mode=skip après boot=casper
  
 === Pas de réseau dans Windows PE === === Pas de réseau dans Windows PE ===
-Si le retour de la commande ipconfig ne donne rien, alors c'est qu'il n'y a pas le pilote réseau adéquat pour votre carte réseau. ​Rechercher ​son pilote chez le constructeur de votre carte réseau, et, intégrez ce pilote lors de la construction de WinPE. (voir paragraphe : [[:​ipxe#​creer_un_windows_pe|Créer un WinPE sous windows]])+Si le retour de la commande ipconfig ne donne rien, alors c'est qu'il n'y a pas le pilote réseau adéquat pour votre carte réseau. ​Recherchez ​son pilote chez le constructeur de votre carte réseau, et, intégrez ce pilote lors de la construction de WinPE. (voir paragraphe : [[:​ipxe#​creer_un_windows_pe|Créer un WinPE sous windows]])
 ===== Voir aussi ===== ===== Voir aussi =====
  
 [[http://​ipxe.org|Site officiel de iPXE]] [[http://​ipxe.org|Site officiel de iPXE]]
 +
 +[[http://​boot.salstar.sk/​|Exemples de menus IPXE]]
  
 **__Contributeur__** **__Contributeur__**
  
 nicolas84 nicolas84
  • ipxe.1558942515.txt.gz
  • Dernière modification: Le 27/05/2019, 09:35
  • par nicolas84