Diverses configurations pour boot réseau PXE

Fonction assez méconnue et pourtant compatible avec la plupart des cartes réseaux même bas de gamme, le boot d’un ordinateur sur le réseau depuis un serveur PXE / TFTP est très utile. Lancer un système (installeur GNU/LINUX et autres live CD) en RAM depuis le réseau est plus performant que le boot depuis des supports physiques tels que CD/DVD ou clé USB.

Voici l’écran d’accueil du mien:
PXE Boot Menu

La doc pour faire tourner un serveur PXE / FTTP est assez fournie sur le web. Je n’aborderai pas le sujet. Personnellement, j’utilise tftpd-hpa sous Debian.

Par contre, il est plus difficile de trouver des options correctes pour fournir le service correctement (langue, keymap,…). Je met donc à dispo mes configurations, ça servira bien à quelqu’un.

Cette configuration est basée sur un fichier de menu Père chargé de la mise en page et de la gestion des menus principaux. Chaque menus principal est lié à un fichier de configuration ‘fils’.
Note:

      SERVER_IP = IP du serveur NFS (et web dans certains cas pour fournir le squashfs)
      ISO_MOUNT_PATH = chemin du montage NFS de l’iso (ex: /media/iso)

Ubuntu

Le liveCD Ubuntu-fr et les netinstall


menu begin Natty Narwhal
menu title Natty 11.04
label mainmenu
menu label ^Retour...
menu exit
DEFAULT Live Natty amd64
label Live Natty i386
menu label ^Live i386
kernel ubuntu/natty/i386/live/vmlinuz
append boot=casper netboot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH initrd=ubuntu/natty/i386/live/initrd.lz locale=fr_FR console-setup/layoutcode=fr splash=silent
label Live Natty amd64
menu label ^Live amd64
kernel ubuntu/natty/amd64/live/vmlinuz
append boot=casper netboot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH lang=fr initrd=ubuntu/natty/amd64/live/initrd.lz kbdmap=fr keymap=azerty splash=silent locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys
LABEL Natty i386 GTK (Test)
kernel ubuntu/natty/i386/linux-gtk
append video=vesa:ywrap,mtrr vga=normal initrd=ubuntu/natty/i386/initrd-gtk.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty amd64 GTK (Test)
kernel ubuntu/natty/amd64/linux
append vga=normal initrd=ubuntu/natty/amd64/initrd-gtk.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty i386
kernel ubuntu/natty/i386/linux
append vga=normal initrd=ubuntu/natty/i386/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty amd64
kernel ubuntu/natty/amd64/linux
append vga=normal initrd=ubuntu/natty/amd64/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty i386 server
kernel ubuntu/natty/i386/linux
append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/natty/i386/initrd.gz
LABEL Natty amd64 server
kernel ubuntu/natty/amd64/linux
append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu/natty/amd64/initrd.gz
LABEL Natty i386 expert
kernel ubuntu/natty/i386/linux
append DEBCONF_PRIORITY=low vga=normal initrd=ubuntu/natty/i386/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty amd64 expert
kernel ubuntu/natty/amd64/linux
append DEBCONF_PRIORITY=low vga=normal initrd=ubuntu/natty/amd64/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw --
LABEL Natty i386 server-expert
kernel ubuntu/natty/i386/linux
append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false DEBCONF_PRIORITY=low vga=norma$
LABEL Natty amd64 server-expert
kernel ubuntu/natty/amd64/linux
append base-installer/kernel/linux/extra-packages-2.6= pkgsel/install-pattern=~t^ubuntu-standard$ pkgsel/language-pack-patterns= pkgsel/install-language-support=false DEBCONF_PRIORITY=low vga=norma$
menu end

Debian Squeeze amd64


