I'm looking for a tool, preferably a minimal Linux build, which can, or fairly simply be modified to, boot as an ISO image and automatically download a disk image over a network and apply it to a blank disk.
In actual fact, I'm fine dealing with the actual scripting to make this happen, but I need at least a base image which will have network access, curl, dd etc, to be of use to me. I'm not looking for any flexibility of choice here, I need it to be totally hands free and dumb, but need to achieve this tasks with as little dev work as I can manage. I think I could possibly just make my own initrd or such, but I've no idea how that works with having network access etc.
[background]This is actually for use with KVM virtual machines, which will eventually be running W2K3, but to deliver the disk image using a wider build framework of cobbler and koan I would rather boot some installation media which will autonomously install a system and reboot when done, allowing a similar higher level flow as installing Redhat with a kickstart script (but without the external resources etc...), so I don't want to pre deliver an image to the host etc, as that's done for a kickstart[/background]
Thanks
Chris
EDIT: So whilst the solutiosn given are valid in their own right, I really needed to NOT have a self contained solution, and needed only a few pieces to integrate into cobbler / koan etc...
What I've currently done is to use a modified kickstart script to initially boot as if to install CentOS but then in the %pre section is just do a wget to download a disk image and smear it across the virtual disk. on reboot, one windows box! Works much better than I thought and also keeps the deployment flow and wrapper scripting totally standardized.
I think FOG ( http://www.fogproject.org ) meets your requirements, boots over the network, restores images from a central repository. Currently trying to transition to it from PXE booted Norton Ghost here.
You might also take a look at Clonezilla - http://clonezilla.org
I think SystemRescueCD - http://www.sysresccd.org/Main_Page - might fit your needs.
I used it a couple of years ago to distribute ntfs images over the network and the PXE boot feature worked well.
Can't say anything about the current version though.
I used to use SystemImager which creates a rsync-based image of an installed OS that coull be burned to CD. It was very flexible and could restore to bare-metal over the network, or from a CD image. I used to boot off a simple CD which contained just enough info to download and restore from a network image (as I would update the network image regularly).
The docs are quite good, its reliable and easy to get going.
I integrated SystemImager into Cobbler. Not hard, just need a few shell scripts to bring in SI images into cobbler.