Pas de boot PXE

Hello, bonsoir tout le monde !

Je tente l’installation d’une debian sur une machine où je ne peux pas mettre de disque optique pour diverses raisons
Je tente donc de le faire par PXE, ça me sers aussi d’expérience parce que je n’en ai jamais fait et que ça m’intéressais bien :slightly_smiling:

J’en suis donc au stade où le serveur PXE semble bien configuré (dhcp + pxe + atftp) ils démarrent sans message d’erreur :slightly_smiling:
(Ceci dit, si je les démarre plusieurs fois, ils ne disent rien non plus)

Coté cliente maintenant, ça démarre, ça cherche et ça ne trouve rien …
sur le serveur j’ai bien les DHCPDISCOVER > DHCPOFFER qui apparaissent dans /var/log/messages avec une bonne ip proposée et c’est tout, le client stoppe après ça et boote normalement …

Maintenant je suis un peu perdu parce que je ne sais pas où regarder pour trouver où est-ce que ça coince, la machine cliente étant seulement en train de booter je ne peux rien voir de ce qui s’y passe, et sur le serveur à part surveiller les logs … ?
Auriez vous un aiguillage à me proposer ?
Merci !

[Je sais que je devrais pouvoir installer depuis une clé USB, mais j’aimerais d’abord avoir un pxe qui marche, histoire de me dire que j’en ai installé un déjà :slightly_smiling: ]

Salut,

J’ai fait un petit T&A sur le PXE, ici viewtopic.php?f=8&t=23693&start=0

Rien de transcendant… Regarde déjà, peut-être que ça t’aidera ? D’ailleurs si tu as des suggestions… :wink:

Il arrive, je ne sais pas pourquoi, que certaines machines n’acceptent pas l’IP envoyée par le DHCP. Je n’ai pas compris le refus, car le serveur reçoit bien la demande et fait son offre d’IP, rien ne bloque au niveau du pare-feu…

Regarde aussi du côté du bios de la machine qui demande, il y a parfois quelques options “exotiques” pour le démarrage réseau…

Je ne peut pas t’aider plus malheureusement…

C’est déjà pas mal !
Merci :slightly_smiling:

Il n’y a pas moyen de fixer l’ip de la machine cliente ? Je sais c’est étrange et ça resterai un cas d’utilisation assez rare, mais ça serait bien pratique :slightly_smiling:

Je vais regarder ton guide, peut être que … ?

[quote=“Epy”]C’est déjà pas mal !
Merci :slightly_smiling:
Il n’y a pas moyen de fixer l’ip de la machine cliente ? Je sais c’est étrange et ça resterai un cas d’utilisation assez rare, mais ça serait bien pratique :slightly_smiling:
Je vais regarder ton guide, peut être que … ?[/quote]

Si si avec quelque chose comme ça dans dhcp.conf

# lol-eeepc
host eeepc {
        hardware ethernet 00:23:54:7C:FB:B1;
        fixed-address 192.168.0.3;
        }

Il te faut l’adresse MAC de chaque machine.

Sont trop forts ces devs :smiley:
C’est parfaitement ce qu’il me faut et ça ne me pose aucun souci car je n’ai qu’une seule machine à installer :smiley:
Perfect
j’aurai des remarques ou des compléments à te faire ajouter pour le tuto, il manque de précisions je pense. Enfin je verrai ça une fois que j’aurai réussi :slightly_smiling:

[quote=“Epy”]Sont trop forts ces devs :smiley:
C’est parfaitement ce qu’il me faut et ça ne me pose aucun souci car je n’ai qu’une seule machine à installer :smiley:
Perfect
j’aurai des remarques ou des compléments à te faire ajouter pour le tuto, il manque de précisions je pense. Enfin je verrai ça une fois que j’aurai réussi :slightly_smiling:[/quote]

