Disclaimer

This information HAS errors and is made available WITHOUT ANY WARRANTY OF ANY KIND and without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It is not permissible to be read by anyone who has ever met a lawyer or attorney. Use is confined to Engineers with more than 370 course hours of engineering.
If you see an error contact:
+1(785) 841 3089
inform@xtronics.com

PXE boot


tftpd-hda set up

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -vvvv"

Note - the idiots that started misusing /etc/default for general configs rather than fail safe defaults are not helping.

dhcp-server setup

You need isc-dhcp-server installed and add this:

# for PXE booting:
 next-server 192.168.1.200;
 filename "pxelinux.0";
# end of PXE


Network booting info here


gPXE is a Preboot EXecution Environment (PXE) and bootloader. Enables computers without built-in PXE BIOS support to boot from the network, and supports extra protocols beyond TFTP to transfer boot data, including HTTP, iSCSI and ATA over Ethernet (AoE), and even Wi-Fi.

Using gPXE by default allows a portable boot where one can boot via the Internet, but The size of most boot images would make this slow enough that sticking with atftpd sounds like a good idea.

Packages to install on server

Make a gPXE Thumbdrive

Go to rom-o-matic Chose a "USB keychain" image.

Plug in some usb thumbdrive - if it automounts - unmount it

tail /var/log/syslog 

Note the /dev/sgx where x varies and do a dd copy

# dd if=/path/to/gpxe-1.0.1-gpxe.usb of=/dev/sgx
# sync

Wait to make sure the led stops flashing - you now have a pxe boot.

On the server you will want to copy memdisk, vesamenu.c32, pxelinux.0 from /usr/lib/syslinux/ and place in /srv/tftp/

# mkdir /svr/tftp/pxelinux.cfg

After populating the appropriate directories, make a file called default in /svr/tftp/pxelinux.cfg with content similar to :

default vesamenu.c32
prompt 0
timeout 0
	menu background splash.png

Menu Begin Debian
menu title Debian
menu background splash.png
label amd64-install
	menu label ^Install amd64
#	menu background debian-installer/amd64/boot-screens/splash.png
	kernel debian-installer/amd64/linux
	append vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet 

label amd64-expert-install
	menu label Debian expert install amd64
#	menu background debian-installer/amd64/boot-screens/splash.png
	kernel debian-installer/amd64/linux
	append priority=low vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet 

label amd64-rescue
	menu label Debian Rescue amd64
#	menu background debian-installer/amd64/boot-screens/splash.png
	kernel debian-installer/amd64/linux
	append rescue/enable=true vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet 

label i386-install
	menu label Debian Install i386
#	menu background debian-installer/i386/boot-screens/splash.png
	kernel debian-installer/i386/linux
	append vga=788 initrd=debian-installer/i386/initrd.gz -- quiet 

label i386-expert-install
	menu label Debian expert install i386
#	menu background debian-installer/i386/boot-screens/splash.png
	kernel debian-installer/i386/linux
	append priority=low vga=788 initrd=debian-installer/i386/initrd.gz -- quiet 

label i386-rescue
	menu label Debian Rescue i386
#	menu background debian-installer/i386/boot-screens/splash.png
	kernel debian-installer/i386/linux
	append rescue/enable=true vga=788 initrd=debian-installer/i386/initrd.gz -- quiet 
menu end

Menu Begin live boot
menu title live boot
menu background splash.png
label debian-live-amd64
 menu label debian live amd64
 kernel memdisk
 append iso
 initrd debianlive/debian-live-6.0.1-amd64-kde-desktop.iso

label debian-live-i386
 menu label debian live i386
 kernel memdisk
 append iso
 initrd debianlive/debian-live-6.0.1-i386-kde-desktop.iso

label knoppix
 menu label knoppix 6.44
 kernel memdisk
 append iso
 initrd knoppix/KNOPPIX_V6.4.4.iso 

menu end

Menu Begin Drive Tests
menu title Drive Tests
menu background splash.png
label dft-4.16
 menu label Hitachi Drive Fitness Test 4.16
 kernel memdisk
 append iso
 initrd hitachi/dft32_v416_b00.iso 

menu end

Change the owner of /srv/tftp and eveything below to tftp.


Top Page wiki Index