« PXE Obsolete » : différence entre les versions

Aller à la navigation Aller à la recherche
3 013 octets ajoutés ,  il y a 7 ans
m
Lol a déplacé la page PXE vers PXE Obsolete sans laisser de redirection : Page obsolète
m (Lol a déplacé la page PXE vers PXE Obsolete sans laisser de redirection : Page obsolète)
 
(28 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Modèle:Ébauche|PXE}}
{{Modèle:stable|PXE}}


'''! 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 ==


Cet article propose de vous expliquer l’installation et la configuration d'un serveur PXE sur votre Debian.


== Installation par le réseau - Boot PXE ==
Le démarrage PXE (Pre-boot eXecution Environment) permet à une station de travail de démarrer depuis le réseau en récupérant une image de système d'exploitation qui se trouve sur votre serveur (Pour commencer: Debian Netinstall, PXEKnife, SysterescuCD, HDT, Knoppix et d'autres à venir)


=== Installation ===
=== Installation ===
Ligne 37 : Ligne 38 :
Copie des fichiers dont nous aurons besoin pour le PXE :
Copie des fichiers dont nous aurons besoin pour le PXE :


Du répertoire /var/lib/syslinux
Du répertoire /usr/lib/syslinux
:chain.c32
:chain.c32
:mboot.c32
:mboot.c32
Ligne 80 : Ligne 81 :


Le premier fichier "gpxelinux.0" est l'amorce réseau.
Le premier fichier "gpxelinux.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.
"next-server" est l'adresse la machine qui demande à booter va chercher le pxelinux.O; Rien 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
  # nano /etc/dhcp3/dhcpd.conf
Ligne 136 : Ligne 137 :
  # mkdir /var/lib/tftpboot/pxelinux.cfg/
  # mkdir /var/lib/tftpboot/pxelinux.cfg/


Création du fichier default (c'est lui qui contient les information sur vos différentes netboot)
Création du fichier default (c'est lui qui contient les informations sur vos différentes netboot)


  # nano /var/lib/tftpboot/pxelinux.cfg/default
  # nano /var/lib/tftpboot/pxelinux.cfg/default


  prompt 1
default menu.c32
  prompt 0
noescape 1
  timeout 300
  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
  label 1
        MENU LABEL Etch i386
  MENU LABEL Etch i386
        kernel images/debian/old-stable/i386/linux
  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$
  append vga=normal initrd=images/debian/old-stable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --
   
   
  label 2
  label 2
        MENU LABEL Etch amd64
  MENU LABEL Etch amd64
        kernel images/debian/old-stable/amd64/linux
  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 $
  append vga=normal initrd=images/debian/old-stable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --
   
   
  label 3
  label 3
        MENU LABEL Lenny i386
  MENU LABEL Lenny i386
        kernel images/debian/stable/i386/linux
  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  --
  append vga=normal initrd=images/debian/stable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
   
   
  label 4
  label 4
        MENU LABEL Lenny amd64
  MENU LABEL Lenny amd64
        kernel images/debian/stable/amd64/linux
  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 $
  append vga=normal initrd=images/debian/stable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --
   
   
  label 5
  label 5
        MENU LABEL Squeeze i386
  MENU LABEL Squeeze i386
        kernel images/debian/testing/i386/linux
  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  $
  append vga=normal initrd=images/debian/testing/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
   
   
  label 7
  label 7
        MENU LABEL Unstable i386
  MENU LABEL Unstable i386
        kernel images/debian/unstable/i386/linux
  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 $
  append vga=normal initrd=images/debian/unstable/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --
   
   
  label 8
  label 8
        MENU LABEL Unstable amd64
  MENU LABEL Unstable amd64
        kernel images/debian/unstable/amd64/linux
  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$
  append vga=normal initrd=images/debian/unstable/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --
 
Le menu ci-dessus nous donnera le résultat suivant :
 
[[Fichier:Capture d'écran - 03082010 - 07-29-44.png]]
 
C'est déjà pas mal, mais nous pouvons l'améliorer...
 
=== Amélioration du menu ===
 
Avant de poursuivre, et pour ne pas être noyés sous les entrées, nous allons améliorer un peu le menu...
 
Commençons pas renommer le menu /var/lib/tftpboot/pxelinux.cfg/default en /var/lib/tftpboot/debian.conf
 
Editons le fichier /var/lib/tftpboot/pxelinux.cfg/default pour y mettre ceci (Explication dessous)
 
default vesamenu.c32
prompt 0
kbdmap french.kbd
noescape 1
timeout 300
label bootlocal
  menu default
  menu label Local boot
  localboot 0
# Vers le sous-menu Debian netboot
label DebianNetboot
  menu label Debian Netboot --->
  kernel menu.c32
  append debian.conf
label reboot
  menu label Reboot
  kernel reboot.c32
 
Ce menu nous donne les avantages suivants :
Clavier en Français en cas d'édition du menu;
Meilleur rendu;
Possibilité de booter sur le premier disque dur (par défaut);
Ouvrir un sous-menu (ici vers debian.conf);
Rebooter la machine.
 
Nous ajouterons l'entrée suivante au sous-menu /var/lib/tftpboot/debian.conf qui nous permettra de revenir au menu principal :
 
# Retour au menu principal
label rootmenu
  MENU LABEL <---- Menu principal
  kernel vesamenu.c32
  append /pxelinux.cfg/default
 
Vous avez la base, tout ceci est paramétrable à l'infini...
 
[[Fichier:Capture d'écran - 03082010 - 08-33-09.png]]
 
[[Fichier:Capture d'écran - 03082010 - 08-35-29.png]]
 
=== Le menu avec un clavier Français ===
 
http://thefredsite.free.fr/linux.php?id=56
 
Le fichier [http://www.isalo.org/wiki.debian-fr/download/french.kbd french.kbd] provient de Knoppix
 
Ajouter cette entrée dans le fichier /var/lib/tftpboot/pxelinux.cfg/default
 
KBDMAP french.kbd


=== RescueSystemCd ===
=== RescueSystemCd ===
Ligne 208 : Ligne 257 :
4) Copier les fichiers nécessaires (initram.igz, rescuecd, sysrcd.dat, sysrcd.md5)
4) Copier les fichiers nécessaires (initram.igz, rescuecd, sysrcd.dat, sysrcd.md5)


/var/lib/tftpboot/images/systemrescue vdir
/var/lib/tftpboot/images/systemrescue vdir
total 214072
total 214072
-r-xr-xr-x 1 laurent root  13392987 oct  4 15:58 initram.igz
-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  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 201736192 oct  4 15:57 sysrcd.dat
-r-xr-xr-x 1 laurent root        45 oct  4 15:58 sysrcd.md5
-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...
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
label systemrescue
   menu label System Rescue
   menu label System Rescue
   kernel images/systemrescue/isolinux/rescuecd
   kernel images/systemrescue/isolinux/rescuecd
   append setkmap=us netboot=tftp://192.168.0.17/images/systemrescue/sysrcd.dat
   append setkmap=us netboot=tftp://192.168.0.17/images/systemrescue/sysrcd.dat
   initrd images/systemrescue/isolinux/initram.igz
   initrd images/systemrescue/isolinux/initram.igz
[[Fichier:Capture d'écran - 03082010 - 09-00-40.png]]


=== pxeknife ===
=== pxeknife ===


Petit utilitaire très complet, à télécharger ici : http://pxeknife.erebor.org/
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
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
Afin de na pas avoir à refaire les 19 fichiers de "conf" pour refléter votre installation, décompressez l'archive dans /var/lib/tftpboot/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
Ajoutez cette entrée à /var/lib/tftpboot/pxelinux.cfg/default
Ligne 239 : Ligne 288 :
   MENU LABEL PXE Knife --->
   MENU LABEL PXE Knife --->
   kernel menu.c32
   kernel menu.c32
   append images/pxeknife/pxeknife.conf
   append pxeknife/pxeknife.conf
 
[[Fichier:Capture d'écran - 03082010 - 09-16-04.png]]
 
Super Grub Disk !!!
 
[[Fichier:Capture d'écran - 03082010 - 09-17-38.png]]
 
Je vous laisse découvrir l'intégralité des menus pas vous-même ^^


=== hdt ===
=== hdt ===
Ligne 254 : Ligne 311 :
Et d'ajouter les lignes suivantes à notre menu (default)
Et d'ajouter les lignes suivantes à notre menu (default)


label hdt
label hdt
   menu label Hardware Detection Tool Floppy
   menu label Hardware Detection Tool Floppy
   kernel memdisk
   kernel memdisk
   initrd images/hdt-0.3.6.img
   initrd images/hdt-0.3.6.img


=== Un menu avec un clavier Français ===
[[Fichier:Capture d'écran - 03082010 - 15-35-34.png]]
 
http://thefredsite.free.fr/linux.php?id=56
 
Le fichier [http://www.isalo.org/wiki.debian-fr/download/french.kbd french.kbd] provient de Knoppix
 
Ajouter cette entrés dans défault
 
KBDMAP french.kbd


=== Une option "reboot" et démarrage sur le disque dur ===
=== Une option "reboot" et démarrage sur le disque dur ===
Ligne 285 : Ligne 334 :




=== Knoppix 511 et 602 ===
=== Knoppix 511 et 620 ===


Pour utiliser les images ISO de Knoppix, nous allons avoir besoin d'un serveur NFS :
Pour utiliser les images ISO de Knoppix, nous allons avoir besoin d'un serveur NFS :
Ligne 298 : Ligne 347 :


  # mkdir /mnt/sdb1/knoppix511
  # mkdir /mnt/sdb1/knoppix511
  # mkdir /mnt/sdb1/knoppix602
  # mkdir /mnt/sdb1/knoppix620


Montez les CD et copiez leur contenu dans les répertoires que vous venez de créer
Montez les CD et copiez leur contenu dans les répertoires que vous venez de créer
Ligne 330 : Ligne 379 :
miniroot.gz et vmlinuz
miniroot.gz et vmlinuz


Vous copierez ces fichiers dans les répertoires que vous allez créer /var/lib/tftpboot/images/knoppix/511 et 602
Vous copierez ces fichiers dans les répertoires que vous allez créer /var/lib/tftpboot/images/knoppix/511 et 620


Donc vous devriez avoir ceci dans chaque répertoire
Donc vous devriez avoir ceci dans chaque répertoire
(si vous avez choisi d'installer knoppix 5 et knoppix 6)


miniroot.gz, vmlinuz
miniroot.gz, vmlinuz
Ligne 340 : Ligne 388 :


  /mnt/sdb1/knoppix511 *(ro,no_subtree_check,no_root_squash)
  /mnt/sdb1/knoppix511 *(ro,no_subtree_check,no_root_squash)
  /mnt/sdb1/knoppix602 *(ro,no_subtree_check,no_root_squash)
  /mnt/sdb1/knoppix620 *(ro,no_subtree_check,no_root_squash)


Redémarrez le serveur NFS
Redémarrez le serveur NFS
Ligne 352 : Ligne 400 :
   kernel images/knoppix/511/vmlinuz
   kernel images/knoppix/511/vmlinuz
   append nfsdir=192.168.0.17:/mnt/sdb1/knoppix511 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=images/knoppix/511/miniroot.gz quiet BOOT_IMAGE=knoppix
   append nfsdir=192.168.0.17:/mnt/sdb1/knoppix511 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=images/knoppix/511/miniroot.gz quiet BOOT_IMAGE=knoppix
  label Knoppix602
   MENU LABEL Knoppix 6.0.2
  label Knoppix620
   kernel images/knoppix/602/vmlinuz
   MENU LABEL Knoppix 6.2.0
   append nfsdir=192.168.0.17:/mnt/sdb1/knoppix602 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=images/knoppix/511/miniroot.gz quiet BOOT_IMAGE=knoppix
   kernel images/knoppix/620/vmlinuz
   append nfsdir=192.168.0.17:/mnt/sdb1/knoppix620 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=images/knoppix/620/miniroot.gz quiet BOOT_IMAGE=knoppix
 
[[Fichier:Capture d'écran - 03082010 - 15-48-39.png]]


=== D'autres entrées... ===
=== D'autres entrées... ===
Ligne 364 : Ligne 415 :


Tout ceci (les menus, les images amorçables...) sont paramétrables à l'infini, à vous de jouer !
Tout ceci (les menus, les images amorçables...) sont paramétrables à l'infini, à vous de jouer !
== Problèmes connus ==
=== tftpd-hpa et l'IPv6 ===
Si vous avez desactivé l'IPv6 dans votre kernel, tftpd-hpa qui est compilé pour démarrer sur IPv4 et IPv6 ne démarrera pas.
Solution: re-configurer tftpd-hpa pour qu'il ne démarre que sur IPv4:
# dpkg-reconfigure tftpd-hpa
[[Fichier:tftpd-hpa et IPv4.png]]
=== PXE ne s'arrête pas convenablement ===
Dans la version pxe/1.4.2-7 un bug "normal" subsiste (moi je le considère plutôt comme important, mais ce n'est pas moi qui décide...) : [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657101 Quand on l'arrête, PXE tourne en boucle à l'infini en attendant que le fichier pid disparaisse]
Contournement: Modifier le fichier /etc/init.d/pxe tel que:
Remplacer ceci:
<pre>
wait_no_pid()
{
      while [ -e "$PID" ]
      do
              sleep 1
      done
}
</pre>
Par cela:
<pre>
wait_no_pid()
  {
          local pid=$(cat "${PID}" 2>/dev/null) || return 0
          local exe=$(readlink "/proc/${pid}/exe" 2>/dev/null) || :
          while [ "${exe}" = "${DAEMON}" ]
          do
                  sleep 1
                  pid=$(cat "${PID}" 2>/dev/null) || return 0
                  exe=$(readlink "/proc/${pid}/exe" 2>/dev/null) || :
          done
          rm -f "${PID}"
  }
</pre>
[[Utilisateur:Lol|Lol]] 3 août 2010 à 03:46 (UTC)
Mots cléf : Debian PXE Netboot SystemRescueCd pxeknife HDT Knoppix
[[Category:Serveurs]]
Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321

modifications

Menu de navigation