J'ai un serveur TFTP fonctionnel via le tftp-hpa
package sur mon installation Ubuntu 16.04 (32 bits). Il peut serveur OS pour le démarrage PXE sur le réseau si la taille du système d'exploitation est inférieure à 2 Go.
Lorsque j'essaie de démarrer à partir d'une image ISO plus grande sur le réseau, le client PXE de démarrage signale:
loading big.iso failed. no such file or directory
Le big.iso
le fichier existe définitivement, j'ai donc tenté de déboguer le problème avec le serveur tftp:
me@box$ tftp 192.168.1.1
tftp> get pxelinux.cfg/default
sent RRQ <file=pxelinux.cfg/default, mode=netascii>
received DATA <block=1, 512 bytes>
sent ACK <block=1>
received DATA <block=2, 512 bytes>
sent ACK <block=2>
received DATA <block=3, 305 bytes>
Received 1329 bytes in 0.0 seconds
tftp> get big.iso
tftp: big.iso: Value too large for defined data type
tftp>
Cela me rappelle l'erreur que j'obtiens lorsque j'interagis avec des fichiers de plus de 2 Go avec des programmes plus anciens. Existe-t-il un moyen d'obtenir le tftp-hpa
servir big.iso
sur mon système 32 bits?
Vous pouvez obtenir la source de HPA tftp/tftpd avec apt source tftpd-hpa
.
Avez-vous essayé de transférer un fichier> 2G avec le client hpa tftp? Si cela réussit, le coupable est le code de démarrage PXE, et vous ne pouvez pas faire grand-chose à ce sujet.
Dans tous les cas, PXE n'est pas censé charger l'intégralité de l'image du système de fichiers; il devrait simplement charger le noyau et initrd, et accéder à l'image du système de fichiers avec NFS.