PXE Boot from network (DHCP, TFTP, Network share, FTP, HTTP) - Windows serverThe minimum requirements to boot from network are a DHCP server and a TFTP server The access to the Plop Linux files can be with a Windows network share, TFTP, FTP or HTTP Download a working sample with the full directory structure: netboot-sample.tar.gz, for ISO netboot-sample-iso.tar.gz The download links in this description are for the 64-bit version. To create a 32-bit version use the corresponding files from the download area. Basic conditions for this example setup:
It works with other IP addresses too!
1. Setup1.1. Extract the Plop Linux filesExtract the file ploplinux-pxeboot.zip to c:\ Now you have the basic directory structure and files in c:\tftpboot. Extract the file ploplinux-25.2-x86_64.zip Copy the content of the directory ploplinux-25.2\ to c:\tftpboot\ploplinux-netboot\. Now you should have the following directories and files
c:\tftpboot\
\ploplinux-netboot\
\boot.msg
\memtest
\menu.c32
\spash.png
\vesamenu.c32
\pxelinux.0
\ploplinux\
\bin\
\bin.sqfs
\etc.tgz
\lib.sqfs
\opt\
\ploplinux.version
\pxelinux.cfg\
\default
\syslinux\
\kernel\
\bzImage
\initramfs.gz
\plop\
\plpbt.bin
\plpinstc.com
1.2. Setup the DHCP and TFTP serverUse TFTPD32 from http://tftpd32.jounin.net/. This is a DHCP and TFTP server in one program. TFTPD32 settings:
Setup DHCP:
2. Windows network share2.1. Boot with Windows network shareRequirements are the DHPC and TFTP Server (Setup). Share the directory c:\tftpboot\ploplinux-netboot with the share name ploplinux-netboot. Parameter: smbmount=//SERVER/SHARE:SMBUSER:SMBPASSWORD
SMBUSER: user to access the share. If the share permits access to all users then use "" for SMBUSER
Example: smbmount=//10.0.0.1/ploplinux:myuser:mypass
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\smb.conf
# Boot from Samba/Windows share
label linux-smb
menu label Plop Linux - Samba
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 smbmount=//10.0.0.1/ploplinux-netboot:SMBUSER:SMBPASSWORD nomodeset
label linuxfb-smb
menu label Plop Linux framebuffer mode - Samba
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 smbmount=//10.0.0.1/ploplinux-netboot:SMBUSER:SMBPASSWORD
smb.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default If the tftpd32 is running correct you should be able to boot Plop Linux via network. 2.2. Boot ISO over the Windows network shareYou need the ISO ploplinux-25.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-25.2-x86_64.zip. The DHCP and TFTP Server must work. Requirements are the DHPC and TFTP Server (Setup). Share the directory c:\tftpboot\ploplinux-netboot with the share name ploplinux-netboot Copy ploplinux-25.2-x86_64.iso to c:\tftpboot\ploplinux-netboot\ Rename it to ploplinux.iso Parameter smbmount=//SERVER/SHARE:SMBUSER:SMBPASSWORD iso_filename=ISOFILE
SMBUSER: user to access the share. If the share permits access to all users then use "" for SMBUSER
Example: smbmount=//10.0.0.1/ploplinux-netboot:myuser:mypass iso_filename=ploplinux.iso
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\smb-iso.conf
# Boot from Samba/Windows share - ISO
label linux-smb-iso
menu label Plop Linux - Samba ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 smbmount=//10.0.0.1/ploplinux-netboot:SMBUSER:SMBPASSWORD iso_filename=ploplinux.iso nomodeset
label linuxfb-smb-iso
menu label Plop Linux framebuffer mode - Samba ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 smbmount=//10.0.0.1/ploplinux-netboot:SMBUSER:SMBPASSWORD iso_filename=ploplinux.iso
smb-iso.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default 3. TFTP3.1. Boot only with TFTPRequirements are the DHPC and TFTP Server (Setup). Create the file c:\tftpboot\ploplinux-netboot\filelist for TFTP boot that lists all Plop Linux files. You can use the program genfilelist.exe from the command line. genfilelist c:\tftpboot ploplinux-netboot > c:\tftpboot\ploplinux-netboot\tftpfilelist Example file: c:\tftpboot\ploplinux-netboot\tftpfilelist
Parameter: tftpboot=SERVER|FILELIST dir=PLOPLINUXDIRECTORY
Example: tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist dir=/ploplinux-netboot/ploplinux
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\tftp.conf
# boot from TFTP
label linux-tftp
menu label Plop Linux - TFTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist dir=/ploplinux-netboot/ploplinux nomodeset
label linuxfb-tftp
menu label Plop Linux framebuffer mode - TFTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist dir=/ploplinux-netboot/ploplinux
tftp.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default Note: The default block size is 65464 bytes. You can use an smaller block size with the optional parameter BLOCK_SIZE.
Optional parameter BLOCK_SIZE: tftpboot=SERVER|FILELIST|BLOCK_SIZE dir=PLOPLINUXDIRECTORY Example: tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist|32768 dir=/ploplinux-netboot/ploplinux 3.2. Boot ISO over TFTPYou need the ISO ploplinux-25.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-25.2-x86_64.zip. The DHCP and TFTP Server must work. Copy ploplinux-25.2-x86_64.iso to c:\tftpboot\ploplinux-netboot\
Create the file c:\tftpboot\ploplinux-netboot\tftpfilelist-iso for TFTP boot with the Plop Linux ISO file name. In the file the path has to use "/" instead of "\". echo "ploplinux-netboot/ploplinux.iso" > c:\tftpboot\ploplinux-netboot\tftpfilelist-iso
Parameter: tftpboot=SERVER|FILELIST iso_filename=ISOFILE
Example: tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist-iso iso_filename=ploplinux-netboot/ploplinux.iso
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\tftp-iso.conf
# boot from TFTP - ISO
label linux-tftp-iso
menu label Plop Linux - TFTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist-iso iso_filename=ploplinux-netboot/ploplinux.iso nomodeset
label linuxfb-tftp-iso
menu label Plop Linux framebuffer mode - TFTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist-iso iso_filename=ploplinux-netboot/ploplinux.iso
tftp-iso.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default Note: The default block size is 65464 bytes. You can use an smaller block size with the optional parameter BLOCK_SIZE.
Optional parameter BLOCK_SIZE: tftpboot=SERVER|FILELIST|BLOCK_SIZE iso_filename=ISOFILE Example: tftpboot=10.0.0.1|ploplinux-netboot/tftpfilelist-iso|32768 iso_filename=ploplinux-netboot/ploplinux.iso 4. FTP4.1. Boot with FTPRequirements are the DHPC and TFTP Server (Setup) and a FTP Server. The FTP root directory is in this example /tftpboot/. Create the file c:\tftpboot\ploplinux-netboot\filelist for FTP boot that lists all Plop Linux files. You can use the program genfilelist.exe from the command line. genfilelist c:\tftpboot\ploplinux-netboot ploplinux > c:\tftpboot\ploplinux-netboot\ftpfilelist Example file: c:\tftpboot\ploplinux-netboot\ftpfilelist Parameter: url=ftp://FTPUSER:FTPPASSWORD@FTPSERVER/FTPDIRECTORY|FILELIST Example: url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\ftp.conf
# boot from FTP
label linux-ftp
menu label Plop Linux - FTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist nomodeset
label linuxfb-ftp
menu label Plop Linux framebuffer mode - FTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist
ftp.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default 4.2. Boot ISO over FTPYou need the ISO ploplinux-25.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-25.2-x86_64.zip. The DHCP and TFTP Server must work. A FTP Server must be available. The FTP root directory is in this example /tftpboot/. Copy ploplinux-25.2-x86_64.iso to c:\tftpboot\ploplinux-netboot\
Create the file c:\tftpboot\ploplinux-netboot\ftpfilelist-iso for FTP boot with the Plop Linux ISO file name. In the file the path has to use "/" instead of "\". echo "ploplinux.iso" > c:\tftpboot\ploplinux-netboot\ftpfilelist-iso Parameter: url=ftp://FTPUSER:FTPPASSWORD@FTPSERVER/FTPDIRECTORY|FILELIST iso_filename=ISOFILE Example: url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist-iso iso_filename=ploplinux.iso
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\ftp-iso.conf
# boot from FTP - ISO
label linux-ftp-iso
menu label Plop Linux - FTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist-iso iso_filename=ploplinux.iso nomodeset
label linuxfb-ftp-iso
menu label Plop Linux framebuffer mode - FTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 url=ftp://myuser:mypass@10.0.0.1/ploplinux-netboot|/ftpfilelist-iso iso_filename=ploplinux.iso
ftp-iso.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default 5. HTTP5.1. Boot with HTTPRequirements are the DHPC and TFTP Server (Setup) and a WEB Server. The Virtual Host root directory is in this example /tftpboot/. Create the file c:\tftpboot\ploplinux-netboot\filelist for HTTP boot that lists all Plop Linux files. You can use the program genfilelist.exe from the command line. genfilelist c:\tftpboot\ploplinux-netboot ploplinux > c:\tftpboot\ploplinux-netboot\webfilelist Example file: c:\tftpboot\ploplinux-netboot\webfilelist Parameter: url=http://USER:PASS@WEBSERVER/WEBDIRECTORY|FILELIST
Example: url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\http.conf
# boot from HTTP
label linux-http
menu label Plop Linux - HTTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist nomodeset
label linuxfb-http
menu label Plop Linux framebuffer mode - HTTP
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist
http.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default 5.2. Boot ISO over HTTPYou need the ISO ploplinux-25.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-25.2-x86_64.zip. The DHCP and TFTP Server must work. A WEB Server must be available. The Virtual Host root directory is in this example c:\tftpboot\. Copy ploplinux-25.2-x86_64.iso to c:\tftpboot\ploplinux-netboot\
Create the file c:\tftpboot\ploplinux-netboot\webfilelist-iso for HTTP boot with the Plop Linux ISO file name. In the file the path has to use "/" instead of "\". echo "ploplinux.iso" > c:\tftpboot\ploplinux-netboot\webfilelist-iso Parameter: url=http://USER:PASS@WEBSERVER/WEBDIRECTORY|FILELIST iso_filename=ISOFILE
Example: url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist-iso iso_filename=ploplinux.iso
File name: c:\tftpboot\ploplinux-netboot\pxelinux.cfg\http-iso.conf
# boot from HTTP - ISO
label linux-http-iso
menu label Plop Linux - HTTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=1 url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist-iso iso_filename=ploplinux.iso nomodeset
label linuxfb-http-iso
menu label Plop Linux framebuffer mode - HTTP ISO
kernel syslinux/kernel/bzImage
append initrd=syslinux/kernel/initramfs.gz vga=0x317 url=http://www.ploplinux.com/ploplinux-netboot|/webfilelist-iso iso_filename=ploplinux.iso
http-iso.conf is loaded by c:\tftpboot\ploplinux-netboot\pxelinux.cfg\default 6. Boot problemsMaybe there is somewhere a wrong path. When you are in the boot menu, then press at the entry that you want to boot the tabulator key. Then add at the end of the line "debug". You will see more info's during booting.
© 2025 by
Elmar Hanlhofer |