Not all WinNT T20 models have a PXE boot option. If you can't get a standard PXE setup for your machine, maybe this document will help...

Last time I checked, there was a version 5.4.4 of etherboot - it might work for this procedure, but I haven't tested it. Neither have I tested gPXE.

Go to and choose these settings:

Then click "Configure" and select these options:

  • ASK_BOOT = 1
  • SIZEINDICATOR = ticked
  • CONFIG_PCI_DIRECT = ticked
  • eveything else left as default

Then hit the "Get ROM" button and the download should start - it's only about 22k.

Alternatively, you could download the etherboot source from and configure/compile it yourself. Or maybe use the Debian etherboot package. Config_PCI_Direct is the essential option you need for the T20 BIOS.

The two other files you will need are your standard WinNT image file for your T20 (mine uses U96CPQ163.bin) and this script called

Put the etherboot ROM file, T20 image file, and the script in a directory.
Maybe edit the script to have the correct T20 image file name and correct ROM file name (or just specify them on the command-line). Run the script.
Flash the resulting bootp.bin to your T20.

You should now have a T20 which boots via PXE.

Now you need a PXE server - eg. the LTSP project, or for simple purposes use the setup I have documented somewhere else around here. You may also want to use the boot-from-initrd document from somewhere around here too - then the T20 can boot entirely via PXE and run standalone (instead of LTSP, which boots off PXE and then requires the server to do all the real work).

There is good info about PXE here:

Note: I generally also use this option:

  • ALTERNATE_DHCP_PORTS_1067_1068 (Use ports 1067 and 1068 for DHCP instead of 67 and 68. As these ports are non-standard, you need to configure your DHCP server to use them. This option gets around existing DHCP servers which cannot be touched, for one reason or another, at the cost of non-standard boot images.)

This allows me to run a separate DHCP server (on different ports) from the normal one on my network, so I can fiddle with things easily without risking breaking the rest of the network. I use this with the '-a' option of my script - see linux-netxfer

Contact me if you have any problems!