<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.