Je prend toutes les remarques… J’ai fait ça en “touriste” comme toi. J’ai monté le PXE chez moi et j’ai eu envie d’en faire un espèce de pense-bête (que je suis…).
C’est très certainement plein de défauts et/ou d’omissions. Je suis un très mauvais pédagogue… Chacun son truc :mrgreen:

:smt006

Bon, je pense avoir compris le problème dans mon cas … le serveur tftp ne veut pas démarrer, il foire sa première configuration après install
Je l’ai relancée et j’ai un message d’erreur à la noix

Déjà pourquoi “HPA” ? Ça signifie quoi par rapport à la version tftpd “normale” ?
Ensuite je comprends pas pourquoi le script d’init foire, je ne l’ai pas modifié ?

Version installée: 0.48-2.3

Je vais voir si je peux m’en sortir avec atftpd \o/
Si quelqu’un a une idée brillante là dessus je veux bien (et même si elle n’est pas brillante en fait, ça sera toujours une piste :stuck_out_tongue: )

Pfff :frowning:
Je n’ai rien trouvé pour configurer atftpd, et ça boote toujours pas en suivant ton guide plus un tuto sur léa linux, il me dit
"No boot file name received" ou quelque chose du genre… et pourtant j’ai tout bien réglé… y’avait pas mal de paramètres d’ailleurs qui n’apparaissaient pas ou pas clairement dans les autres tutos et qui sont dans le tien

:frowning:

Edit: Ah, apparement j’ai réussi ! Il a trouvé le fichier, il fait juste des “TFTP open timeout” à la récupération :S mais ça progresse enfin !
Bon, il ne trouve pas l’image …

Voilà mon arborescence, je suppose que c’est là que ça déconne mais …

[quote]
.:
total 28K
drwxr-xr-x 3 root root 4,0K aoû 31 00:19 debian
-rw-r–r-- 1 root root 106 nov 13 17:52 f1.msg
-rwxr-xr-x 1 root root 16K nov 13 18:59 pxelinux.0 <-- Copie de /usr/lib/syslinux/pxelinux.0 -->
-rw-r–r-- 1 root root 230 nov 13 19:41 pxelinux.cfg

./debian:
total 7,2M
<— Decompression de l’archive netboot.tar.gz dans ce dossier—>
drwxr-xr-x 3 root root 4,0K aoû 31 00:19 debian-installer
-rw-r–r-- 1 root root 7,2M aoû 31 00:19 netboot.tar.gz
lrwxrwxrwx 1 root root 32 nov 13 16:06 pxelinux.0 -> debian-installer/i386/pxelinux.0
lrwxrwxrwx 1 root root 34 nov 13 16:06 pxelinux.cfg -> debian-installer/i386/pxelinux.cfg
-rw-r–r-- 1 root root 61 aoû 31 00:19 version.info

./debian/debian-installer:
total 4,0K
drwxr-xr-x 4 root root 4,0K aoû 31 00:19 i386

./debian/debian-installer/i386:
total 7,2M
drwxr-xr-x 2 root root 4,0K aoû 31 00:19 boot-screens
-rw-r–r-- 1 root root 5,8M aoû 31 00:19 initrd.gz
-rw-r–r-- 1 root root 1,5M aoû 31 00:19 linux
-rwxr-xr-x 1 root root 16K aoû 31 00:19 pxelinux.0
drwxr-xr-x 2 root root 4,0K aoû 31 00:19 pxelinux.cfg

