On Tuesday 07 July 2009 19:39:08 Juan Jose Pablos wrote:
> Pierre Bourgin escribió:
> > IMHO, it should be sufficient to define and describe precisely what is
> > the "official" or reference platform for building Unattended: linux
> > distribution flavor, exact versions of gcc and glibc of the host system,
> > etc.
>
> Debian  5.0 (Lenny). I was happy with previous version, but because
> other people was worry about the glibc version, I updated as soon was
> released as stable.
>
> > Then we should provide this reference host build environment as an image
> > of a virtual host, aka Virtual Appliance.
>
> I do  not have any problem to get a fully virtual machine using
> VirtualBox so others can use it.
>
It's pretty easy to create a couple of scripts to help build the virtual 
machine from scratch.  When I was writing the quickstart guide to paella, I 
decided to use virtualbox to create the paella server.

What I did was to write a script that will download and remaster the debian 
netinst iso.  The script will download the iso from a debian mirror, mount it 
via -o loop, and copy the contents to a new directory.  Then the script would 
use svn export to grab the extra files that will go into the new iso (preseed 
files and scripts to configure the machine) and place them in the new 
directory.  After that the script would use genisoimage to create the new 
iso, which would be used to boot the VM and automatically install the new 
system.

The quickstart guide gives instructions on how to use virtualbox to create the 
new machine and attach the remastered iso to it.  Here, we could use 
vboxmanage(or VBoxManage, we'd have to set an variable at the top of the 
file) to create the VM and the .vdi, attach the .vdi to the VM, attach the 
iso to the VM and boot the VM.  The preseed on the iso should take over after 
that and install the system for you.

example:

#!/bin/sh -e
vboxmanage=/usr/bin/vboxmanage
harddisks=~/.VirtualBox/HardDisks
vmname=unattended
hdsize=8192
isoimage=/absolute/path/to/remastered/iso
bootvm=yes
$vboxmanage createvm -name $vmname -register
$vboxmanage createhd -filename $harddisks/$vmname.vdi -size $hdsize -register
$vboxmanage modifyvm $vmname -hda $harddisks/$vmname.vdi
$vboxmanage openmedium dvd $isoimage
$vboxmanage modifyvm $vmname -dvd $isoimage
if [ $bootvm == "yes"]; then
        $vboxmanage startvm $vmname
fi

This is just a rough example.  It doesn't handle errors very well.

It may also be interesting to note that a method similar to this could be used 
to bootstrap a testing environment.  It's relatively easy to install the 
packages and configure the machine to be an unattended server, so that 
virtualbox could be used as a testing environment for unattended.

Here's a short outline:
remaster netinst iso
run a script similar to example above to create VM
add a second nic to that vm for internal networking
boot vm and watch it install
vm should reboot automatically, then run the scripts to set up the services 
(bind, dhcp, samba, nfs, tftpd, etc.)
vm will then run the create-live-image script, which will use live helper to 
create the installer image (net boot by default) and install the tftpboot and 
image files to their appropriate location.
On my system, I use rsyncd to host the windows iso files, but we could use 
the "shared folders" feature of virtualbox for this.
get those win iso's and mount -o loop, copy the i386/ directories.
run the update script to get the packages/updates

create a client vm w/ harddisk and attach it's nic to internal network
boot client vm via pxe and it will run live image and start installing windows

my remaster iso script is here:
http://svn.berlios.de/svnroot/repos/paella/trunk/config/scripts/remaster-netinst-iso

the files that I export to the netinst are here:
http://paella.berlios.de/netinst/

While this is specific to getting paella up and running, it wouldn't be too 
difficult to use this method to get unattended bootstrapped as well.

If you're interested, and you have a couple of hours to spend, you may want to 
read/follow the paella quickstart guide to see how the whole process works.  
Setting up an unattended server would be a little bit easier, as you don't 
need to generate a gpg key, or make a partial debian mirror, but seeing how 
I've done things may be helpful.

http://paella.berlios.de/docs/quickstart-vbox.html

The advantage of this method is that it keeps you from having to host 
large .vdi files (or maybe .ovf files).  And even if you were to host those 
files, it provides a way to generate them pretty easily.

If y'all are interested in this method, I would be happy to help implement it.  
I already have most of the difficult parts taken care of.  Using this method 
for unattended would only take a few (mostly) minor modifications, and I'm 
very familiar with where those modifications need to happen.  This is all 
second nature to me, as I've been working on this for a while.  In my use of 
unattended, I have been just as concerned with being able to automatically 
install and configure the unattended server, as well as being able to use 
that server to automatically install the windows machines.

Most of my clients are small businesses with 3-10 machines on their network.  
So for me, I need to be able to easily create a server for each client that 
will run unattended.  This is different than just managing a single network 
of machines, which is why I've spent so much time with making sure that I 
could easily create an unattended server complete with a pxe installer.



> > I bet on Debian (even if I don't know it).
>
> same here, I do not have any technical reason, just mainly because
> stable releases, and the fact that i have been using for years.
>
I've been using debian since potato and haven't looked back.  I think that 
debian provides a good base for making a custom system (or distribution).  
While stable may get old quickly with respect to the new hardware that comes 
out, the method of making new kernel packages, and backporting some of the 
newer software that may be required, is fairly easy and straightforward.  The 
way I like to look at it is not as much "does debian provide what we need?" 
as "does debian provide an easy way to _make_ what we need?".  I think that 
this way of looking at things is important when it becomes apparent that no 
single distro will ever "fit the bill" entirely.
>
> ---------------------------------------------------------------------------
>--- Enter the BlackBerry Developer Challenge
> This is your chance to win up to $100,000 in prizes! For a limited time,
> vendors submitting new applications to BlackBerry App World(TM) will have
> the opportunity to enter the BlackBerry Developer Challenge. See full prize
> details at: http://p.sf.net/sfu/Challenge
> _______________________________________________
> unattended-devel mailing list
> unattended-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/unattended-devel



-- 
Thanks:
Joseph Rawson

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to