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-24.2-x86_64.zip Copy the content of the directory ploplinux-24.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-24.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-24.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-24.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 3.2. Boot ISO over TFTPYou need the ISO ploplinux-24.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-24.2-x86_64.zip. The DHCP and TFTP Server must work. Copy ploplinux-24.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 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-24.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-24.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-24.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-24.2-x86_64.iso, the directory structure and files of ploplinux-pxeboot.zip and the syslinux directory of ploplinux-24.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-24.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.
© 2024 by
Elmar Hanlhofer |