Install PXE

De ArchwikiFR


Vous possédez un portable non équipé de lecteur de CD et de plus ne vous permet pas de démarrer sur une clé USB... vous vous êtes fait roulés, vous pouvez néanmoins installer Arch Linux à l'aide d'un serveur PXE.

Utilisation

Un utilisateur d'Archlinux propose le paquet archiso-pxe-server qui rend la tâche bien plus simple.

Note: Les IPs de cet article sont bien sûr donné à titre d'exemple, à vous de les modifier par celles que vous avez.

Depuis l'environnement d'installation

Démarrer sur la dernière image d'installation, se connecter, puis:

ifconfig eth0 192.168.0.7
route add default gw 192.168.0.1
echo nameserver 192.168.0.1 > /etc/resolv.conf
pacman -Sy dnsmasq nbd
wget http://aur.archlinux.org/packages/archiso-pxe-server/archiso-pxe-server.tar.gz -O - | tar zxvf -
cd archiso-pxe-server/
chmod +x archiso-pxe-server
./archiso-pxe-server

Depuis un environnement déjà installé

pacman -S dnsmasq nbd 
wget http://aur.archlinux.org/packages/archiso-pxe-server/archiso-pxe-server.tar.gz -O - | tar zxvf -
cd archiso-pxe-server/
chmod +x archiso-pxe-server
./archiso-pxe-server -s archlinux-2010.05-core-i686.iso
Note: Ne pas hésiter à regarder le script pour plus d'informations.


Une fois le serveur lancé, il n'y a plus qu'à démarrer la machine sur laquelle vous voulez installer depuis le réseau et poursuivre avec la page d'installation.

Depuis un serveur PXE

En admettant que vous disposiez déjà de l'infrastructure pour un serveur PXE fonctionnel (serveur DHCP, TFTP et --dans le cas d'Archlinux-- NFS), voici la méthode :

  1. il faut télécharger la dernière iso ;
  2. l'extraire (tar xvf ou monter l'image en loop puis la copier)
  3. proposer le noyau (/arch/boot/<architecture>/vmlinuz) et l'initramfs (/arch/boot/<architecture>/archiso.img) en TFTP ;
  4. proposer le reste du live en NFS.

La configuration de pxelinux a donc l'air de ceci :

Fichier: archlinux.cfg
LABEL arch32_nfs
        TEXT HELP
                Boot the Archlinux (i686) live medium (Using NFS)
                It allows you to install Archlinux or perform system maintenance
        ENDTEXT
        MENU LABEL Archlinux (32-bit) (NFS)
        LINUX path/to/arch/boot/i686/vmlinuz
        INITRD path/to/arch/boot/i686/archiso.img
        # chemins relatifs à la racine de votre serveur TFTP
        # -- mais si vous lisez ceci, c'est que vous vous y connaissez un peu déjà ;-)
        APPEND archisobasedir=arch archiso_nfs_srv=<IP serveur NFS>:/path/vers/l/iso/extraite
        # IP et chemin à adapter, bien entendu
        IPAPPEND 3

Avec bien sûr une entrée semblable pour x86_64. Et pour être sûr de ne pas faire de bêtises :

$ ls /path/vers/l/iso/extraite
EFI/      arch/     isolinux/ loader/
Note: Il peut arriver que le PXE kernel panic car le driver pour la carte ethernet n'est pas chargé lors du boot. Le rédacteur n'a pas encore résolu ce souci.