- Verify DHCP/TFTP Server Configuration
DHCP Options: Ensure your router’s DHCP server includes:
next-server (TFTP server IP) = Your router’s IP (e.g., 192.168.8.1).
filename = Correct boot file (e.g., pxelinux.0 for BIOS PXE, grubx64.efi for UEFI).
TFTP Root Directory: Confirm pxelinux.0 is in the TFTP root (e.g., /tftpboot). Test retrieval locally:
bash
tftp localhost
get pxelinux.0
- Check File Permissions & Case Sensitivity
Ensure pxelinux.0 has read permissions (chmod 644 pxelinux.0).
Use lowercase filenames (some firmware requires pxelinux.0, not PXELINUX.0).
Validate UEFI/BIOS Compatibility
UEFI Systems (likely for MINI S13):
Use grubx64.efi or bootx64.efi instead of pxelinux.0.
Place EFI files under efi/boot/ in your TFTP root.
- Adjust TFTP Block Size
Add TFTP blksize option to DHCP config (reduces UDP packet issues):
ini
option tftp-blksize 1468; # Add to router’s DHCP config
If unsupported, switch to a Linux-based TFTP server (e.g., tftpd-hpa) with blksize support.
- Isolate Router TFTP Issues
Set up a temporary TFTP server on a Linux machine:
bash
sudo apt install tftpd-hpa
sudo systemctl restart tftpd-hpa
Update DHCP next-server to point to this machine. Test PXE boot again.
- Capture Network Traffic
Run tcpdump on the TFTP server during boot:
bash
sudo tcpdump -i eth0 port 69 -vv -w tftp.pcap
Analyze packets in Wireshark for TFTP errors (e.g., “File not found,” timeouts).
- Test HTTP Boot (Alternative to PXE)
Modern UEFI supports HTTP boot:
Host OS installer files on an HTTP server (e.g., nginx):
bash
sudo apt install nginx
sudo cp -r /path/to/installer /var/www/html/
In UEFI settings, select “HTTP Boot” and enter the server URL.
8.Please press delete key as soon as you turn on the PC, so that you can go to BIOS. Please send us a picture of the Main page.
We will check if you need to update the BIOS.