Possibility to make Automatic Unattended Guest OS Install

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Possibility to make Automatic Unattended Guest OS Install

Post by Technologov »

Hi All !

One great feature that I would absolutely love to see here is Unattended Guest OS Install, similar to VMware "Easy Install".

As with Seamless mode, that I did with VBox 1.3.x, much before it was officially available, I already can do unattended installs with VBox 3.x with NT5.x (2000/XP/2003) guests, but it requires too many hacks, primarily because Windows host does not have built-in loop mounter for Virtual Floppies.

It consists of several steps:

1. Detecting unknown ISO file. This can be done by MD5sum of the first 5MB of the CD-ROM ISO, so the process becomes near instant. We must have a databse of MD5sums of standard ISOs.

2. Loop mounting of media (Virtual Floppy) to put scripts into... (I don't know how do it on Windows host, without starting a VM)

3. Putting data into it (Unattended scripts). I know a bit about unattended of Windows NT 5.x line of guest OSes.

I wrote a bit in Wish #5810

What do you think of it ?
Do you have good solutions to the problems above ?

-Technologov
twistedlincoln
Posts: 86
Joined: 17. Dec 2008, 17:08
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: Nexradix
Contact:

Re: Possibility to make Automatic Unattended Guest OS Install

Post by twistedlincoln »

I wouldn't normally bump such an old thread, but I was about to post this exact same request and found this after a forum search.

While this feature is hardly critical, it would certainly make things easier for new users. And for more advanced users, it would be excellent for doing repetitive installs where simply cloning an existing VM isn't an option.
opticyclic
Posts: 4
Joined: 17. May 2011, 22:28
Primary OS: MS Windows 7
VBox Version: OSE other
Guest OSses: XP

Re: Possibility to make Automatic Unattended Guest OS Install

Post by opticyclic »

I agree.
I just spent 2 hours looking for a similar solution with no real joy.

There is this but its a bunch of command lines rather than any easy GUI option
http://fatslowkid.blogspot.com/2010/09/ ... -with.html

The alternative would seem to be using the VMWare Player to do the Easy Install then importing it into VirtualBox to take advantages of snapshots etc.
However, that doesn't seem to work either as VMWare Player creates a SCSI disk with Easy Install, which apparently is what is causing the import problems of the vmdk into VirtualBox (which apparently prefers IDE disks)

:cry:
HubTou
Posts: 93
Joined: 24. Nov 2009, 11:01
Primary OS: FreeBSD
VBox Version: OSE other
Guest OSses: FreeBSD, OpenSolaris, and several Linuxes

Re: Possibility to make Automatic Unattended Guest OS Install

Post by HubTou »

Hi Technologov,

I do this regularly with unattended scripts executed on the host which drive the VM keyboard through the install process.
It works with most guest OS (those which don't rely on mouse events for the installation, although this would be do-able with VB's mouse API).

May I suggest you have a look at:
http://forums.virtualbox.org/viewtopic.php?f=10&t=38944
http://forums.virtualbox.org/viewtopic.php?f=1&t=33560

Best regards,

Hubert
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: Possibility to make Automatic Unattended Guest OS Install

Post by Technologov »

>via keyboard?

Bad idea. I have tried it... and this is not reliable on loaded hosts. (if based on timer)
Even if you use screenshots, or parts of them this is not reliable, because guest OS can change picture. (For example, Fedora9 screens change from one run to the next) -- not only that, but changes in ACPI tables or virtual hardware of VirtualBox will break those scripts.

I have tried all the tricks, and I came to conclusion, that using native guest OS unattended installer (such as Red Hat anaconda) is the only reliable option.

We need to implement the basic building block:
Creating floppy images on the fly. (like Qemu does)
It must be part of VirtualBox project.

-Technologov
HubTou
Posts: 93
Joined: 24. Nov 2009, 11:01
Primary OS: FreeBSD
VBox Version: OSE other
Guest OSses: FreeBSD, OpenSolaris, and several Linuxes

Re: Possibility to make Automatic Unattended Guest OS Install

Post by HubTou »

Technologov wrote:>via keyboard?
Bad idea. I have tried it... and this is not reliable on loaded hosts. (if based on timer)
Well, you can control the timing between command line injection, or even individual characters.
I agree there's a problem with long parts of the installation (when lots of files are copied) where you have to set a high-bound waiting time before injecting other command lines.
So far, i think i have tested this without hassles on FreeBSD, VMware ESXi and CentOS guest installs. I'm sure many others would work.
Technologov wrote: Even if you use screenshots, or parts of them this is not reliable, because guest OS can change picture. (For example, Fedora9 screens change from one run to the next)
During the installation i have no "video" feedback.
After installation, i can get "video text" feedback on OS that can run Netcat (piping the guest output into a script on the host through TCP/IP).
Technologov wrote:not only that, but changes in ACPI tables or virtual hardware of VirtualBox will break those scripts.
I solved this by deciding once and for all the hardware i wanted in my guests. The only parts i let change are the number of CPUs, the amount of RAM and video RAM, the fact that ioapic is enabled or not.
By the way, some OS do not install the same kernel if you make the installation with one or more CPUs.
Technologov wrote:We need to implement the basic building block:
It must be part of VirtualBox project.
I hope you don't mean introducing dependencies on guest OS in VirtualBox source code, because this would not be a good idea.
Technologov wrote:Creating floppy images on the fly. (like Qemu does)
Most Unix-like OS are able to do this natively.

For example, in FreeBSD you would:
  • create a 1.44MB file:
    # dd if=/dev/zero of=floppy.img bs=1k count=1440
    1440+0 records in
    1440+0 records out
    1474560 bytes transferred in 0.015976 secs (92297347 bytes/sec)
  • make a virtual device from this file:
    # mdconfig -a -t vnode -f floppy.img -u 0
  • format this virtual floppy:
    # newfs_msdos -f 1440 /dev/md0
    /dev/md0: 2847 sectors in 2847 FAT12 clusters (512 bytes/cluster)
    bps=512 spc=1 res=1 nft=2 rde=224 sec=2880 mid=0xf0 spf=9 spt=18 hds=2 hid=0
  • mount this virtual floppy:
    # mount_msdosfs /dev/md0 /mnt
  • copy your files into it...
  • unmount the virtual floppy:
    # umount /mnt
  • remove the virtual device:
    # mdconfig -d -u 0
Best regards,

Hubert
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: Possibility to make Automatic Unattended Guest OS Install

Post by Technologov »

I need to write more complete essay on this topic...

[update] Just wrote:
"The importance of Unattended Guest OS Installs"
http://forums.virtualbox.org/viewtopic.php?f=9&t=42926
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: Possibility to make Automatic Unattended Guest OS Instal

Post by Technologov »

OK, Vbox lacks several modules to make it happen:
1. I need ability to create floppy images + copy files into them, without loop-mounting them.
idea: mtools? or FAT12-in-python.
http://en.literateprograms.org/FAT12_fl ... 8Python%29
2. I need ability to create ISO images + copy files into them, without loop-mounting them.
idea: mkisofs / genisoimage (GPL).
3. impossible to eject CD-ROM (unattended CD ISO) during VM soft reboot; hypervisor must detect reboot.
(this can be avoided, by setting correct boot order: HDD->CD->Floppy)
4. Need tool to extract files from ISO.
idea: 7-zip (LGPL) -or- info-zip (it is what VMware WS7 seem to be using)

potential project name: vbox-unattended
opticyclic
Posts: 4
Joined: 17. May 2011, 22:28
Primary OS: MS Windows 7
VBox Version: OSE other
Guest OSses: XP

Re: Possibility to make Automatic Unattended Guest OS Instal

Post by opticyclic »

Great post!

I don't know if this helps, but I don't have a physical floppy drive on my laptop and I was able to put the autounattend.xml on a USB stick to do the unattended install on my physical drive.

Doesn't VirtualBox already have support for USB drives?
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: Possibility to make Automatic Unattended Guest OS Instal

Post by Technologov »

opticyclic:
Vbox cannot emulate USB flash disks. (can only pass-though your physical USB disk).
VBox can emulate a virtual floppy, even if you don't have a physical one. That's what I will use for my program. (I don't have physical floppies on 3 of my 4 PCs either) :)
Post Reply