Alternative methods for inserting preseed files
jkwan at vmware.com
Fri Nov 9 20:45:43 GMT 2007
I'm an intern at VMware currently working on a feature that will allow
users to automatically install Ubuntu from CDs they have. It's kind of
an odd feature because it specifically targets people who don't have
ISOs lying around and just wish to install Linux from a CD that they
have. It is the analogue of a feature in VMware Fusion that can
automatically install Windows given a CD key, a user name and a
We want to minimize the amount of time it takes to get the installation
process started, so copying the contents of the CD to a local disk and
remastering it with the proper ISOLINUX arguments and preseed files is
undesirable, though if it's the only option to get this working with
Gutsy it can be done.
Currently, I'm using a hack that involves copying the kernel and the
ramdisk from the source CD, along with its ISOLINUX configuration and a
customized preseed file with a desired username and password. After
modifying the ISOLINUX configuration to include the appropriate
arguments for using the preseed file on the CD, we load it up into a
virtual CD-ROM drive next to the pristine Ubuntu CD. The system is
booted from our CD, but the ramdisk finds the Ubuntu CD and continues
the boot procedure from that.
The problem here lies in getting the Ubuntu CD to find the preseed file
that is on the boot CD. This happens to work transparently with
Anaconda-based installers and it's possible to install RHEL with this
method. However, as far as I can tell, there are only two ways to
accomplish this in Gutsy:
1. Remaster the Ubuntu CD with the preseed file on it.
2. Put it on a web server and use the hack above to specify the correct
(1) is undesirable for reasons mentioned above, and (2) requires a lot
of extra legwork and is another point of potential security concerns
because it's a process that runs on the host machine. Additionally, I
tried it once and there was a problem where the installer tried to
retrieve the preseed file from the web server *before* DHCP had acquired a
lease, so it failed. So especially if it's unreliable, I don't want to do it.
So (1) seems like the only viable option, but I'm reaching out to this
list just in case there's something I missed. Basically I just need a
way to mount an extra device into the installer environment at a point
during the installation before it tries to get to the preseed file.
I'd appreciate any ideas this list might have.
More information about the Ubuntu-installer