kano.org.uk banner

PXE daemon

  • May 26, 2004: pxe 1.4.1 released. Fixed un-initialised variable in the multicast setup

  • January 19, 2004: pxe 1.4.1 released. GCC 3.3 fixes

  • March 26, 2002: pxe 1.4 released. Nothing new, just cleaned up some namespace stuff I missed in 1.3. I have had reports of infinite loops on IA64 machines, can anyone with a machine confirm this/help me track it down?, I do not have one of these boxes myself.

  • August 30, 2002: pxe 1.3 released. This is mainly code tidy-ups with support for namespaces. proxyDHCP is not in yet mainly because it is quite a broken idea, I will write some more notes on this later.

  • August 23, 2002: After a long time, I have nearly released the next version, with better debugging and hopefully proxyDHCP capability.

  • October 27, 2000: pxe 1.2 released. OpenBSD problems fixed. Makefile converted to a configure script.

  • October 25, 2000: pxe 1.1 released. Minor updates including OpenBSD support.

  • October 24, 2000: pxe 1.0 released.

A quick Q&A section.
  1. Q) What is PXE?
    A) PXE is a proprietry specification by Intel to try and make PCs work like Suns. Basically it envolves BOOTP, TFTP (so far so good) and a PXE daemon. This is where all the trouble starts. There is only one implementation arround, and if doesn't work on anything other than little endian machines.

  2. Q) Why not use Intel's PXE daemon implementation?
    A) I originally tried to correct some of the major problems in this code. However firstly, I could not find anyone with at Red Hat or Intel to deal with and secondly, Intel seem very unintrested in porting the code the big endian machines. The source is also very messy and it would have taken longer to correct the original code, than to re-write the whole daemon. If you don't believe me on this point, just have a look at it, IMHO any daemon that responds to keyboard input is a bad thing (it thinks it had packets coming from the keyboard even when in daemon mode)

  3. Q) Why is this a problem?, I want to boot my PC from another PC.
    A) You are lucky then, but a lot of places have already got a bootserver, and most likely it will be a UNIX based machine that is not x86. So, why put in another machine when there is already one there?

  4. Q) Why use PXE at all?
    A) If you know enough about PC, you will know there are several operating modes. The mode the PC boots in is only able to access the low 640KB of memory. By using the PXELINUX bootstrap code it is possible to boot using the full amount to memory in the system. The means you can do some nice things including boot a Linux kernel + Ramdisk over the network, as you would for a Sun. Please note that the Intel bootstrap code is very limited in this respect.

  5. Q) You say Intels code is naff, but recommend using thier bootstrap code.
    A) I dont recommend it anymore, I just havent had time to do a lot of updates, PXELINUX is far far better (see link below). However Intel's PXE daemon is naff (IMHO)

The source code.

    pxe-1.4.2.tar.gz (HTTP)
    pxe-1.4.1.tar.gz (HTTP)
    pxe-1.4.tar.gz (HTTP)
    pxe-1.3.tar.gz (HTTP,FTP)
    pxe-1.2.tar.gz (HTTP)
    pxe-1.1.tar.gz (HTTP,FTP)
    pxe-1.0.tar.gz (HTTP,FTP)

Useful info/links.

  • PXELINUX. This bootstrap code is far far nicer than Intel's, use this unless you have good reason not to, hopefully I will get some docs together soon on how to set it up.

  • Intel's Wired for Management (WfM) site. This contains the offical PXE specification, various peices of code, and a few pointless powerpoint presentations

  • 3Com's Managed Boot Agent support site. If you have a 3com card, you can download the MBA utility disk, get a flash ROM for your card, and off you go.

  • Netboot. This is site contains a lot of info about boot ROMs and various ethernet cards. I can't remember if this one of Etherboot that is able to support PXE

  • Etherboot. Again lots of info about network cards/boot ROMs, this is the sister project to Netboot (above).

  • Intel's bootstrap + PXE daemon. To use this project you will need the bootstrap from this project, you can use thier PXE daemon if you wish, however I would not recommend it. The bootstrap program is already built in the package (called linux.0/bstrap.0), however the source is also included if you wish to build it yourself. My documentation includes information on how to setup/use these.

  • Nilo. This has some useful stuff on it's page, including pxelinux, part of the syslinux project. Also has links to some PXE boot ROMs.

Navigation Toolbar

8051 TCP/IP
Data encryption


Comments to Tim Hurman
Look at my CV/Resume