[Sugar-devel] [IAEP] A Virtual Box solution that works with Sticks

Bill Bogstad bogstad at pobox.com
Wed Sep 23 20:56:36 EDT 2009


On Wed, Sep 23, 2009 at 8:12 PM, Gary C Martin <gary at garycmartin.com> wrote:
>
> Yes, I routinely use the "Shared Folders" feature for VirtualBox on the Mac
> :-) Every thing Sugar flavour I work on resides there for easy access
> between different VMs. VirtualBox treats this as a device (after installing
> guest additions) so after a reboot I run:

I wondered if you might be thinking of Shared Folders.   I don't think
of this as accessing a device.   I believe the access is at a
filesystem level rather then a block level.   Kind of like a
network-based client-server (NFS, CIFS)  filesystem which just happens
to be running all on one physical machine.  I don't see how this would
allow the guest OS running inside VB to actually boot off of the USB
stick.

If you use the raw disk method that I suggested, then you really do
boot off of the USB stick.   Theoretically the raw disk method could
be used with any USB bootable stick because you get everything from
the stick (not just the users home directory).

Still one could install SoaS to a virtual disk under VB, install the
VB guest software there, modify the installed SoaS to
mount the a directory via the shared folder mechanism.  Then the
question is what is in the shared folder.  You can't
just have it be the mounted USB stick.  That's isn't the SoaS user's
home directory.  You have to to dig inside the USB stick to find the
linux filesystem image there which is used for the user's home
directory.  I'm guessing Mac OS X doesn't mount Linux filesystem
images located on VFAT formatted USB sticks.  One possibility might be
to make the shared folder just be the VFAT formatted USB stick and
mount the Linux filesystem image from within the Linux guest OS (kind
of like SoaS does it now anyway).

Personally, I think the raw disk method is much simpler for the SoaS
use case of wanting access to all of the users
journal entries/activities.  I just don't know if this works under Mac
OS X.  Also, if you want any user modified OS stuff as well; I don't
see any way to get it to work.

> Also be aware that you need to tell VirtualBox it's allowed to use USB, I

I don't see why.  You aren't actually giving the the VB Guest OS
direct access to  the USB stick at any level.  You are giving it
access to some directory in some filesystem which is mounted somewhere
by the host OS.  The guest OS (SoaS/Fedora) doesn't ever see it as a
USB device at all.  This is true with the raw disk method as well, but
block level access via USB is close enough to block level access via
an emulated IDE controller that it seems to work.  Only the kernel
itself cares which
device driver is being used.

> think it defaults to allow, but you can also filter for named devices if
> that makes more sense in a deployment. I would also want to sanity check the
> shut down process to make sure we didn't bork users sticks at the end of a
> session.

> Ping if you'd like to work this through, should be easy enough for me to set
> up a test cycle here if you think this is valuable.

If I get some time to actually do something about it, I'll let you know.

Thanks,
Bill Bogstad


More information about the Sugar-devel mailing list