PXE : Y a-t-il un bootloader sur l’réseau ?
Maquillage
Bon c’est bien gentil mais d’une part c’est moche et d’autre part c’est pas vraiment super pratique. On va donc faire un menu ressemblant à un bon vieux GRUB.
Tout d’abord on va tenter de faire les trucs proprement donc on va créer un petit dossier /var/tftp/tools qui contiendra les petits binaires et un autre /var/tftp/menu pour les menus.
On a donc cette arborescence :
/distros
…
/menu
/tools
/pxelinux.0
/pxelinux.cfg
/default
Il faut récupérer le binaire permettant de faire afficher un beau menu. Celui-ci se trouve dans syslinux.
Il nous faut maintenant modifier le fichier pxelinux.cfg/default pour utiliser ce binaire et faire un truc plus classe :
MENU TITLE Mon PXE
LABEL Lenny I386
MENU LABEL Installer Lenny I386
KERNEL distros/debian/lenny/i386/linux
APPEND vga=normal initrd=distros/debian/lenny/i386/initrd.gz
LABEL Lenny I386 Expert
MENU LABEL Installer Lenny I386 en mode Expert
KERNEL distros/debian/lenny/i386/linux
APPEND priority=low vga=normal initrd=distros/debian/lenny/i386/initrd.gz
LABEL Lenny amd64 linux
MENU LABEL Installer Lenny AMD64
KERNEL distros/debian/lenny/amd64/linux
APPEND vga=normal initrd=distros/debian/lenny/amd64/initrd.gz
LABEL Lenny amd64 expert
MENU LABEL Installer Lenny AMD64 en mode Expert
KERNEL distros/debian/lenny/amd64/linux
APPEND priority=low vga=normal initrd=distros/debian/lenny/amd64/initrd.gz
TIMEOUT 0
La première ligne appelle le binaire en lui fournissant en argument le fichier design.conf que l’on va créer de ce pas.
MENU MARGIN 10
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 12
MENU ENDROW 24
MENU TIMEOUTROW 20
MENU PASSWORDMARGIN 3
MENU PASSWORDROW 11
menu background menu/background.png
L’image de background doit être en png 24bits en 640*480 ce qui laisse pas mal de choix de fond d’écran.
Vous pouvez maintenant tester votre nouveau PXE tout en couleurs et bien plus fonctionnel. Vous avez maintenant un PXE ressemblant à un bon petit grub.
Et pour ceux qui cherchent la ptite bête qui les empeche de faire correctement un PXE LiveCD Gentoo, c’est par ici :
http://blog.dastrup.com/?p=12
A adapter car un peu vieillo.
wget ftp://machinblabla.com/truc -qO c’est mieux…sinon ça ne met pas le fichier au bon endroit 😉
encore une petite coquille :
# wget http://www.memtest.org/download/4.00/memtest86+-4.00.bin.gz
tar xvf memtest86+-4.00.bin.gz
# cp memtest86+-4.00/precomp.bin /var/tftp/tools/memtest
on pourrait mettre une version à jour :
# wget http://www.memtest.org/download/4.10/memtest86+-4.10.bin.gz
et ceci n’est pas un tar
gzip -d memtest86+-4.10.bin.gz && cp memtest86+-4.10.bin /var/tftp/tools/memtest
encore une petite coquille (désolé, le truc pour éditer ne fonctionne pas très bien…)
reboot.c32 se trouve (dans la version à jour de syslinux -3.86-) dans syslinux-3.86/com32/modules/reboot.c32
Génial cet article ! Merci ^^
Encore un petit commentaire pour signaler que les manips sont exactement les même pour Ubuntu (étonnant non ?) en utilisant l’initrd.gz et le linux fournis par http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/ (pour Lucid Lynx AMD64, je vous laisse le soin de parcourir les répertoires pour les versions i386 et autres distribs)
Prochaine étape : un PXE pour l’install de Windows ?
arghhh quel dommage de ne pas avoir continué le tuto sur la compilation des kernel pour le live nfs…
je ne suis pas un expert de la compil, encore moins du debootstrap…je suis donc bloqué avec Tiny Core Linux…
Une MAJ est-elle prévue ? (nb : j’ai remarqué que les suggestions de corrections que j’avais faites n’ont pas été intégrées au site)
Sn4kY → merci j’ai corrigé pour le reboot.c32 . Par contre, il existe bien une version tarball de syslinux (j’ai pris l’habitude de les préférer).
Concernant la compil du kernel c’est pas trop difficile, je te conseille ce tuto qui est prévu pour gentoo mais qui devrait passer comme sur des roulettes pour tout noyau nunux : http://www.gentoo.fr/install/configuration-noyau.htm . Il te faudra donc activer le support de root nfs dans les filesystems.
Concernant Debootstrap, c’est encore plus simple puisqu’il s’agit en fait d’un script qui se charge de créer une arboressence debian ou ubuntu en téléchargeant sur internet tout ce qu’il faut :
# debootstrap version_de_debian /endroit/ou/l’installer http://miroir.debian.que.tu.veux
N’hésites pas si tu as encore des soucis (par irc serait plus simple).
@ Lord :
je pense que je vais fortement m’inspirer du tuto pour rédiger le mien (avec des modifs particulières, notamment l’implémentation d’un apt-cacher)
je mettrai bien sur en source geekfault.
OK, je crois que je viens de capter, en fait l’export NFS du debootstrap et le “kernel_perso” que tu décrit ici n’ont rien à voir…J’avais compris qu’on obtenait le “kernel_perso” en compilant je ne sais quoi a partir de debootstrap…d’où mon incompréhension…
mais ayé, j’ai capté. effectivement, c’est mieux de se refaire un petit noyaux, aux oignons 🙂
Hop hop ! encore un petit feedback, vu que j’ai bien galéré, je vous en fait profiter.
Pour pouvoir activer THE option “Root File system on NFS” vous devez au préalable activer DHCP et BOOTP (tant qu’à faire) dans “Networking” —> “Networking Options” —> “IP: Kernel level autoconfiguration”
ensuite ça semble OK, (je pense que le module pour la carte réseau de mon eeePC 900 n’est pas intégré)
2uajz4
mc6v7p
qol5kb