./debian/debian-installer/i386/boot-screens:
total 224K
-rw-r–r-- 1 root root 487 aoû 31 00:19 adtxt.cfg
-rw-r–r-- 1 root root 123 aoû 31 00:19 exithelp.cfg
-rw-r–r-- 1 root root 568 aoû 31 00:19 f10.txt
-rw-r–r-- 1 root root 886 aoû 31 00:19 f1.txt
-rw-r–r-- 1 root root 665 aoû 31 00:19 f2.txt
-rw-r–r-- 1 root root 695 aoû 31 00:19 f3.txt
-rw-r–r-- 1 root root 417 aoû 31 00:19 f4.txt
-rw-r–r-- 1 root root 806 aoû 31 00:19 f5.txt
-rw-r–r-- 1 root root 1,2K aoû 31 00:19 f6.txt
-rw-r–r-- 1 root root 916 aoû 31 00:19 f7.txt
-rw-r–r-- 1 root root 1019 aoû 31 00:19 f8.txt
-rw-r–r-- 1 root root 765 aoû 31 00:19 f9.txt
-rw-r–r-- 1 root root 890 aoû 31 00:19 menu.cfg
-rw-r–r-- 1 root root 629 aoû 31 00:19 prompt.cfg
-rw-r–r-- 1 root root 6,2K aoû 31 00:19 splash.png
-rw-r–r-- 1 root root 543 aoû 31 00:19 stdmenu.cfg
-rw-r–r-- 1 root root 169 nov 13 17:48 syslinux.cfg
-rw-r–r-- 1 root root 169 aoû 31 00:19 txt.cfg
-rwxr-xr-x 1 root root 143K aoû 31 00:19 vesamenu.c32

./debian/debian-installer/i386/pxelinux.cfg:
total 0
lrwxrwxrwx 1 root root 28 nov 13 16:06 default -> …/boot-screens/syslinux.cfg[/quote]

Apparemment, c’est une version “améliorée” de tftp[quote]tftp-hpa is an enhanced version of the BSD TFTP client and server[/quote]

[quote=“Epy”]Bon, je pense avoir compris le problème dans mon cas …[…]

[quote]
Starting HPA’s tftpd: in.tftpdinvoke-rc.d: initscript tftpd-hpa, action “start” failed.
dpkg: erreur de traitement de tftpd-hpa (–configure) :
le sous processus post-installation script a retourné une erreur de sortie d’état 67
Des erreurs ont été rencontrées
… bla bla bla …
[/quote] As-tu réglé ce problème ? Sans tftp-hpa pas de PXE !

[quote=“Epy”][…]Edit: Ah, apparement j’ai réussi ! Il a trouvé le fichier, il fait juste des “TFTP open timeout” à la récupération :S mais ça progresse enfin !
Bon, il ne trouve pas l’image …
[/quote][/quote] ! Du mieux… Tu y es presque là.

Pour faciliter les essais, si tu as VirtualBox, tu peux t’en servir (n’oublie pas de configurer le réseau en “connexion de pont” pour qu’il cherche une IP sur le DHCP du serveur et non sur le celui de VirtualBox)

Je regarde tout à l’heure ma config.

Hello
Tu as pu regarder le schéma de ton arborescence ?
Pour ma part j’ai continué des essais en changeant la configuration pour lui indiquer le chemin mais il ne veut rien savoir…
Je pense que c’est bien le pxelinux.0 qu’il faut lui donner ? et ce dernier devrait trouver l’image…
L’emplacement de ces fichiers change pas mal d’un tuto à l’autre, et parfois dans un même tuto ils mélangent (ou alors je n’ai pas bien compris)
du coup c’est un sacré bordel pour m’y retrouver…

Alors :

