Home > Scrapbook > My PXELinux Setup

My PXELinux Setup

How I got it working on my network
By 26/10/10 [Last Edited by Joseph 29/12/10]
BOOKMARK
LOGIN
REGISTER
As I am mostly a Windows user, I always considered PXELinux something which I would never use, because of the name. However, after getting sufficiently fed up with Etherboot on my Thinstation Linux PXE deployment, I looked into PXELinux. After trying PXELinux on Thinstation, I found it to be compatible with a lot more systems (e.g. on one laptop, etherboot would fail when loading the UNDI driver, on another it just froze). It also booted faster.

On my network, I wanted to allow users to have the option of booting either Thinstation Linux (to connect to my Citrix Terminal Server), or to boot a floppy disk image of NetBootDisk (a handy bootdisk with NDIS2.5 network support, with many drivers), to permit re-imaging of individual computers using Symantec Ghost 7.5

After some toil, I got my pxelinux.cfg/default working:

say ====================================================
say 2FHGDNS Network Boot
say If you enter no option within 3 seconds, the system
say will boot into the Terminal Server (option ts)
say .
say Boot Options:
say ts: Terminal Server (Thinstation Linux)
say nbd: Net-Enabled MS-DOS (NetBootDisk)
say .
say ====================================================
prompt 1
timeout 30
ontimeout ts

label ts
	menu default
	kernel vmlinuz
	append ramdisk_blocksize=4096 initrd=initrd root=/dev/ram0 ramdisk_size=524288 console=ttyS3

label nbd
	kernel memdisk raw keeppxe
	append initrd=netboot.imz

I realised that I could of used menu.c32 to make a proper menu, but I tried this and it didn't work for me first time, so I gave up.

I made the NetBootDisk image by using a trial of Winimage, to create the compressed disk image (.imz) from the original floppy disk, that I had generated beforehand, and set my required menu options. For the NetBootDisk (nbd) option, I chose to add the option keeppxe to keep the PXE stack and UNDI driver in the memory, as NetBootDisk comes with a Universal UNDI Driver.

The NetBootDisk (netboot.imz) file goes in the TFTP root, and so does memdisk.

All this PXE junk is hosted on a Windows 2003 SP2 server. I used the Windows DHCP Service, and set DHCP options 066 and 067 to the appropriate values (066 - The IP address, 067 - pxelinux.0). I couldn't get the TFTP server included in Remote Installation Services to work properly for some odd reason (it worked fine on a previous installation), so I used SolarWindows TFTP Server instead, which seems to be working fine in NT Service mode



Above: NetBootDisk booted via PXE



Above: ThinStation Linux booted via PXE, and connected to my Citrix Terminal Server



Above: The menu in action