#liste_articles {display:block}

Installation d’une Fedora Core 3 avec PXE (boot du PC sur le réseau)

mardi 7 décembre 2004

 

Installation d’une Fedora Core 3 avec PXE (boot du PC sur le réseau)

La Fedora Core 3 est une distribution Linux pour ceux qui ne connaisse pas encore.

Dans cette article nous allons nous intéressé à son installation sur une machine a travers le réseau.

Cela peut être nécessaire/pratique pour une machine sans lecteur de CD/DVD, sans lecteur de disquette et qui ne peut pas booter sur USB.

En générale, une installation de linux se fait en placant le CD/DVD de la distribution dans le lecteur de la machine et en redémarrant dessus.

Si cela n’est pas possible, il y a aussi la solution de faire cela avec une disquette et en utilisant le réseau. Dans ce cas, on doit faire une disquette "spéciale", démarre dessus et après configurer le réseau et faire l’installation depuis un serveur FTP, HTTP ou NFS.

Dans notre cas, nous n’avons pas cette possibilité. Il reste encore une solution assez peu utilisé en général.

En effet, la plupart des ordinateurs ont des cartes réseaux et un bios qui permet de booter sur le réseau (donc sans rien sur le disque dur, pas de disquette ni de CDROM...). C’est ce processus que nous allons voir.

Pour cela il faut :
 un réseau correctement configuré.
 un serveur sur ce réseau. Dans notre cas, notre serveur sera aussi une Fedora Core 3 avec comme adresse 192.168.0.254/24.
 la machine à installé branché sur le même réseau que notre serveur.

Il faut commencer par récupérer sur le serveur l’image ISO du DVD de la Fedora Core 3 disponible ici.

Ensuite, il faut installer :
 xinetd
 dhcp
 tftp-server
 syslinux
 httpd (serveur web qui servira au client pour aller chercher )

Ce qui peut être fait comme celui (en ne mettant que ce qui vous manque) :

yum install xinetd dhcp tftp-server syslinux httpd

Ensuite, il faut monter le contenu de l’image ISO de la Fedora dans un dossier :

mkdir /mnt/fc3
mount -o loop /tmp/FC3-i386-DVD.iso /mnt/fc3

Il faut alors copier dans le répertoire /tftpboot les images de boot réseau de la Fedora Core 3 ainsi que le "BIOS" PXE (dans la package syslinux) qu’utilise la carte réseau :

cp /mnt/fc3/images/pxeboot/initrd.img /tftpboot
cp /mnt/fc3/images/pxeboot/vmlinuz /tftpboot
cp /usr/lib/syslinux/pxelinux.0 /tftpboot

Il faut alors créer le fichier de conf pour PXE. Il s’agit du fichier /tftpboot/pxelinux.cfg/default que l’on doit créer ainsi que son répertoire et y placer le contenu suivant :

LABEL linux
        KERNEL vmlinuz
        APPEND initrd=initrd.img ramdisk_size=8192

On peut alors démarrer le serveur TFTP. Pour cela, il faut modifier le fichier de conf de xinetd qui correspond à tftp pour autoriser ce service (disable = no) puis démarrer xinetd. Le fichier de conf tftp est /etc/xinetd.d/tftp :

# default: off
# description: The tftp server serves files using the trivial file transfer #
protocol.  The tftp protocol is often used to boot diskless #   workstations, download configuration files to network-aware printers, # and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

Le démarrage de xinetd peut se faire comme suit :

service xinetd start

Pour que l’image de la Fedora Core 3 soit accessible, il faut placer un lien symbolique dans l’arborescence d’Apache comme ceci :

ln -s /mnt/fc3 /var/www/html/fc3

Puis démarrer Apache :

service httpd start

Enfin, pour que tout cela fonctionne, il faut configurer un serveur DHCP. Pour cela, il faut créer le fichier de configuration /etc/dhcpd.conf en y placant le contenu suivant :

allow booting;
allow bootp;
 
ddns-update-style interim;
 
subnet 192.168.0.0 netmask 255.255.255.0 {
 
        option routers                  192.168.0.254;
        option subnet-mask              255.255.255.0;
  
        option domain-name              "test.lan";
        option domain-name-servers      192.168.0.254;
  
        range dynamic-bootp 192.168.0.100 192.168.0.200;
        default-lease-time 21600;
        max-lease-time 43200;
}
 
host pxeclient {
   hardware ethernet AA:BB:CC:DD:EE:FF;
   fixed-address 192.168.0.100;
   option host-name "pxeclient";
                                                                                
   filename "/pxelinux.0";
   next-server 192.168.0.254;
}

en remplacant AA:BB:CC:DD:EE:FF par l’adresse MAC du PC à installer. Sinon, on peut aussi ne pas donner d’IP statique et configurer PXE pour tout le monde en déplacent les lignes de pxeclient dans le subnet...

Il ne reste plus qu’à démarrer DHCP serveur avec la commande :

service dhcpd start

Voilà, côté serveur tout est prêt. Il ne suffit plus que de rebooter le PC client branché sur le réseau avec le boot sur le réseau autorisé dans le BIOS.

Normalement vous allez voir le chargement de PXE puis du kernel vmlinuz et le début du processus d’installation. Il faudra alors choisir une installation avec HTTP en utilisant une IP dynamique, le serveur 192.168.0.254 et comme dossier de base fc3.

Documents :

par Daniel Lacroix