Romain Tiennot

Technicien Superieur en Informatique

Aller au contenu | Aller au menu | Aller à la recherche

Keyword - DHCP

Fil des billets

Créer un menu PXE pour l'installation Debian, Centos, Ubuntu et Memtest

Linux Je vais vous expliquer comment créer un serveur DHCP et PXE afin d'installer à partir du réseau différente distribution comme dans mon exemple Debian, Centos et Ubuntu. Il est possible d'intégrer des outils de diagnostic comme Memtest ou encore SystemRescueCd.

Pour mettre en place le serveur PXE, nous avons besoins :

  • un DHCP
  • un serveur TFTP

Pour ce faire, nous avons besoin d'installer les paquets suivant :

apt-get update
apt-get upgrade
apt-get install dhcp3-server tftpd-hpa

Il est préférable de mettre une IP statique à la carte réseau du serveur :

vi /etc/network/interfaces
auto eth0
iface eth0 inet static
        address 172.16.0.152
        netmask 255.255.0.0
        network 172.16.0.1
        broadcast 172.16.255.255
        gateway 172.16.0.254
        dns-nameservers 172.16.0.254

Et de redémarrer le service réseau :

invoke-rc.d networking restart

Ensuite, il faut configurer le serveur DHCP pour qu'il puisse distribuer une configuration réseau notamment des informations pour le PXE :

vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name "local.info";
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
 
 
subnet 172.16.0.0 netmask 255.255.255.0 {
        option broadcast-address 172.16.255.255;
        option routers 172.16.0.1;
        range 172.16.0.20 172.16.0.30;
        filename "pxelinux.0";
        next-server 172.16.0.152;

Il faut ensuite créer l'arborescence :

mkdir -pv /srv/tftpboot/pxelinux.cfg /srv/tftpboot/image/debian/squeeze/i386 /srv/tftpboot/image/centos/5.7/ /srv/tftpboot/image/memtest/4.2/ /srv/tftpboot/image/ubuntu/11.10/
wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/boot-screens/vesamenu.c32 && mv vesamenu.c32 /srv/tftpboot/
wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/pxelinux.0 && mv pxelinux.0 /srv/tftpboot/

Puis télécharger les images des distributions qui serviront à l'installation :

DEBIAN
 
wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/linux && mv linux /srv/tftpboot/image/debian/squeeze/i386/
wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz && mv initrd.gz /srv/tftpboot/image/debian/squeeze/i386/
UBUNTU
 
wget http://fr.archive.ubuntu.com/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux && mv linux /srv/tftpboot/image/ubuntu/11.10/
wget http://fr.archive.ubuntu.com/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz && mv initrd.gz /srv/tftpboot/image/ubuntu/11.10/
CENTOS
 
wget http://mirror.centos.org/centos-5/5.7/os/x86_64/images/pxeboot/vmlinuz && mv vmlinuz /srv/tftpboot/image/centos/5.7/
wget http://mirror.centos.org/centos-5/5.7/os/x86_64/images/pxeboot/initrd.img && mv initrd.img /srv/tftpboot/image/centos/5.7/
MEMTEST
 
wget http://www.memtest.org/download/4.20/memtest86+-4.20.bin && mv memtest86+-4.20.bin /srv/tftpboot/image/memtest/4.2/memtest86+

Ensuite, nous allons créer le fichier "default" qui va nous permettre à créer le menu PXE :

vi /srv/tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
menu background pxelinux.cfg/fond.png
menu title Menu d'installation PXE
 
prompt 0
timeout 100
 
noescape 1
allowoptions 0
 
LABEL Demarrage Disque Dur
        localboot 0
 
MENU BEGIN Debian
MENU TITLE Debian
LABEL Debian Squeeze 6.03 Installation
       kernel image/debian/squeeze/i386/linux
       append vga=normal initrd=image/debian/squeeze/i386/initrd.gz  --
 
LABEL Debian Rescue
       kernel image/debian/squeeze/i386/linux
       append vga=normal initrd=image/debian/squeeze/i386/initrd.gz  rescue/enable=true --
MENU END
 
MENU BEGIN CentOS
MENU TITLE CentOS
LABEL CentOS 5.7 KS eth0
        KERNEL image/centos/5.7/vmlinuz
        APPEND ks=http://172.16.0.152/centos5.ks initrd=image/centos/5.7/initrd.img
MENU END
 
MENU BEGIN Ubuntu
MENU TITLE Ubuntu
LABEL Ubuntu 11.10
        KERNEL image/ubuntu/11.10/linux
        append vga=normal initrd=image/ubuntu/11.10/initrd.gz --
MENU END
 
LABEL Diagnostique Memoire (Memtest)
        kernel image/memtest/4.2/memtest86+

Il est possible de mettre une image en fond d'écran :

wget http://romain.tiennot.fr/public/pxelinux/fond.png && mv fond.png /srv/tftpboot/pxelinux.cfg/

Après avoir relancé les services, Il vous reste à démarrer via le réseau et voir le résultat.

invoke-rc.d isc-dhcp-server start
invoke-rc.d tftpd-hpa start

A bientôt,
Romain

Partie 1 - Installation du rôle Windows Deployment Services (WDS)

windows_server_2008_r2.png Cet article est le premier parmi cinq autres. Le but sera :

  • Installation du rôle WDS
  • Mise en place d'image de découverte et de capture
  • Intégration de pilote aux images de démarrage (découverte et capture)
  • Installation de WAIK, création d'un fichier de réponse (UNATTEND) et capture d'une image Seven
  • Intégration de pilote à une image d'installation WIM

Dans un premier temps, Windows Deployment Services est un rôle utilisable depuis Windows server 2003 service pack 2, Windows server 2008 et Windows server 2008 R2. Cette technologie remplace les serveurs RIS. Pour utiliser le rôle WDS, nous avons besoin d'un DHCP, DNS et contrôleur de domaine. Dans mon exemple, je suis sur Windows Server 2008 R2. Pour installer le rôle, il faut se rendre dans "Gestionnaire de serveur" et cliquer sur "ajouter des rôles" : TIESRV1-2011-11-06-11-39-47.png

Sélectionner : "Services de déploiement Windows" TIESRV1-2011-11-06-11-40-04.png

Cocher les deux cases : TIESRV1-2011-11-06-11-40-59.png

Lancer l'installation et patienter : TIESRV1-2011-11-06-11-40-12.png TIESRV1-2011-11-06-11-40-59.png

Déployer le rôle "Serveur de déploiement Windows" et faire cliquer "Configurer le serveur" : TIESRV1-2011-11-06-11-41-35.png

Sélectionner l'emplacement des dossiers d'installation (Prévoyez un grand espace disque) : TIESRV1-2011-11-06-11-43-26.png

Dans mon exemple, je coche les deux cases. Seul le port 60 est utile : TIESRV1-2011-11-06-11-43-32.png

Dans mon exemple, je demande l'autorisation de l'administrateur du WDS afin d'approuver le déploiement d'image ou la capture. C'est utile notamment pour le "Nommer et Approuver" : TIESRV1-2011-11-06-11-43-38.png

Le serveur est enfin configuré : TIESRV1-2011-11-06-11-45-45.png

Voici la vidéo :

A bientôt pour la deuxième partie,
Romain