Modifications entre les versions 6 et 7
Version 6 à la date du 2009-06-05 08:38:11
Taille: 4730
Éditeur: ThomasNoël
Commentaire: TableOfContents
Version 7 à la date du 2009-06-05 09:17:54
Taille: 4759
Éditeur: ThomasNoël
Commentaire: on va détailler un peu plus les options PXE pour l'install réseau d'Ubuntu
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was copied from PXE

PXE : Pre-Execution Environment

PXE est un système de boot réseau, disponible sur quasiment toutes les machines modernes possédant une carte réseau Ethernet. Son fonctionnement est simple :

  • requête DHCP pour obtenir une adresse IP et un nom de fichier à charger
  • téléchargement d'une image PXE par TFTP (en général pxelinux.0)

  • lancement de cette image

L'image pxelinux.0, fournie le paquet syslinux permet de booter de manière sélective plusieurs systèmes (locales, ou distantes), notamment celles présentes sur le serveur TFTP. La configuration se situe dans le répertoire pxelinux.cfg/ du serveur TFTP.

Mise en place sur Debian Lenny

Installer un serveur TFTP (atftp) et syslinux qui contient un code de démarrage PXE :

  • # aptitude install atftpd syslinux

Vérifier l'existence du répertoire /tftpboot (le créer au besoin) ; y copier le fichier pxelinux.0 :

  • # mkdir /tftpboot
    # cp -a /usr/lib/syslinux/pxelinux.0 /tftpboot/

Editer le fichier de configuration du serveur dhcp /etc/dhcp/dhcpd.conf en y ajoutant les options next-server et filename, comme ici :

  • # extrait de /etc/dhcp/dhcpd.conf, pour exemple :
    
    authoritative;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "xx.auf.org";
    option domain-name-servers ns.xx.auf.org;
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
    
       option subnet-mask 255.255.255.0;
       option broadcast-address 192.168.1.255;
       option routers gw.domain.net;
       range 192.168.1.100 192.168.1.200;
    
       # serveur TFTP qui propose l'image PXE   
       next-server 192.168.1.1;
       # nom du fichier à charger en mémoire par les clients via TFTP
       filename "pxelinux.0";
    }

Créer la configuration par défaut de pxelinux.0 dans l'arborescence TFTP, /tftpboot/pxelinux.cfg/default (si besoin, créer le répertoire /tftpboot/pxelinux.cfg/) :

  • # exemple de configuation de pxelinux.0 par défaut
    # extrait du fichier /tftpboot/pxelinux.cfg/default
    # Documentation complète dans /usr/share/doc/syslinux/pxelinux.txt.gz
    DEFAULT disque
    PROMPT 1
    TIMEOUT 0
    
    # boot disque local
    label disque
      localboot 0
      append -
    
    # boot UDPcast
    label udpcast
      kernel linux-udpcast
      append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no diskmodparm= disk=/dev/sda compr=none netmodparm= port=9000 udpcparam=
    
    # boot installateur Jaunty
    label jaunty
      kernel ubuntu-installer-jaunty/i386/linux
      append vga=normal initrd=ubuntu-installer-jaunty/i386/initrd.gz --

Il faut évidemment disposer des fichiers kernel et initrd correspondant dans /tfptboot.

C'est tout...

Applications classiques

Installateur réseau Debian/Ubuntu (netboot)

Le principe général est de récupérer le noyau (fichier en général appelé "linux") et le logiciel d'installation compris dans un disque d'initialisation initrd (init ram disk). Ces deux fichiers sont présents dans des archives nommées netboot.tar.gz :

Par exemple :

On prend ce qu'il faut dans le netboot.tar.gz et on le copie dans le /tftpboot. Par exemple pour Debian Lenny i386 :

  • # cd /tmp
    # wget http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/netboot.tar.gz
    # tar zxf netboot.tar.gz
    # mkdir /tftpboot/debian-installer-lenny
    # mv /tmp/debian-installer/i386 /tftpboot/debian-installer-lenny/

Puis on indique les chemins au niveau de pxelinux.cfg/default :

  • # extrait de /tftpboot/pxelinux.cfg/default pour installeur Debian
    label lenny
      kernel debian-installer-lenny/i386/linux
      append vga=normal initrd=debian-installer-lenny/i386/initrd.gz --

Lancement de UDPCast (duplication de machines)

Voir la page UDPCast

Booter MSDOS en PXE (objectif : flasher un BIOS)

Copier l'image de la disquette dans /tftpboot. Vous trouverez de nombreuses images sur http://www.veder.com/nwdsk/ (l'image la plus classique est msubcd.img).

Pour démarrage une disquette, utiliser le système memdisk fourni avec syslinux :

  • # cp /usr/lib/syslinux/memdisk /tftpboot

Ajouter une section dans le fichier pxelinux.cfg/default :

  • # extrait de /tftpboot/pxelinux.cfg/default
    LABEL dos
            kernel memdisk/memdisk
            append initrd=memdisk/msubcd.img

Ubuntu/PXE (dernière édition le 2010-09-29 14:57:52 par WillyManga)