laurent@spider:/var/lib/tftpboot$ vdir
total 12612
drwxr-xr-x 6 root    root       4096 oct 27 18:31 debian
drwxr-xr-x 3 root    root       4096 nov  3 17:42 debian-live
-rw-r--r-- 1 laurent laurent     256 oct 31 08:44 french.kbd
drwxr-xr-x 4 root    root       4096 oct 27 15:08 knoppix
drwxr-xr-x 7 root    root       4096 oct 28 10:43 livecd
-rwxr-xr-x 1 root    root      55216 sep  6  2008 menu.c32
-rw-r--r-- 1 laurent root       2943 oct 30 16:36 menu.lst
-rw-r--r-- 1 root    root    3208728 oct 27 16:10 miniroot5.gz
-rwxr-xr-x 1 laurent root    4693690 oct 28 13:05 miniroot6.gz
-rwxr-xr-x 1 root    root      15820 sep  6  2008 pxelinux.0
drwxr-xr-x 2 root    root       4096 nov  3 17:53 pxelinux.cfg
-rw-r--r-- 1 root    root       9519 avr  8  2009 splash.rle
drwxr-xr-x 3 root    root       4096 nov  3 10:10 SUzE112
drwxr-xr-x 2 root    root       4096 oct 28 11:02 sysrcd
drwxr-xr-x 5 root    root       4096 nov  3 09:21 ubuntu
-rwxr-xr-x 1 root    root     145800 sep  6  2008 vesamenu.c32
-rw-r--r-- 1 root    root    2029901 oct 27 16:10 vmlinuz5
-rwxr-xr-x 1 laurent root    2632944 oct 28 13:04 vmlinuz6
laurent@spider:/var/lib/tftpboot/pxelinux.cfg$ vdir
total 8
-rw-r--r-- 1 root root 6631 nov  3 17:56 default
laurent@spider:/var/lib/tftpboot/debian/stable/amd64$ vdir
total 8
drwxr-xr-x 3 root root 4096 aoû 31 01:23 debian-installer
lrwxrwxrwx 1 root root   33 oct 25 08:45 pxelinux.0 -> debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root   35 oct 25 08:45 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
-rw-r--r-- 1 root root   61 aoû 31 01:23 version.info

J’avoue que ce n’est pas évident. J’ai modifié pas mal depuis le T&A que j’ai publié (plein de tests plus ou moins réussis…)
Pas sur que ça t’aide beaucoup.
Il faut peut-être reprendre depuis le début.
Souvent, à force de faire des essais… on fini par mettre le bazar…
Commence avec un seul netboot, sans support nfs !

Je vais reprendre oui, même si ça m’agace un peu ça sera la seule façon de comprendre et retenir ce que j’ai fait :slightly_smiling:
A la limite il faudrait que je ne me base que sur ton tuto (pour éviter de confondre), et que je te signale à chaque chose que je rencontre là où ça coince, on en profitera pour le mettre à jour ensemble

Au moins y’en aura un sur le net qui sera complet et qu’on peut suivre d’un seul trait sans être bloqué ^^

Par contre, tu me parles du support NFS, je n’ai rien installé de tel volontairement. C’est quel paquet/config qui lance ce support ? Parce que je n’en ai effectivement pas besoin

Merci :slightly_smiling:

[quote=“Epy”]Je vais reprendre oui, même si ça m’agace un peu ça sera la seule façon de comprendre et retenir ce que j’ai fait :slightly_smiling:
A la limite il faudrait que je ne me base que sur ton tuto (pour éviter de confondre), et que je te signale à chaque chose que je rencontre là où ça coince, on en profitera pour le mettre à jour ensemble

Au moins y’en aura un sur le net qui sera complet et qu’on peut suivre d’un seul trait sans être bloqué ^^

Par contre, tu me parles du support NFS, je n’ai rien installé de tel volontairement. C’est quel paquet/config qui lance ce support ? Parce que je n’en ai effectivement pas besoin

Merci :slightly_smiling:[/quote]

Re,
ça me semble être une excellente idée ! Je suis OK pour t’apporter le support dont tu pourrais avoir besoin au cas ou (je ne suis pas un cador tu sais…)
Le support nfs c’est pour des images plus complexes à lancer sur le réseau… Les fichiers sont accessibles au client via nfs-server. Mais ça ce sera pour la deuxième étape. D’abord un netboot tout simple ! :smt006

/var/lib/tftpboot/pxelinux.cfg est un répertoire
On vient de le créer au paragraphe précedent, je ne peux donc plus rien faire ici à part écraser mon répertoire.

Voilà ma première nouvelle tentative, avec les suggestions de modifications et là où ça semble foirer avec mon installation (à priori classique)

