Généralité
Le PXE ou Pre-boot eXecution Environment permet de faire démarrer son ordinateur par le réseaux en chargeant les fichiers par celui-ci. Au Cr@ns, on utilise PXELINUX qui est fourni avec SYSLINUX.
Ceci permet d'installer une distribution Linux ou *BSD sans avoir besoin de graver un CD, ou de faire un Live-USB ou bien de réparer son ordinateur en démarrant sur un Live-CD.
Ce service est proposé à tous les adhérents du Cr@ns.
Utilisation
Pour l'utiliser, il faut activer le boot PXE au niveau du BIOS (voir dans les options de la carte réseau) et le mettre en premier dans la file de priorité (voir dans les options de la carte réseau). Il est tout à fait bénin de laisser le boot PXE en premier même si on utilise un système sur son disque dur car au bout d'un temps très court aucune action de l'utilisateur n'est détectée, l'exécutable PXE va rendre la main et le BIOS va essayer la méthode suivante de boot.
Comment ça marche ?
- Tout d'abord, le système va faire une requête DHCP pour récupérer une adresse IP et aussi les informations pour trouver le serveur TFTP et quel fichier il faut charger
- Ensuite on charge l'exécutable par TFTP
- Puis on exécute l'exécutable
- Enfin, on navigue au clavier pour choisir quel système on veux booter sur l'ordinateur.
- Le noyau et l'initrd sont envoyés par TFTP et le système boot.
Les systèmes disponibles
- Ubuntu
- Debian
- Mandriva
- CentOS
- Fedora
- openSUZE
- FreeBSD
- NetBSD
- OpenBSD
Pour une version exacte de ce qui est supporté, on peut se référer au fichier source du générateur de menu pxe du Crans: /usr/scripts/gestion/gen_confs/pxeboot/config.
Chaque système est disponible dans plusieurs versions, stables ou de test. Une version « LiveCD » d'Ubuntu est aussi disponible.
Quelques configurations particulières (coté utilisateur)
NetBSD
Il faut taper une touche après avoir choisi de NetBSD dans le menu. Ensuite si il faut taper boot tftp:netbsd/netbsd-4.gz (oui on doit prendre un installer de la version 4.0.1, celui de la version 5 est buggué (le noyau freeze au démarrage)). Ensuite suivre la documentation NetBSD.
OpenBSD
Il faut taper boot bsd.rd.i386 ou boot bsd.rd.amd64 suivant l'architecture sur laquelle vous êtes. Ensuite répondre aux questions, (il est conseillé de faire une commande manuelle pour le réseau, genre dhclient ne0) Le Cr@ns a un miroir OpenBSD officiel, mais il n’apparait pas dans la liste. Il est localisé sur ftp.crans.org, en ftp ou http.
Configuration (coté Crans)
DHCP
On doit spécifier a minima dans dhcpcd.conf le fichier à charger sur la machine, à l'aide de la directive filename. Si le serveur TFTP n'est pas sur la même machine que le serveur DHCP, on doit rajouter son IP ou hostname avec next-server
TFTP
Rien de particulier à ce niveau. À ce jour, le serveur TFTP est sur charybde et le dossier racine est /var/lib/tftpboot/
PXELINUX
la configuration se fait principalement dans boot-screens/menu.cfg Voir les cas déjà existant.
Toute l'arborescence de /var/lib/tftpboot/ est générée par le script bash /usr/scripts/gestion/gen_confs/pxeboot/pxeboot à partir de /var/lib/tftpboot-base/ pour une arborescence de base et de /var/lib/tftpboot-g pour les liveCD (qu'il faut monter en nfs, pour le moment, il n'y a que des ubuntu). La configuration du PXE (version des distributions, url des dépots, ...) se fait via /usr/scripts/gestion/gen_confs/pxeboot/config.
Nota Bene
Pour les liveCD (qui doivent être monter en nfs), il faut penser à éditer le fichier /etc/exports.
Pour permettre à Sysrescuecd d'être booté par le réseau, il faut que le fichier sysrcd.dat soit disponible par http. Ceci est réalisé en "montant" l'ISO Sysrescucd sur sila dans le dossier image.
TODO réparer Sysrescuecd