TABLE DES MATIERES :
Présentation du projet :
- Objectif du projet
- Définition technique
- Fonctionnement du projet
- Pré requis
Pratique :
- DHCP
- Syslinux
- TFTP
- FTP
- Kickstart
Conclusion
Présentation du projet
Objectif du projet :
Le projet consiste a automatisé l’installation d’un système d’exploitation, dans notre cas une distribution linux centos 5.4, a travers un réseau équipé d’un DHCP, FTP, TFTP qu’on devra installer.
Les clients auront un menu au démarrage du système, qui lui permettra de choisir entre le système local ou l’installation du système centos via le réseau.
Définition technique :
PXE : Preboot eXecution Environment. Désigne le milieu préalable au boot, grâce auquel on peut installer l'OS sur une machine à chaque démarrage.
DHCP : Dynamic Host Configuration Protocol est un terme anglais désignant un protocole réseau dont le rôle est d'assurer la configuration automatique des paramètres IP d'une station, notamment en lui assignant automatiquement une adresse IP et un masque de sous-réseau.
TFTP : Trivial File Transfer Protocol ou Protocole simplifié de transfert de fichiers est un protocole simplifié de transfert de fichiers.
FTP : File Transfer Protocol (protocole de transfert de fichiers est un protocole de communication destiné à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau, d'alimenter un site web, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur.
Kickstart : est un utilitaire livré avec les dernieres version de Linux RedHat, qui permet d'automatiser (presque) toute l'installation d'une distribution Linux RedHat et notamment:
• la sélection de la langue;
• la configuration réseau et la sélection des sources de la distribution;
• la sélection du clavier;
• l'installation de l'utilitaire de démarrage (ex: lilo);
• le partitionnement du disque et la création du système de fichiers;
• la sélection de la souris;
• la configuration du serveur X-Window;
• la sélection de la zone géographique;
• la sélection du mot de passe de l'utilisateur root;
• la sélection des paquetages à installer.
Fonctionnement du projet :

Le démarrage du système client se fera suivant les étapes :
1. Via le BIOS le client demandera la ROM PXE
2. Puis la ROM PXE récupère une adresse IP auprès du DHCP
3. Déplus la ROM PXE recevra du DHCP quel fichier est à télécharger par TFTP et sur quel serveur.
4. La ROM PXE envoi quelque information vers le serveur PXE (ID matériel de la carte réseau, etc.…)
5. La ROM PXE téléchargera sur le TFTP le fichier indiqué par le DHCP.
6. Le démarrage par PXE se finit ici, et le fichier du TFTP, prend la main pour continué le téléchargement du système (c’est PXELinux.0 qui prendra le relais).
7. PXELinux.0 permettra d’avoir un menu et de pouvoir choisir c’est options de démarrage sur le système client.
8. Le systeme client chargera le noyau et l’image via le serveur tftp.
9. Apres avoir fini de charger le noyau, le fichier kickstart prendra le relais (pour la configuration du l’installation).
10. Et le reste des paquets seront téléchargé via le ftp
Prerequis :
Pour notre projet nous avons choisir d’utilisé Virtual box, qui permet de virtualisé un réseau a travers des images linux.
On utilise dans ce logiciel des images linux :
- Fedora 7 : qui sera notre serveur PXE, DHCP, FTP et TFTP
- Centos 5.4 : qui sera le système d’exploitation automatisé sur les clients.
Pratique
DHCP Dynamic Host Configuration Protocol
La première chose dont les clients qui s'amorcent par PXE ont besoin est d'une adresse IP et de l'adresse d'un serveur tftp où ils pourront trouver une image d'amorce à charger. Est c’est la que rentre en jeu le serveur DHCP.
Nous passons à la configuration du fichier dhcp :
• Paramétrage des sous réseaux
• Paramétrage du serveur TFTP
• Le nom du fichier a cherché sur le serveur TFTP
• La plage d’adresse du sous-réseau
Installation DHCP :
Yum install dhcp
Configuration du fichier DHCP : dhcpd.conf

Démarre le service DHCP :
Service DHCP start
TFTPTrivial File Transfer Protocol ou Protocole
Le TFTP se chargera d’initialiser de l’installation en donnant le noyau, le fichier à booter.
Installation du service TFTP :
yum install tftp-server
Comme TFTP est lancé par le daemon xinetd , il faut autoriser celui-ci a démarrer :
chkconfig tftp on
Lancer le service TFTP :
service xinetd restart
/etc/xinetd .d/tftp

Syslinux
On installe Syslinux qui permettra d’aller cherché différent ressource necessaire a PXE que nous placeront dans tftpboot.
Yum install syslinux
On copie les ressources nécessaires dans le tftpboot :
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /usr/lib/syslinux/menu.c32 /tftpboot
cp /usr/lib/syslinux/memdisk /tftpboot
cp /usr/lib/syslinux/mboot.c32 /tftpboot
cp /usr/lib/syslinux/chain.c32 /tftpboot
On crée le répertoire pxelinux.cfg
Mkdir /tftpboot/pxelinux.cfg
Le pxelinux.cfg contiendra le fichier default qui se chargera de la configuration PXE
Vi default
Fichier default :

Dans le fichier default on trouvera également l’adresse du fichier kickstart.
On crée les dossiers qui contiendront les fichiers initrd.img (ressource nécessaire au boot) et vmlinux (image compressé du noyau).
cp /media/Centos_5.4_Final/isolinux/vmlinuz /tftpboot/images/CentOS
cp /media/Centos_5.4_Final/isolinux/initrd.dmg /tftpboot/images/CentOS
FTP : File Transfer Protocol
Le serveur FTP contient les fichiers d’installation de l’os qui nous permettra de finir l’installation complète.
Installation du FTP :
Yum groupinstall « FTP server »
Pour lancer le serveur automatiquement :
Chkconfig vstfpd on
Pour démarrer, redémarrer ou stopper le service :
Service vsftpd start
Service vsftpd restart
Service vsftpd stop
Configuration du serveur FTP :
Notre répertoire de travail sera : /var/ftp/install
Il ne faudra pas oublier de le signaler dans le fichier:/etc/vsftpd/vsftpd.conf

On copie le dossier le contenue l’image centOS 5.4 dans le dossier de partage FTP :
cp –i /media/* /var/ftp/install
On crée un dossier ks dans install:
mKdir ks
Il contiendra nos fichiers kickstart
Kickstart
Le fichier kickstart contiendra toute la configuration nécessaire lors de l’installation automatisé
Il ya deux façon de configurer le fichier Kickstart :
• Interface graphique grâce a un logiciel (très simple)
• Ou via le terminal.
Le fichier kickstart :
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard be-latin1
# System language
lang fr_BE
# Installation logging level
logging --level=info
# Use network installation
url --url=ftp://192.168.22.1/install/CentOS_5.4_Final
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw sasuke
# SELinux configuration
selinux --enforcing
# System timezone
timezone --isUtc Europe/Brussels
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=16 --resolution=800x600 --startxonboot
monitor --monitor="Monitor 800x600"
# Disk partitioning information
part / --bytes-per-inode=4096 --fstype="ext3" --size=8000
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
%packages
@gnome-desktop
@base-x
@development-tools
@development-libs
@office
@admin-tools
@system-tools
@printing
@java
Redémarré les services :
DHCP :
service dhcpd restart
TFTP :
service xinetd restart
FTP :
service vsftpd restart
On bloque le firewall :
Service iptables stop
Conclusion
PXE nous permet d’installer des systèmes d’exploitation via le réseau, qui nous permet notamment d’économisé du temps et surtout de l’argent et évité des déplacements systématique vers toute les machines.
Bibliographie
- http://www.galoula.net/fr/GaloulaPXE/Linux
- http://www.ibiblio.org/pub/linux/docs/HOWTO/translations/fr/html-1page/KickStart-HOWTO.html