:wink:

Salut,

[quote=“Epy”]avec aptitude non ? :wink:[/quote]si tu préfère, mais ça ne changera rien… :wink:

[quote=“Epy”]Starting DHCP server: dhcpd3check syslog for diagnostics. failed! failed ![/quote]Normal il n’est pas encore configuré

[quote=“Epy”]netstat -uap | grep tftp
me renvoie rien du tout… (comme la première fois)[/quote]Là, ce n’est pas normal. Tant que ça ne fonctionnera pas inutile d’aller plus loin…

[quote=“Epy”][quote=“lol”]
Rien à configurer pour pxe, laissez la configuration tel quelle…

Je veux bien, mais ça me semble bizarre de lui laisser l’adresse par défaut en 172.28. sur un réseau en 192.168. dans le /etc/pxe.conf[/quote][/quote]Je revérifie tout à l’heure…

[quote=“Epy”]Pareil pour le domaine et le dossier racine du tftp que j’avais changés la première fois[/quote]Idem, je revérifie.

[quote=“Epy”]Il peut-être intéressant de dire qu’un serveur DHCP a besoin d’au moins trois paramètres, une adresse de début et une de fin des baux IP disponibles sur le réseau et la durée d’un bail.
next-server’ sert à indiquer l’IP du serveur où se trouve l’image à charger en PXE, cela me semble important de le préciser, l’autre paramètre étant plutot explicite
deny unkown-clients: cela ne pourrait-il pas créer des problèmes pour une première install ? Je ne suis pas sûr de ce que ça fait, mais si ça bloque l’attribution d’une IP aux machines dont on a pas inscrit l’adresse MAC c’est pas une bonne idée pour démarrer un PXE, une fois qu’il fonctionne par contre oui
[/quote]Tu as raison, mais je précise que c’est pour un DHCP déjà configué. Je rectifierais le T&A.

[quote=“Epy”]
–> Tu fais un mkdir dans /var/lib/ alors que dans le seul fichier de config où ça parle de répertoire, pxe.conf que tu n’a pas configuré il est indiqué /tftpboot (debian lenny)
Plus ça va, moins je comprends comment ça fonctionne ^^
Je continue avec /var/lib/tftpboot dans la suite (il a été créé par l’installation visiblement)[/quote]C’est le répertoire par défaut. Le préciser ne fera pas de mal, tu as raison.

[quote=“Epy”]Dans mon cas, ce fichier existe déjà à la décompression du tar.gz, il se situe donc dans /tftpboot/debian/ et est un lien symbolique vers debian-installer/i386/pxelinux.0[/quote]Avant de changer les répertoires pas défaut, essaye de le faire fonctionner…

[quote=“Epy”]Voilà ma première nouvelle tentative, avec les suggestions de modifications et là où ça semble foirer avec mon installation (à priori classique)
:wink:[/quote]

Encore une fois, si tu n’as pas de retour positif à la commande “netstat -uap | grep tftp” inutile d’aller plus loin, le tftp ne tourne pas… Peut-être parce-que tu as fait des changements qu’il n’aime pas au pxe.conf ?

Je me suis douté que ça ne servait à rien, d’ailleurs la première fois j’ai remplacé tftp-hpa par atftpd pour avoir un résultat.
Par contre je n’ai justement fait aucun changement dans pxe.conf, comme tu l’indique dans ton tuto, volontairement pour ne pas faire trop de changements.

Pour le pxelinux.0 je n’ai fait qu’une modif pour qu’il soit là où tu le mets, dans tftpboot, sinon il était un dossier plus haut et n’ayant pas cet exécutable dans le dossier que tu cites pour la copie je n’avais pas beaucoup d’autres solutions à part copier celui qui est arrivé avec l’image netboot.

