Sharing Folders in VirtualBox
By user12611852 on Mar 24, 2009
One of the new features of the recently posted VirtualBox 2.2 beta1 is that you are finally allowed to share folders from an OpenSolaris guest to a MacOS host. This increases the usability of VBox substantially for me because I've been using a workaround for a while.
It's easy to setup the sharing capability in the Virtualbox GUI. With your VM running:
Devices > Shared Folders
Enter the path of a folder on our Mac and the "Share" name that you will be using to reference it on your OpenSolaris system. The folder name does not need to be related to the actual folder path.
UPDATE NOTE: In Solaris 11 express build 151a, the initial user is NOT configured as Primary Administrator by default and the pfexec command listed below will not work until you give the user that role.
- System > Adminstration > Users and Groups
- Click on your username and Properties
- User Profiles tab, select Primary Administrator and click OK
On the OpenSolaris side, you need to mount the file system to make it visible to the user.
uid=101(jlaurent) gid=10(staff) groups=10(staff)
bash-3.2$ mkdir mac
bash-3.2$ pfexec mount -F vboxfs -o uid=101,gid=10 jlaurent /export/home/jlaurent/mac
This, however, is annoying to do each time you reboot so it would be nice to have the file system mount on boot up. Adding a line to /etc/vfstab should help.
jlaurent - /export/home/jlaurent/mac vboxfs - yes uid=101,gid=10
Unfortunately, in my testing, this prevented the system from booting. Thanks to Michael, I learned that this is because Solaris process vfstab BEFORE it completes the ZFS mount of my home directory in /export/home. Changing the line to:
jlaurent - /mac vboxfs - yes uid=101,gid=10
Fixed the problem.
However, it's not very convenient at /mac. There are a few other options.
You can also add the line you your .bashrc file but that only takes effect when you start a new terminal window. The best option for me was to place the line in the Gnome session startup scripts.
System > Preferences > Sessions > Add
There's a little trick, however, that was non-intuitive to me the first time I did this. My file system was NOT mounting on login and I didn't know why. I checked into my .xsession-errors file and found the message: mount: command not found.
As you can see in the screen shot above, the absolute pathname is required for commands executed during login.
StarOffice and Gedit do NOT want to save data back into this folder even though cp and vi have no problem with it. I'm still researching this issue.