<oops... replied off list, reposting>

http://www.kernel.org/pub/linux/utils/boot/syslinux/

has the PXE server source that most distros use and

http://syslinux.zytor.com/pxe.php

talks about how to setup PXE, tftpd, and dhcpd (ISC).

-Adam

On 5/22/07, Doug Mildram < doug.mildram@mindspeed.com> wrote:
doug> I too use PXE at work, with some success.
      I could stand to learn more, and I sure as hell am still
   looking for the "pxe daemon source code"...buried by intel?who?
     while still running a redhat binary pxe daemon here.

      If every box had a bootable CD, it'd be easier to
   just do that ...whether the CD is the stock CD, or one that
   you customize a bit, which I've done; which is separate from
    customizing the kickstart config file...
but realize as an opening comment, I may recommend that you
ignore PXE until you need it; ignore the boot-from-NIC potential.

You're VERY welcome to torture me with questions, or visit Westboro
  (work/days..it's quiet enough here) for some hands on confusion.

It may be easier to LEARN PXE after learning "kickstart" without PXE.
           e.g. booting from CD with
"linux ks=nfs:nfsserverip:/path/to/yourconfigfile.cfg"
        and the .cfg file has MORE info like
                ....some intro omitted.....
            network ... (static,dhcp...it can install static
                              while USING a temp-dhcp installaddr)
            part .... (disk layout)
            authconfig  ... ( --enablenis  is my option)
            nfs --server servername-or-ip --dir /path/releasedir
            skipx  (no X, dumb terminal consoles best for servers, right?)
            %packages...
                ......
            % post
            exec > /KICKSTART.log 2>&1
            echo "hello..."
            mkdir /customdir
            mount nfsserver:/exporteddir /customdir
                ( grab things, even edit files in  / ....)
            chkconfig --level    345  ntpd       on
            chkconfig --level    345  nfs        on
..............and so on.  Tends to be a few hundred lines long.

PXE does all this, but without the CD...and with more flaky results
     depending on NIC cards, mostly, i think...I find it
just complicated enough to confuse me,
and just odd enough to NOT work in some cases.

Challenges:  1) can't find the source to the pxe daemon,
                  which seems to have fallen OFF of the distros.
I feel "stuck" running a redhat9 binary (which works usually-for-me
              on a redhat3-or-4 based system, just copying /usr/sbin/pxe
  and firing it up manually  (it often crashes after getting its job done)

2) complex dependencies.  It needs
       2a)  DHCP server, can be your existing one
       2b)  TFTP server (this part is NOT complex, after you
                      learn some of the bootfile/dir layout)
     as well as the (nfs,ftp,youdecide) server to grab packages from.

What's confusing is how the PXE daemon and DHCP daemon play together.
When my boot fails, the error whines about DHCP even when PXE is the problem.