[syslinux] Netbooting / building

Aaron Burt aaron at osdl.org
Thu Feb 13 14:05:20 PST 2003


On Thu, 13 Feb 2003, Michael Blandford wrote:

> We would like to:
>
> boot ( some OS - hopefully linux )from the network using pxelinux.
> make a small partition dos partition on the first disk.
> connect ( via perl dbi ) to a back end database
>
> Download the appropriate files for either a winxp build OR a
> kernel/ramdisk for a complete linux build
>
> reboot with the new setup from disk using syslinux.
>
> Has anyone used pxelinux/syslinux for something like this?  I would love
> some pointers or advice.

Closest thing we've done is use Kickstart to netboot and install Red Hat
Linux over the network.  In that case, the machine is booted from a kernel
and initramdisk, which contains a set of NIC and SCSI driver modules, and
(I think) a set of binaries including Python.

We use SystemImager more these days because it's more flexible and easier
to muck with.  For XP, you might consider Partition Image.

> The hardest parts in my mind are: talking to the database,
> autodectecting the harddrives and ethernet controllers.

Those are the easiest bits.  The first is Perl's job and the second is the
kernel's.  The hard bit is getting the netbooting working nicely.  And
while Kickstart does OK with an initramdisk, you might consider mounting
root over NFS.  There should be lots of useful info at http://www.tldp.org

But if all you're getting out of the database is whether to load Linux or
XP, you can keep the intelligence on the server side and use system-
specific PXELinux .cfg files when you want to change things.  That's how
we automatically load various different distros on our development and
test machines.

If you want a different distro on a box, you stick a .cfg for that distro,
named for the machine's IP address, under the TFTP directory.
When the machine boots, it loads the .cfg, which installs the distro, than
deletes the .cfg file from the TFTP directory (using SSH) when it's done.
After that, whenever it boots, it hits the default .cfg, which simply
boots from the local hard drive.

Good luck,
  Aaron Burt
  Open Source Development Lab
  Beaverton, OR, USA




More information about the Syslinux mailing list