[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