Pour aptitude vs apt-get on m’a fortement conseillé (et je l’ai lu à plusieurs endroits) de ne plus utiliser que le premier parce qu’il gérait mieux les dépendances, on m’aurait menti ? :wink:
Après si tu dis que ça ne change rien, pas de problème je te fais confiance :slightly_smiling:

Merci pour tes réponses en tout cas

[quote=“Epy”]Je me suis douté que ça ne servait à rien, d’ailleurs la première fois j’ai remplacé tftp-hpa par atftpd pour avoir un résultat.
Par contre je n’ai justement fait aucun changement dans pxe.conf, comme tu l’indique dans ton tuto, volontairement pour ne pas faire trop de changements.

Pour le pxelinux.0 je n’ai fait qu’une modif pour qu’il soit là où tu le mets, dans tftpboot, sinon il était un dossier plus haut et n’ayant pas cet exécutable dans le dossier que tu cites pour la copie je n’avais pas beaucoup d’autres solutions à part copier celui qui est arrivé avec l’image netboot.

Pour aptitude vs apt-get on m’a fortement conseillé (et je l’ai lu à plusieurs endroits) de ne plus utiliser que le premier parce qu’il gérait mieux les dépendances, on m’aurait menti ? :wink:
Après si tu dis que ça ne change rien, pas de problème je te fais confiance :slightly_smiling:

Merci pour tes réponses en tout cas[/quote]

Re,
Pour apt-get vs aptitude, tu as parfaitement raison. Utilise aptitude.
Pour le pxe.conf, j’ai regardé le mien, et effectivement j’ai changé l’IP (alors que je dis de ne pas le faire :blush: ). Mais comme j’ai fait beaucoup de changements sur le serveur depuis… Je ne sais pas si cela a de l’importance ou pas… J’essaye de refaire fonctionner tout ça pour vérifier. Tout est en vrac… Le PXE ne fonctionne plus (il faut dire que le dhcp n’est plus sur le même serveur…)
Je te tiendrais au courant.

Re,

Je viens de remettre en route le pxe (avec un dhcp sur un autre serveur en passant, et ça fonctionne bien aussi).
C’est le pare-feu qui bloquait tout à l’heure…
Donc même en commentant l’adresse IP dans le pxe.conf ça fonctionne.
Je pense qu’il vaut mieux quand même le compléter convenablement, pour certaines images c’est peut-être mieux…
Merci de tes retours, j’édite le T&A cet aprèm’ pour modifier les points soulevés qui ne sont pas clairs ou incomplets.

Toi, il faut te concentrer sur tftp, c’est ça qui bloque, non ?

C’est clairement ça qui bloque, les deux fois. Là je n’ai pas encore tenté de booter la machine mais la première fois il obtenait bien une IP comme tu l’a lu et ne trouvait pas l’image.

Merci pour les modifs, je continues les recherches de mon coté. Je suppose que le démon tftp n’a pas démarré tout seul déjà.

[quote=“Epy”]C’est clairement ça qui bloque, les deux fois. Là je n’ai pas encore tenté de booter la machine mais la première fois il obtenait bien une IP comme tu l’a lu et ne trouvait pas l’image.

Merci pour les modifs, je continues les recherches de mon coté. Je suppose que le démon tftp n’a pas démarré tout seul déjà.[/quote]

En relisant (et corrigeant) mon T&A, et en vérifiant ma configuration, je me suis rendu compte d’un oubli…

Je pense que ton problème viens de là…

Fichier par défaut du tftpd-hpa.deb /etc/default/tftpd-hpa

#Defaults for tftpd-hpa RUN_DAEMON="no" OPTIONS="-l -s /var/lib/tftpboot"
Mon fichier /etc/default/tftpd-hpa

#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"

C’est ballot si tu as laissé le daemon à “no” - Et c’est (un peu) de ma faute…
Il faut dire que j’ai omis de le préciser dans mon T&A :blush:
J’ai pris l’habitude de visiter ce dossier (/etc/default) à chaque installation de programme, car il cache pas mal de configurations importantes…