Hello Christian,

I have been running Nova 64 bit on a AMD Phenom machine and am using qemu version 1.0.

The problem symptoms varied from 'vbox file already existing' to not starting virtualbox at all. I decided to switch to Nova 32 bit. Now the symptoms are stable, I am getting 'vbox file already exising' every time now.

I went through the code of genode-14.11/repos/ports/src/virtualbox/frontend/main.cc, which to me seems to be the driver of VirtualBox proper.

At around line 106 I found rc = machine->init(virtualbox, vm_name, *machine_config);
This call is unsuccessful and also generates the "Machine : Machine settings file '/VirtualBox VMs/w7/w7.vbox' already exists" message. I have located the the VirtualBox file where this message is emanating from, it is MachineImpl.cpp, which can be found in genode-14.11/contrib/virtualbox-fd1a0bb3692bfb4448f3b3f8978fc1c5d037e2c4/src/app/virtualbox/src/VBox/Main/src-server.

This is the function that is called at around line 502:

/**
 *  Initializes a new instance from a machine config that is already in memory
 *  (import OVF case). Since we are importing, the UUID in the machine
 *  config is ignored and we always generate a fresh one.
 *
 *  @param strName  Name for the new machine; this overrides what is specified in config and is used
 *                  for the settings file as well.
 *  @param config   Machine configuration loaded and parsed from XML.
 *
 *  @return  Success indicator. if not S_OK, the machine object is invalid
 */

HRESULT Machine::init(VirtualBox *aParent,
                      const Utf8Str &strName,
                      const settings::MachineConfigFile &config)

In here, Machine::tryCreateMachineConfigFile() is called (at 534). This call finds out that the vbox file already exists and terminates VirtualBox.

I have tried to call Machine::initFromSettings() instaed in main.cc, but that causes a lot more error messages for which I am lacking detailed knowledge about the innards of VirtualBox.

Up to here, I don't think qemu or atapi_drv are to blame for this problem, the call to Machine::init() looks to be the problem.

So, how exactly did genode.org succeed in executing  Windows 7 with VirtualBox on Nova using genode-14.11 ?

Regards, Adrian Schuur.


Am 24.02.2015 um 19:21 schrieb Christian Prochaska:
Hello Adrian,

I could not reproduce the same problem you reported, but found two other
problems when trying to run VirtualBox in Qemu:

First, 'atapi_drv' does not run well on newer Qemu versions (I used Qemu
2.2.0), so I changed your run script to use the 'ahci' driver instead
(see attachment).

Then I tried to run TinyCore Linux in the VM (with both the .vbox and
the .iso file in the root directory of the ext2 image) and when the
Linux kernel started to boot, VirtualBox reported 'invalid gueststate'
errors and the kernel boot process never finished.

So, even if you can find out why your VirtualBox complains about the
'w7.vbox' file, I would not have too high hopes of getting your VM
running in VirtualBox on Qemu (or with AMD SVM hardware virtualization
in general) without some prior work on the VirtualBox port. So far we
have used and tested VirtualBox mainly on Intel hardware. Would that be
an option for you?

Regards,
Christian



------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/


_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main