« PXE Obsolete » : différence entre les versions
m (Page créée avec « {{Modèle:Ébauche}} '''! Ceci est un brouillon, merci de ne pas apporter de modification tant que cet avertissement n'est pas enlevé...''' == Installation par le réseau… ») |
mAucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
{{Modèle:Ébauche}} | {{Modèle:Ébauche|PXE}} | ||
'''! Ceci est un brouillon, merci de ne pas apporter de modification tant que cet avertissement n'est pas enlevé...''' | '''! Ceci est un brouillon, merci de ne pas apporter de modification tant que cet avertissement n'est pas enlevé...''' |
Version du 2 août 2010 à 07:52
Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.
! Ceci est un brouillon, merci de ne pas apporter de modification tant que cet avertissement n'est pas enlevé...
Installation par le réseau - Boot PXE
Installation
# aptitude install openbsd-inetd tftpd-hpa dhcp3-server lftp pxe syslinux
Vous aurez certainement une erreur au démarrage de dhcp3-server. C'est normal, il n'est pas encore configuré !
Le serveur dhcp est obligatoire, même si vous prévoyez d'utiliser un autre dhcp déjà présent sur votre réseau. Auquel cas il faudra l'enlever immédiatement - ce serait bête d'avoir deux dhcp sur votre réseau ;-)
# aptitude remove --purge dhcp3-server
Pensez à activer le daemon de tftpd-hpa. Le fichier /etc/default/tftpd-hpa doit ressembler à ceci :
#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
Après l'installation, une petite vérification... tftp tourne-t-il bien ?
# netstat -uap | grep tftp udp 0 0 *:tftp *:* 8308/inetd
Si vous avez une erreur (ou pas de réponse) à la commande ci-dessus (à lancer en root !) inutile d'aller plus loin, le "tftp" ne tourne pas...
Configuration
PXE
Copie des fichiers dont nous aurons besoin pour le PXE :
Du répertoire /var/lib/syslinux chain.c32 mboot.c32 menu.c32 pxelinux.0 reboot.c32 gpxelinux.0 memdisk pxeboot vesamenu.c32
Vers /var/lib/tftpboot
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ etc...
Un seul fichier de configuration pour pxe : /etc/pxe.conf Modifiez l'interface et l'adresse IP pour que ça colle à votre configuration. Je n'ai pas touché au reste
# which interface to use interface=eth0 default_address=192.168.0.1
DHCP
DHCP est un protocole qui permet d'attribuer dynamiquement une adresse IP à un système informatique qui se connecte au réseau.
Je ne vous expliquerais pas ici comment configurer un serveur dhcp ce n'est pas le but... Quelques paramètres importants : L'adresse réseau avec le netmask approprié; Un intervalle d'adresses disponibles; La durée des "baux".
Sauvegarde préalable à toute modification :
# cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig[/code]
Pour un serveur déja configuré, il suffit d'ajouter les 2 lignes suivantes :
filename "pxelinux.0"; next-server 192.168.0.1;
Le premier fichier "pxelinux.0" est l'amorce réseau. "next-server" est l'adresse ou la machine qui demande à booter va chercher le pxelinux.O; Rine ne vous empêche de mettre le serveur PXE sur une machine différente de votre DHCP, il suffit de le préciser.
# nano /etc/dhcp3/dhcpd.conf
# Private Network subnet 192.168.0.0 netmask 255.255.255.0 { filename "pxelinux.0"; next-server 192.168.0.1; deny unknown-clients; option ntp-servers 192.168.0.1; option time-servers 192.168.0.1; option domain-name-servers 195.99.65.220 , 195.99.66.220; option domain-name "beronono.com"; option broadcast-address 192.168.0.255; option subnet-mask 255.255.255.0; option routers 192.168.0.1; pool { deny unknown-clients; range 192.168.0.2 192.168.0.104; } [...] bla-bla
Vous remarquerez l'option "deny unknown-clients;". Supprimez pour commencer si vous n'avez pas déclaré vos clients "connus" comme ceci :
# debianne host debianne.beronono.com { hardware ethernet 00:0d:61:94:43:f0; fixed-address 192.168.0.5; }
Netboot Debian
Vous trouverez toutes les images nécessaires ICI
Récupérez les "netboot" des distributions qui vous intéressent :
wget http://ftp.fr.debian.org/debian/dists/oldstable/main/installer-i386/current/images/netboot/netboot.tar.gz wget http://ftp.fr.debian.org/debian/dists/oldstable/main/installer-amd64/current/images/netboot/netboot.tar.gz etc...
Le répertoire par défaut de tftp (créé à l'installation) est /var/lib/tftpboot c'est là que doivent aller tous les fichiers concernant vos images réseau et le menu de démarrage.
Créer les répertoires et sous-répertoires qui vont accueillir vos images netboot
# mkdir /var/lib/tftpboot/images # mkdir /var/lib/tftpboot/images/debian # mkdir /var/lib/tftpboot/images/debian/old-stable # mkdir /var/lib/tftpboot/images/debian/old-stable/i386 # mkdir /var/lib/tftpboot/images/debian/old-stable/amd64[/code]
etc...
Décompressez les répertoires amd64 ou i386 qui se trouvent dans les archives netboot.tar.gz vers /var/lib/tftpboot/images/debian/
Créez et configurez le fichier "/pxelinux.cfg/default"
# mkdir /var/lib/tftpboot/pxelinux.cfg/
Création du fichier default (c'est lui qui contient les information sur vos différentes netboot)
# nano /var/lib/tftpboot/pxelinux.cfg/default
prompt 1 timeout 300 NOESCAPE 1 display f1.msg F1 f1.msg F2 f2.msg
- Sous-menu Debian netboot
LABEL DebianNetboot
MENU LABEL Debian Netboot ---> kernel menu.c32 append images/debian/debian.conf
# nano /var/lib/tftpboot/images/debian/debian.conf
MENU TITLE --== Debian Netboot ==-- # Retour au menu principal LABEL rootmenu MENU LABEL <---- Menu principal kernel vesamenu.c32 append /pxelinux.cfg/default label 1 MENU LABEL Etch i386 kernel images/debian/old-stable/i386/linux append vga=normal initrd=images/debian/old-stable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall r$
label 2 MENU LABEL Etch amd64 kernel images/debian/old-stable/amd64/linux append vga=normal initrd=images/debian/old-stable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall $ label 3 MENU LABEL Lenny i386 kernel images/debian/stable/i386/linux append vga=normal initrd=images/debian/stable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw -- label 4 MENU LABEL Lenny amd64 kernel images/debian/stable/amd64/linux append vga=normal initrd=images/debian/stable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw $ label 5 MENU LABEL Squeeze i386 kernel images/debian/testing/i386/linux append vga=normal initrd=images/debian/testing/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw $ label 7 MENU LABEL Unstable i386 kernel images/debian/unstable/i386/linux append vga=normal initrd=images/debian/unstable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw $ label 8 MENU LABEL Unstable amd64 kernel images/debian/unstable/amd64/linux append vga=normal initrd=images/debian/unstable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw$
RescueSystemCd
- Obtenir la dernière image iso ici : http://sourceforge.net/projects/systemr ... x86/1.3.1/
- Monter l'image iso
- Créer le répertoire qui va recevoir les fichiers nécessaires
mkdir /var/lib/tftpboot/images/systemrescue
4) Copier les fichiers nécessaires (initram.igz, rescuecd, sysrcd.dat, sysrcd.md5)
/var/lib/tftpboot/images/systemrescue vdir total 214072 -r-xr-xr-x 1 laurent root 13392987 oct 4 15:58 initram.igz -r-xr-xr-x 1 laurent root 3842224 oct 4 15:47 rescuecd -r-xr-xr-x 1 laurent root 201736192 oct 4 15:57 sysrcd.dat -r-xr-xr-x 1 laurent root 45 oct 4 15:58 sysrcd.md5
5) Ajouter au menu de démarrage les lignes suivantes (nano /var/lib/tftpboot/pxelinux.cfg) - En changeant l'IP en fonction de votre configuration évidemment...
label systemrescue
menu label System Rescue kernel images/systemrescue/isolinux/rescuecd append setkmap=us netboot=tftp://192.168.0.17/images/systemrescue/sysrcd.dat initrd images/systemrescue/isolinux/initram.igz
pxeknife
Petit utilitaire très complet, à télécharger ici : http://pxeknife.erebor.org/
La dernière version (ce 2 août 2010) http://pxeknife.erebor.org/releases/pxeknife-0.0.2.tar.gz
Décompréssez l'archive dans /var/lib/tftpboot/images/pxeknife
Editez /var/lib/tftpboot/images/pxeknife/pxeknife.conf pour qu'il reflète votre configuration (changement des chemins si nécessaire)
Ajoutez cette entrée à /var/lib/tftpboot/pxelinux.cfg/default
#load pxe knife LABEL pxeknife MENU LABEL PXE Knife ---> kernel menu.c32 append images/pxeknife/pxeknife.conf
hdt
Un autre utilitaire très intéressant : http://www.hdt-project.org/wiki.
HDT (Hardware Detection Tool) est un utilitaire de détection du matériel
Téléchargement de la dernière image
$ wget http://www.hdt-project.org/raw-attachment/wiki/hdt-0.3.6/hdt-0.3.6.img
Il suffit de copier l'image dans le répertoire /var/lib/tftpboot/images Et d'ajouter les lignes suivantes à notre menu (default)
label hdt
menu label Hardware Detection Tool Floppy kernel memdisk initrd images/hdt-0.3.6.img
http://thefredsite.free.fr/linux.php?id=56
Le fichier french.kbd provient de Knoppix
Ajouter cette entrés dans défault
KBDMAP french.kbd
D'autres entrées...
Test...
Activez le démarrage à partir du réseau dans le bios (pensez à le désactiver une fois l'installation terminée...)
Tout ceci (les menus, les images amorçables...) sont paramétrables à l'infini, à vous de jouer !