Discuss: Mount any VBox-compatible disk image on the host
Re: Discuss: Mount any VBox-compatible disk image on the host
I'm changed this to a discussion topic, and the original HOWTO has been moved to another topic. See the first post of this topic to see the new home of the howto
-
- Volunteer
- Posts: 3572
- Joined: 28. May 2008, 08:40
- Primary OS: Ubuntu other
- VBox Version: PUEL
- Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
- Contact:
Re: Discuss: Mount any VBox-compatible disk image on the host
Not sure about this one. I do all my testing on Ubuntu and I tried it on other Debian builds. I am not too familiar with the Redhat Dirstros. Fedora 11 is new, and maybe there is a subtle API change. All I can suggest is that do a debug build and run it under Gdb to see. No I don't have. Sorry. h2o and I developed this largely for our own use but shared it with the community because is can be really useful.es1 wrote:Thanks for great VDI tutorial. I downloaded the vdfuse-v50.c and it failed on the mount with 'invalid argument'. I used Fedora 11 and I ran it as super user. Other fuse FS were working fine. Do you have and experience with such failure? Do you have a new version of vdfuse.c ?
Mainly performance and mainstream. This uses a fuse API, and FUSE filesystems are reasonably efficient. Nbd works through the network stack.es1 wrote: What are the pros/cons of this program compared with the nbd based mount utility?
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
Google your Q site:VirtualBox.org or search for the answer before posting.
-
- Posts: 38
- Joined: 25. Mar 2009, 02:12
- Primary OS: Fedora 10
- VBox Version: OSE self-compiled
- Guest OSses: XP,Vista,Linux,win7,32b,64b
Re: Discuss: Mount any VBox-compatible disk image on the host
Hi Terry, VBox team,
On Fedora I get error with vdfuse-v50.c due to empty dummy device name, I changed it to "vdi" and it works.
Here is the patch (also fixed the warning generated if compiled with -Wshadow)
btw: I get these warnings if compiled with '-W -Wall' (which is different from only -Wall)
HTH
On Fedora I get error with vdfuse-v50.c due to empty dummy device name, I changed it to "vdi" and it works.
Here is the patch (also fixed the warning generated if compiled with -Wshadow)
Code: Select all
# diff -u vdfuse-v50.c vdfuse-v50a.c
--- vdfuse-v50.c 2009-06-12 16:30:40.093827292 -0400
+++ vdfuse-v50a.c 2009-06-12 17:11:58.113828315 -0400
@@ -254,7 +254,7 @@
myuid = geteuid ();
mygid = getegid ();
- fuse_opt_add_arg (&fuseArgs, "");
+ fuse_opt_add_arg (&fuseArgs, "vdi");
fuse_opt_add_arg (&fuseArgs, "-o");
fuse_opt_add_arg (&fuseArgs, allowall ? "allow_other": "allow_root");
if (foreground) fuse_opt_add_arg (&fuseArgs, "-f");
@@ -529,8 +529,8 @@
filler (buf, ".", NULL, 0);
filler (buf, "..", NULL, 0);
for (n = 0; n <= lastPartition; n++) {
- Partition *p = partitionTable + n;
- if (p->no != UNALLOCATED) filler(buf, p->name, NULL, 0);
+ Partition *pr = partitionTable + n;
+ if (pr->no != UNALLOCATED) filler(buf, pr->name, NULL, 0);
}
return 0;
}
Code: Select all
In file included from vdtest.c:115:
/home/es1/virtualbox/VirtualBox-2.2.4_OSE/include/VBox/VBoxHDD.h: In function ‘VDInterfaceGet’:
/home/es1/virtualbox/VirtualBox-2.2.4_OSE/include/VBox/VBoxHDD.h:275: warning: comparison of unsigned expression >= 0 is always true
/home/es1/virtualbox/VirtualBox-2.2.4_OSE/include/VBox/VBoxHDD.h: In function ‘VDInterfaceAdd’:
/home/es1/virtualbox/VirtualBox-2.2.4_OSE/include/VBox/VBoxHDD.h:311: warning: comparison of unsigned expression >= 0 is always true
Last edited by es1 on 20. Jun 2009, 15:01, edited 1 time in total.
Re: Discuss: Mount any VBox-compatible disk image on the host
Hello,
I'm trying to build this vdfuse tool as described in the HOW TO.
It says you can use svn to get the headers without needing all the source. I did this.
When I try to run the vdbuild script it gives me the message:
.: 32: Can't open /etc/vbox/vbox.cfg
I don't have that file and don't know where it's supposed to come from. In /etc/vbox all I have is a file called "interfaces".
My current installed version is 2.2.2 but I see 2.2.4 is out now. I haven't updated yet. Do I need to or is there some other reason I don't have this vbox.cfg file present?
I want to try this out to mount a vdi I have without starting a machine just to access the files.
Thanks for your help.
Chris
I'm trying to build this vdfuse tool as described in the HOW TO.
It says you can use svn to get the headers without needing all the source. I did this.
When I try to run the vdbuild script it gives me the message:
.: 32: Can't open /etc/vbox/vbox.cfg
I don't have that file and don't know where it's supposed to come from. In /etc/vbox all I have is a file called "interfaces".
My current installed version is 2.2.2 but I see 2.2.4 is out now. I haven't updated yet. Do I need to or is there some other reason I don't have this vbox.cfg file present?
I want to try this out to mount a vdi I have without starting a machine just to access the files.
Thanks for your help.
Chris
-
- Posts: 38
- Joined: 25. Mar 2009, 02:12
- Primary OS: Fedora 10
- VBox Version: OSE self-compiled
- Guest OSses: XP,Vista,Linux,win7,32b,64b
Re: Discuss: Mount any VBox-compatible disk image on the host
Just comment out the exit statement in the build script, and add the following line
INSTALL_DIR=/usr/lib/virtualbox
INSTALL_DIR=/usr/lib/virtualbox
Re: Discuss: Mount any VBox-compatible disk image on the host
Thank you. That worked.
Also had to apt-get install libfuse-dev, but no problem there.
Chris
Also had to apt-get install libfuse-dev, but no problem there.
Chris
Re: Discuss: Mount any VBox-compatible disk image on the host
Oops. Spoke too soon.
I compiled and have a binary but it always just gives me an error message when I try to use it.
sudo vdfuse -f .VirtualBox/HardDisks/Jeos.vdi /mnt/vdi
fuse: mount failed: Invalid argument
If I add -v (verbose) then it tells me the file type is VDI and see partitions as expected but same msg out.
Tried again and again,always same. Except if I run non-sudo it tells me mount point is not writeable by user.
Any ideas?
Thanks,
Chris
I compiled and have a binary but it always just gives me an error message when I try to use it.
sudo vdfuse -f .VirtualBox/HardDisks/Jeos.vdi /mnt/vdi
fuse: mount failed: Invalid argument
If I add -v (verbose) then it tells me the file type is VDI and see partitions as expected but same msg out.
Tried again and again,always same. Except if I run non-sudo it tells me mount point is not writeable by user.
Any ideas?
Thanks,
Chris
-
- Volunteer
- Posts: 829
- Joined: 27. Sep 2008, 06:18
- Primary OS: Mac OS X Leopard
- VBox Version: PUEL
- Guest OSses: linux,xp,win7
- Location: Luleå or Skellefteå, Sweden
Re: Discuss: Mount any VBox-compatible disk image on the host
Guessing:
Create a directory in your home directory then mount it to that without any sudo.
Or change ownership of /mnt/vdi to your user (still no sudo) .
Create a directory in your home directory then mount it to that without any sudo.
Or change ownership of /mnt/vdi to your user (still no sudo) .
Some say: "You learn as long as you live".
My way: "You live as long as you learn".
My way: "You live as long as you learn".
-
- Volunteer
- Posts: 3572
- Joined: 28. May 2008, 08:40
- Primary OS: Ubuntu other
- VBox Version: PUEL
- Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
- Contact:
Re: Discuss: Mount any VBox-compatible disk image on the host
Have set up your /etc/fuse.conf?
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
Google your Q site:VirtualBox.org or search for the answer before posting.
Re: Discuss: Mount any VBox-compatible disk image on the host
I've only done what was indicated in the HOWTO.
It doesn't say anything about fuse.conf as far as I recall.
I do use the sshfs tools though and I believe it also uses fuse to work, so maybe there is some conflict?
SSHFS works fine with when my vbox guest is running and allows me to mount part of the guest filesystem into my host so that I can use development editor tools easily.
Chris
It doesn't say anything about fuse.conf as far as I recall.
I do use the sshfs tools though and I believe it also uses fuse to work, so maybe there is some conflict?
SSHFS works fine with when my vbox guest is running and allows me to mount part of the guest filesystem into my host so that I can use development editor tools easily.
Chris
-
- Posts: 38
- Joined: 25. Mar 2009, 02:12
- Primary OS: Fedora 10
- VBox Version: OSE self-compiled
- Guest OSses: XP,Vista,Linux,win7,32b,64b
Re: Discuss: Mount any VBox-compatible disk image on the host
Chris,
What linux distribution are you using?
Did you apply the patch from the previous post:
- fuse_opt_add_arg (&fuseArgs, "");
+ fuse_opt_add_arg (&fuseArgs, "vdi");
Change the first fuse_opt_add_arg() from empty string to "vdi" or "vdisk" on some distros it is required (Fedora for example).
Good Luck
What linux distribution are you using?
Did you apply the patch from the previous post:
- fuse_opt_add_arg (&fuseArgs, "");
+ fuse_opt_add_arg (&fuseArgs, "vdi");
Change the first fuse_opt_add_arg() from empty string to "vdi" or "vdisk" on some distros it is required (Fedora for example).
Good Luck
Re: Discuss: Mount any VBox-compatible disk image on the host
Ubuntu 8.10
I haven't applied any patch - as I said just followed the HOWTO instructions.
Maybe It's not much of a HOWTO if it leaves out a bunch of stuff that people need to do.
It gives me that message about command args but the only command line arg I gave was "-f vdifile".
I looked at my /etc/fuse.conf and it has only (below) what appears to be comments.
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
I haven't applied any patch - as I said just followed the HOWTO instructions.
Maybe It's not much of a HOWTO if it leaves out a bunch of stuff that people need to do.
It gives me that message about command args but the only command line arg I gave was "-f vdifile".
I looked at my /etc/fuse.conf and it has only (below) what appears to be comments.
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
Re: Discuss: Mount any VBox-compatible disk image on the host
I tried making a mnt directory in my home and mounting there.
I get,
fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
But huh? In this case the mnt directory is owned by me and the VDI file is owned by me so what other user is involved here?
My command was simply,
vdfuse -f .VirtualBox/HardDisks/Jeos.vdi mnt
Done in my home directory.
It seems like something is not setup right with fuse - still, I have been using it fine with SSHFS for over a year and never had these kind of nonsensical messages.
Oh well, just thought I could improve things a little by not having to start the VM just to get some info from a file on it.
I get,
fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
But huh? In this case the mnt directory is owned by me and the VDI file is owned by me so what other user is involved here?
My command was simply,
vdfuse -f .VirtualBox/HardDisks/Jeos.vdi mnt
Done in my home directory.
It seems like something is not setup right with fuse - still, I have been using it fine with SSHFS for over a year and never had these kind of nonsensical messages.
Oh well, just thought I could improve things a little by not having to start the VM just to get some info from a file on it.
-
- Volunteer
- Posts: 3572
- Joined: 28. May 2008, 08:40
- Primary OS: Ubuntu other
- VBox Version: PUEL
- Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
- Contact:
Re: Discuss: Mount any VBox-compatible disk image on the host
Chris, this isn't part of the core product. It was developed by a couple of VB users for their own purposes and shared with the community just in case anyone else found it useful. You are right in that before something like this was made available to the average user then we'd need to "productionise" properly. There are subtleties of the access rights around FUSE modules that we need to bottom first. However, at the moment you are giving me a hard time for not putting in a lot of hours improving something that I have contributed — so that you don't need to bother reading a manual. I know that h2o or I (or someone else such as es1) could improve this, but its a Q of priorities. I am in the middle of upgrading a bunch of forums that I help support to the latest version of phpBB. I am also working with the phpBB dev team to put in some tuning improvements. I'll get around to this when I have time, if one of the others doesn't do it first. This is how these little FLOSS goodies work.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
Google your Q site:VirtualBox.org or search for the answer before posting.
-
- Posts: 38
- Joined: 25. Mar 2009, 02:12
- Primary OS: Fedora 10
- VBox Version: OSE self-compiled
- Guest OSses: XP,Vista,Linux,win7,32b,64b
Re: Discuss: Mount any VBox-compatible disk image on the host
Chris,
First I give you the answers then ...
looking into the code of vdfuse and applying the patch I mentioned, if you need only a user to have access, without others accessing the data, then you may try to comment out two lines:
lines 232,233:
// fuse_opt_add_arg (&fuseArgs, "-o");
// fuse_opt_add_arg (&fuseArgs, allowall ? "allow_other": "allow_root");
This will eliminate the request for allow others. and you should be OK, I did not test it, please do and let us all know if it works for you.
Now to the approach issue:
You and I are using free software, we should thank for whatever it is - and mostly it is great product, flexible with many features. If it doesn't have the documentation or feature, we should read more, even dive into source code if needed, and write and contribute back. I'll take your complain as a "wish list" of what you would like to have as documentation and features of the products (remember that vdfuse is not part of any product, just good contributed code for the community).
HTH
Best,
First I give you the answers then ...
looking into the code of vdfuse and applying the patch I mentioned, if you need only a user to have access, without others accessing the data, then you may try to comment out two lines:
lines 232,233:
// fuse_opt_add_arg (&fuseArgs, "-o");
// fuse_opt_add_arg (&fuseArgs, allowall ? "allow_other": "allow_root");
This will eliminate the request for allow others. and you should be OK, I did not test it, please do and let us all know if it works for you.
Now to the approach issue:
You and I are using free software, we should thank for whatever it is - and mostly it is great product, flexible with many features. If it doesn't have the documentation or feature, we should read more, even dive into source code if needed, and write and contribute back. I'll take your complain as a "wish list" of what you would like to have as documentation and features of the products (remember that vdfuse is not part of any product, just good contributed code for the community).
HTH
Best,