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