default install
label install
menu label ^Install
menu default
kernel debian/squeeze/amd64/linux
append vga=normal initrd=debian/squeeze/amd64/initrd.gz -- quiet
label expert
menu label ^Expert install
kernel debian/squeeze/amd64/linux
append priority=low vga=normal initrd=debian/squeeze/amd64/initrd.gz --
label rescue
menu label ^Rescue mode
kernel debian/squeeze/linux
append vga=normal initrd=debian/squeeze/amd64/initrd.gz rescue/enable=true -- quiet
label auto
menu label ^Automated install
kernel debian/squeeze/amd64/linux
append auto=true priority=critical vga=normal initrd=debian/squeeze/amd64/initrd.gz -- quiet

XBMC


LABEL XBMCLive Camelot
MENU LABEL XBMC Live
KERNEL xbmc/xbmc-9.11/vmlinuz
APPEND initrd=xbmc/xbmc-9.11/initrd.img root=/dev/nfs boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH boot=live fetch=http://SERVER_IP/filesystem-xbmc911.squashfs vga=788 xbmc=tempfs,nodiskmount,setvolume splash loglevel=2 quickreboot quickusbmodules notimezone noaccessibility noapparmor noaptcdrom noautologin noxautologin noconsolekeyboard nofastboot nognomepanel nohosts nokpersonalizer nolanguageselector nolocales nonetworking nopowermanagement noprogramcrashes nojockey nosudo noupdatenotifier nouser nopolkitconf noxautoconfig noxscreensaver nopreseed

LABEL XBMCLive Dharma Beta4
MENU LABEL XBMC Live Beta
KERNEL xbmc/xbmc-DharmaB4/vmlinuz
APPEND initrd=xbmc/xbmc-DharmaB4/initrd.img root=/dev/nfs boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH boot=live fetch=http://SERVER_IP/filesystem-xbmcdharmab4.squashfs video=vesafb boot=live xbmc=autostart,nodiskmount splash loglevel=2 quickreboot quickusbmodules notimezone noaccessibility noapparmor noaptcdrom noauto

Geexbox


DEFAULT Live HDTV

LABEL Geexbox x86_64
MENU LABEL Live
KERNEL geexbox/1.2.4-x86_64/vmlinuz
APPEND initrd=geexbox/1.2.4-x86_64/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH/GEEXBOX lang=fr remote=atiusb receiver=atiusb keymap=azerty splash=silent video=vesafb:ywrap,mtrr quiet

LABEL hdtv
MENU DEFAULT
MENU LABEL Live HDTV
KERNEL geexbox/1.2.4-x86_64/vmlinuz
APPEND initrd=geexbox/1.2.4-x86_64/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH/GEEXBOX lang=fr remote=atiusb receiver=atiusb keymap=azerty splash=silent vga=789 video=vesafb:ywrap,mtrr hdtv quiet

LABEL install
MENU LABEL Install
KERNEL geexbox/1.2.4-x86_64/vmlinuz
APPEND initrd=geexbox/1.2.4-x86_64/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH/GEEXBOX lang=fr remote=atiusb receiver=atiusb keymap=azerty splash=silent vga=789 video=vesafb:ywrap,mtrr installator quiet

MENU SEPARATOR

LABEL debug
MENU LABEL Live debug
KERNEL geexbox/1.2.4-x86_64/vmlinuz
APPEND initrd=geexbox/1.2.4-x86_64/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH/GEEXBOX lang=fr remote=atiusb receiver=atiusb keymap=azerty splash=0 vga=789 video=vesafb:ywrap,mtrr debugging

LABEL hdtvdebug
MENU LABEL Live HDTV debug
KERNEL geexbox/1.2.4-x86_64/vmlinuz
APPEND initrd=geexbox/1.2.4-x86_64/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH/GEEXBOX lang=fr remote=atiusb receiver=atiusb keymap=azerty splash=0 vga=789 video=vesafb:ywrap,mtrr hdtv debugging
menu end

Gparted


label GParted Live 0.7.1-5
menu label GParted Live 0.7.1-5
kernel gparted/0.7.1-5/vmlinuz
append initrd=gparted/0.7.1-5/initrd.img boot=live config noswap noprompt lang=fr fetch=http://SERVER_IP/filesystem-parted_live_0.7.1-5.squashfs
TEXT HELP
* GParted live version: 0.7.1-5. Live version maintainer: Steven Shiau
ENDTEXT

