[syslinux] Netbooting / building

Michael Blandford mlblandf at sedona.ch.intel.com
Thu Feb 13 14:23:36 PST 2003


Aaron Burt wrote:
> On Thu, 13 Feb 2003, Michael Blandford wrote:
> 
> 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.

That is what we do now.

The machine pxe boots, requests a "bootloader".  Our tftp server ( 
modified ) looks in our database and returns pxelinux for ia32 and elilo 
for ia64.  The tftp/database process is then repeated for the config 
file for that boot loader.  That config file points to the appropricate 
pxelinux.cfg or elilo.conf which in turns points to the appropriate 
kernel/initrd.img.

Then we point ks=http://webserver/script.cgi

The web server looks at the ip address, converts that to a hostname and 
looks it up in a database.  Then it generates a kickstart file with 
varying partitions/packages/video/mouse/release versions/etc.  It is of 
course done with pxelinux :)

This is working beautifully.  I can build Linux boxes with any custom 
config until I am blue in the face.

However, we would like to make use of this dhcp/tftp/database setup to 
load other operating systems as well.  Since we didnt have as much 
flexibility in dos as we do in Linux, I was looking to create a generic 
boot image that could talk to the database, figure out which OS to load, 
and copy down the appropriate files, network drivers, etc to complete a 
native unattended build. ie, for XP, it could copy down a dos image, net 
drivers, unattend.txt, and enought OS to build. ( the windows guys here 
are working out that side I dont know what is needed for sure )

> 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

Right.  I wasnt trying to imply they were hard...just harder than the 
rest.  I would need a kernel + ramdisk + scsi/ide drivers + network 
drivers + perl/python.  Then I would have to walk proc to figure out 
what scsi/ide/net cards were installed and what their appropriate 
drivers and device names are.  Thats the part I was hoping others might 
have tackled.

> If you want a different distro on a box, you stick a .cfg for that distro,
> named for the machine's IP address,

But that doesnt scale very well when you are trying to build a LOT of 
boxes.  It becomes far to manual.  Thats why we are trying to get 
everything database driven.

THanks for all the input from everyone.

I dont want to waste bandwidth on this topic because I know it is off 
topic.  If there is a better place to discuss these types of 
issues/projects please let me know.  I would like to keep the project 
based on open source projects as much as possible.

Michael


-- 
  Intel, Corp.
  5000 W. Chandler Blvd.
  Chandler, AZ  85226




More information about the Syslinux mailing list