--- On Mon, 7/25/11, Brandon Gooch <[email protected]> wrote:

From: Brandon Gooch <[email protected]>
Subject: Re: mount vdi
To: "Andrey V. Elsukov" <[email protected]>
Cc: "Joe Sciulli" <[email protected]>, [email protected], 
[email protected]
Date: Monday, July 25, 2011, 4:31 PM

2011/7/25 Andrey V. Elsukov <[email protected]>:
> On 25.07.2011 10:18, Joe Sciulli wrote:
>> Is it possible to mount virtualbox vdi file on the FreeBSD host?  This 
>> appears to be doable on
>> windows and linux hosts, which basically is done in two steps: 1. find 
>> offset in the image. 2.
>> mount the image with that offset.
>>
>> I'm trying to do the same thing on FreeBSD, and found the undocumented and 
>> deprecated command
>> still works:
>>
>> VBoxManage internalcommands dumphdinfo freebsd_home.vdi
>>
>> I got the following for the virtual disk image holding the /home (no root 
>> hence no MBR) disk for
>> a FreeBSD guest:
>>
>> Header: offBlocks=4096 offData=28672
>>
>> Then attempt to mount it:
>>
>> mdconfig -a -t vnode -f /tmp/freebsd_home_56.vdi -u 0 
mount /dev/md0 /tmp/aaa/ 
mount -t cd9660 /dev/md0 /tmp/aaa/
>>
>> unfortunately both the above two mount commands failed with "Invalid 
>> argument".  I tried
>> skip=28672 to no avail as well.  Anything did I do wrong?
>
> I have not any Vbox images with fixed size, but i tried this:
> # mdconfig -f 10G_GPT_UFS.vdi
> # gnop create -v -o 41472 /dev/md0
>
> where 41472 is offData value. After that md0.nop was tasted and reports about 
> invalid GPT.
> So, i think if your image is fixed size disk yout can try this method and 
> mount UFS (not cd9660).
>
> --
> WBR, Andrey V. Elsukov

There was a CFT sent out a while back about a fuse module for mounting
vdi images:

http://lists.freebsd.org/pipermail/freebsd-emulation/2010-September/007964.html

Not sure about the state of this now though...

-Brandon


Thanks for your replies.  

I tried 

mdconfig -f  freebsd_home.vdi
gnop create -v -o 28672 /dev/md0

Indeed /dev/md0.nop etc were created.  But mounting with the following commands 
still yielded the dreaded "Invalid argument" error:

mount /dev/md0.nop /tmp/aaa/ 

mount -t ufs /dev/md0.nop /tmp/aaa/

One thing interesting is, in the gnop command, if I change 28672 to anything 
else such as 28671 or 28673 or whatever, that gnop command would fail with:

gnop: Invalid offset for provider md0.

so that suggests the offset is correct.  It's just that how to mount it.

The vdi is a variable size disk in virtualbox.  But I had shutdown virtualbox 
and copied it to another file before mdconfig on it.  

I looked closer at virtualbox-ose-fuse.shar Brandon linked, it appears to be 
hardcoded to work with VirtualBox-3.2.8-OSE, while I only have 
VBoxGuestAdditions_4.0.12 as in the ports tree.

Any more idea, thanks.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "[email protected]"

Reply via email to