label GParted Live 0.5.1-1
menu label GParted Live 0.5.1-1
kernel gparted/0.5.1-1/vmlinuz
append initrd=gparted/0.5.1-1/initrd.img boot=live union=aufs noswap noprompt vga=788 lang=fr fetch=http://SERVER_IP/filesystem-parted_live_0.5.1-1.squashfs

Clonezilla


label Clonezilla
MENU LABEL Clonezilla Live 1.2.3-27
kernel clonezilla/1.2.3-27/vmlinuz
append initrd=clonezilla/1.2.3-27/initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://SERVER_IP/filesystem-clonezilla12327.squashfs

Backtrack


label Live Backtrack
menu label ^Live Backtrack 5
kernel backtrack/5-GNOME-32/vmlinuz
append boot=casper netboot=nfs nfsroot=SERVER_IP:ISO_MOUNT_PATH initrd=backtrack/5-GNOME-32/initrd.gz

DBAN (Darik’s Boot and Nuke)


label Darik's Boot and Nuke
menu Darik's Boot and Nuke
kernel dban/1.0.7/i386/kernel.bzi
APPEND initrd=dban/1.0.7/i386/initrd.gz root=/dev/ram0

BONUS

Samouraï Tux special PXE

PXE-splash

PXE-splash: 8 bit colors

5 réponses à “Diverses configurations pour boot réseau PXE”

  1. djr dit :

    Bonjour,

    Très bon tuto et je pense/souhaite m’en inspirer grandement.

    Du reste 3 questions, puis-je récupérer le tux samourai que tu as mis en menu quelque part (oui, je sais c’est essentiel ! ;-))

    et dans ce que tu as mis en ligne, je serais intéressé pour avoir le menu principal … qui affiche les liens vers les menus que tu as mis en ligne pour exemple

    Bon histoire d’abuser franchement, la configuration coté paquet debian fait-elle bon ménage avec un serveur dhcp classique (debian 7.x) ? et si tu pouvais mettre en ligne où me pousser le conf pour tftpd-hpa cela serait tip-top

    De mon coté je souhaite faire cohabiter le tout avec un serveur dhcp/dns et, la cerise sur le gateau serait de pouvoir booter une image iso zindows car de tant à autre j’ai besoin de réinstaller ce fichu OS qui prend des heures, des jours et plus encore

    Dans tous les cas merci pour ces sous-menus comme quoi y en a toujours un sur la toile qui…

  2. djr dit :

    bon, en cherchant un peu j’ai trouvé pas mal de choses…sauf l’image de tux en samourai !

    pour tftpd-hpa j’ai trouvé des confs exemple ainsi que le menu racine

    donc un lien vers tux serait sympa ;-))

  3. djr dit :

    hummm pour faire booter zindows via PXE (http://pnijjar.freeshell.org/2013/win7-pxe/) c’est tellement simple que je vais rester avec ma clé USB !

    Au passage je te recommande esay2boot quand on a pas de serveur pxe sous la main cela fonctionne très bien (accès aux vrais menu des images ISO). Une fois la clé configurée, on se contente de déposer les images ISO dans le bon dossier et hop ! c’est fait http://www.lecadelo.fr/easy2boot-une-trousse-a-outils-de-poche/

    @++

  4. Booloki dit :

    Hello djr,

    J’ai ajouté le fichier du Tux en samouraï dans le post (je n’ai que l’image transformé pour le PXE).

    Je vais regarder tes liens.

    • djr dit :

      Merci c’est sympa comme cela j’aurai un joli menu ! ;-))

      Éventuellement, si tu peux mettre en ligne une copie du menu principal comme cela je pourrais partir sur des bonnes bases !

      Dans tous les cas merci et n’hésite pas à revenir vers moi concernant des infos que j’aurai mis en ligne

      @++

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Le temps imparti est dépassé. Merci de recharger le CAPTCHA.