Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
sysadmin:boot_pxe [2010/08/26 10:37] james ajout todo boot ISO DVD |
sysadmin:boot_pxe [2012/02/08 14:13] james [Références] ajout lien recap img iso bin |
||
---|---|---|---|
Ligne 20: | Ligne 20: | ||
==== Configuration du serveur DHCP ==== | ==== Configuration du serveur DHCP ==== | ||
- | next-server | ||
- | TODO | + | Je ne vais pas reprendre ici toute la configuration, mais je vais lister les directives a ajouter par rapport a une configuration "normale" : |
+ | * ajouter en global : <code> | ||
+ | # pour le boot reseau | ||
+ | allow booting; | ||
+ | allow bootp; | ||
+ | </code> | ||
+ | * ajouter dans le subnet/shared-network/host de votre choix :<code> | ||
+ | #next-server is your network boot server | ||
+ | next-server 192.168.1.40; | ||
+ | filename "pxelinux.0"; | ||
+ | </code> | ||
+ | ou "192.168.1.40" est l'IP de votre serveur tftp et "pxelinux.0" le fichier à télécharger. | ||
+ | Vous pouvez bien sûr mixer les serveurs tftp et/ou les fichiers a télécharger en fonction des différents réseaux/machines. Vous pouvez également utiliser un nom DNS et non une IP. | ||
+ | Voici par exemple la déclaration complete d'un subnet et celle d'un hote utilisant une configuration différente de celle par défaut : | ||
+ | <code> | ||
+ | subnet 192.168.1.0 netmask 255.255.255.0 { | ||
+ | range 192.168.1.150 192.168.1.200; | ||
+ | option routers monrouteur.mondomaine.com; | ||
+ | option domain-name "mondomaine.com mondomaine.org"; | ||
+ | option domain-name-servers ns.mondomaine.com, ns2.mondomaine.com; | ||
+ | | ||
+ | next-server pxeserver.mondomaine.com; | ||
+ | filename "pxelinux.0"; | ||
+ | } | ||
+ | |||
+ | [....] | ||
+ | |||
+ | host athlon2600 { | ||
+ | hardware ethernet ab:cd:ef:00:01:02; | ||
+ | fixed-address mamachine.mondomaine.com; | ||
+ | filename "GEEXBOX/boot/pxelinux.0"; | ||
+ | } | ||
+ | </code> | ||
==== Mise en place de l'arborescence pour le boot PXE ==== | ==== Mise en place de l'arborescence pour le boot PXE ==== | ||
Ligne 106: | Ligne 137: | ||
* Ou enfin pour une image de disquette Ghost, nécessitant le driver UNDI :<code>append keeppxe initrd=images/fichier.img</code> | * Ou enfin pour une image de disquette Ghost, nécessitant le driver UNDI :<code>append keeppxe initrd=images/fichier.img</code> | ||
- | === Images ISO de CD/DVD === | + | === Images ISO de liveCD/DVD === |
- | FIXME | + | <note>Toutes les ISOs de CD/DVD ne sont pas bootables en utilisant cette technique, cependant c'est le cas de toutes les images de liveCD / installateurs d'ubuntu "récente" (>= 10.04 lucid lynx) utilisant casper, comme dans l'exemple qui suit.</note> |
+ | |||
+ | Pour cela vous allez avoir besoin : | ||
+ | * de l'ISO du liveCD (ici ubuntu 10.04 version 32 bits) | ||
+ | * un serveur NFS préconfiguré | ||
+ | |||
+ | Admettons que vous ayez l'ISO dans "/export/iso/linux/ubuntu/10.04-Lucid_Lynx_LTS/ubuntu-10.04-desktop-i386.iso". | ||
+ | * Il faut tout d'abord monter l'ISO en loop (ce point montage devra ensuite etre accessible et exporté en NFS ) :<code> | ||
+ | mkdir /export/ISOs/ubuntu-10.04-desktop-i386 | ||
+ | mount -o loop,ro /export/iso/linux/ubuntu/10.04-Lucid_Lynx_LTS/ubuntu-10.04-desktop-i386.iso /export/ISOs/ubuntu-10.04-desktop-i386 | ||
+ | </code> | ||
+ | * Création de l'arborescence tftpboot :<code> | ||
+ | mkdir -p /tftpboot/ubuntu-live/10.04_lucid/i386/</code> | ||
+ | |||
+ | * Il ensuite faut copier les fichier noyau et initrd pour pouvoir les distribuer en PXE :<code> | ||
+ | cp /export/ISOs/ubuntu-10.04-desktop-i386/casper/initrd.lz /tftpboot/ubuntu-live/10.04_lucid/i386/ | ||
+ | cp /export/ISOs/ubuntu-10.04-desktop-i386/casper/vmlinuz /tftpboot/ubuntu-live/10.04_lucid/i386/ | ||
+ | </code> | ||
+ | |||
+ | * Il faut ensuite ajouter les lignes suivantes a votre fichier "/tftpboot/pxelinux.cfg/default" (ou autre : voir plus haut pour les subtilités) :<code> | ||
+ | # Ubuntu Lucid Lynx 10.04 LTS liveCD | ||
+ | label lucid-i386-liveCD | ||
+ | menu label Ubuntu 10.04 Lucid Lynx i386 Live^CD | ||
+ | kernel ubuntu-live/10.04_lucid/i386/vmlinuz | ||
+ | append boot=casper netboot=nfs nfsroot=10.31.192.28:/export/ISOs/ubuntu-10.04-desktop-i386/ initrd=ubuntu-live/10.04_lucid/i386/initrd.lz -- | ||
+ | </code> | ||
+ | ou "10.31.192.28" est l'IP de votre serveur NFS distribuant l'image ISO montée dans "/export/ISOs/ubuntu-10.04-desktop-i386/" : adaptez les chemins le cas échéant. | ||
+ | |||
+ | * Voici pour info la ligne correspondant à l'export NFS (à ajouter dans le fichier /etc/exports du serveur correspondant) :<code> | ||
+ | # pour les liveCD en NFS / PXE | ||
+ | /export/ISOs/ubuntu-10.04-desktop-i386 *(ro,no_root_squash,nohide,async,no_subtree_check) | ||
+ | </code> | ||
==== Industrialisation de la chose ==== | ==== Industrialisation de la chose ==== | ||
Ligne 116: | Ligne 178: | ||
* Fichier de configuration de PXE Linux | * Fichier de configuration de PXE Linux | ||
* Pour créer un fichier de configuration propre à chaque machine, deux choix de création s'offrent à nous : | * Pour créer un fichier de configuration propre à chaque machine, deux choix de création s'offrent à nous : | ||
- | * 00-26-54-42-b1-d3-d4 (adresse MAC de la carte reseau, donc la machine) | + | * 01-00-26-54-42-b1-d3-d4 ("01-" suivi de l'adresse MAC de la carte reseau, donc la machine) |
* C0A80003 (qui correspond a l'IP de la machine "192.168.0.3" en hexadecimal) | * C0A80003 (qui correspond a l'IP de la machine "192.168.0.3" en hexadecimal) | ||
* Il faut bien sur privilégier le premier, car 'adresse IP peut ne pas etre fixe (attribution d'adresse via DHCP sans réservation par exemple) alors que l'adresse MAc est quant a elle fixe et unique. | * Il faut bien sur privilégier le premier, car 'adresse IP peut ne pas etre fixe (attribution d'adresse via DHCP sans réservation par exemple) alors que l'adresse MAc est quant a elle fixe et unique. | ||
Ligne 158: | Ligne 220: | ||
Je vous conseille les lectures suivantes : | Je vous conseille les lectures suivantes : | ||
* http://www.gentilkiwi.com/documentations-s11-t-pxe.htm | * http://www.gentilkiwi.com/documentations-s11-t-pxe.htm | ||
+ | * http://www.isalo.org/wiki.debian-fr/index.php?title=PXE | ||
+ | * http://www.syslinux.org/wiki/index.php/PXELINUX (anglais) | ||
+ | * http://www.syslinux.org/wiki/index.php/MEMDISK#EXTLINUX.2FISOLINUX.2FPXELINUX.2FSYSLINUX | ||
+ | ===== Aller plus loin ===== | ||
+ | * http://drbl.sourceforge.net/ (Diskless Remote Boot in Linux) | ||
+ | * http://ipxe.org/start (iPXE permet de booter en iSCSI, AoE, http, .... et peut s'utiliser avec chainloader ) | ||
+ |