VirtualBox

Ticket #12271 (closed defect: fixed)

Opened 6 months ago

Last modified 4 months ago

Unable to open /devices/pseudo/vboxdrv@0:vboxdrvu" in non-global zone after upgrade to 4.3.0

Reported by: dpim Owned by:
Priority: major Component: other
Version: VirtualBox 4.3.0 Keywords: zone, Solaris
Cc: Guest type: all
Host type: Solaris

Description (last modified by ramshankar) (diff)

In Solaris 11.1 zone, vbox try to open physical device /devices/pseudo/vboxdrv@0:vboxdrvu instead of /dev/vboxdrvu; 1.) Zone not able to configure /dev/vboxdrvu directly due non-availablity symlink for vboxdrvu between /dev and /devices in global zone; 2.) On other side, physical device /devices/pseudo/vboxdrv@0:vboxdrvu is not exist in non-global zone; Anyway, non-global zone operates only with /dev via "set match" zonecfg (1M) Solaris directive;

00:00:00.000850 main     Log opened 2013-10-21T08:14:07.119992000Z

00:00:00.000853 main     Build Type: release

00:00:00.000860 main     OS Product: SunOS

00:00:00.000861 main     OS Release: 5.11

00:00:00.000863 main     OS Version: 11.1

00:00:00.003190 main     Host RAM: 16343MB total, 11070MB available

00:00:00.003197 main     Executable: /opt/VirtualBox/amd64/VBoxSVC

00:00:00.003199 main     Process ID: 19571

00:00:00.003200 main     Package type: SOLARIS_64BITS_GENERIC

00:00:01.822415 nspr-2   Loading settings file "/export/home/vbox/.VirtualBox/VirtualBox.xml" with version "1.12-solaris"

00:00:03.548329 nspr-2   Failed to open "/devices/pseudo/vboxdrv@0:vboxdrvu", errno=2, rc=VERR_VM_DRIVER_NOT_INSTALLED

00:00:03.548703 nspr-2   VDInit finished

Change History

comment:1 Changed 5 months ago by ramshankar

You need to configure the zone manually. Also, it should be "vboxdrv" and not "vboxdrvu".

Please check the user manual https://www.virtualbox.org/manual/ch02.html#solaris-zones

comment:2 Changed 5 months ago by ramshankar

Update: It seems vboxdrvu is a new device node in 4.3.x and thus you will need to manually add it to your zone configuration.

vboxdrvu is used by VBoxSVC to talk to the driver for figuring out things like VT-x/AMD-V features.

comment:3 Changed 5 months ago by dpim

It's not described why Virtrualbox tried to use physical device in Solaris instead of /dev tree. Instead, we should understand why zone try to open physical dev - /devices/pseudo/vboxdrv@0:vboxdrvu instead of match: /dev/vboxdrvu in /dev tree: Zones not able to operate physical paths (below /devices tree) paths and only uses /dev tree;

here is a part of VBoxSVC.log runned in Solaris zone, with correctly configured /dev/vboxdrvu below (see config below) --- VirtualBox XPCOM Server 4.3.0 r89960 solaris.amd64 (Oct 15 2013 12:35:06) release log 00:00:00.001095 main Log opened 2013-11-23T21:48:41.068987000Z 00:00:00.001099 main Build Type: release 00:00:00.001117 main OS Product: SunOS 00:00:00.001118 main OS Release: 5.11 00:00:00.001119 main OS Version: 11.1 00:00:00.003312 main Host RAM: 16343MB total, 12393MB available 00:00:00.003319 main Executable: /opt/VirtualBox/amd64/VBoxSVC 00:00:00.003320 main Process ID: 2389 00:00:00.003321 main Package type: SOLARIS_64BITS_GENERIC 00:00:02.478113 nspr-2 Loading settings file "/export/home/vbox/.VirtualBox/VirtualBox.xml" with version "1.12-solaris" 00:00:04.665279 nspr-2 Failed to open "/devices/pseudo/vboxdrv@0:vboxdrvu", errno=2, rc=VERR_VM_DRIVER_NOT_INSTALLED 00:00:04.665827 nspr-2 VDInit finished


Different Unix'es like Linux as i see still use settings vboxdrv and vboxdrvu for DEVICE_NAME_SYS and DEVICE_NAME_USR ;

see

 http://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c Mac OSX too:  http://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp

Instead of hardcoded /devices/pseudo/vboxdrv@0:vboxdrvu and /devices/pseudo/vboxdrv@0:vboxdrv in  http://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostDrivers/Support/solaris/SUPLib-solaris.cpp

Here system try to access to /devices/pseudo/vboxdrv@0:vboxdrvu; and /devices/pseudo/vboxdrv@0:vboxdrv; instead of /dev/vboxdrvu which are the link to /devices/pseudo/vboxdrv@0:vboxdrvu;

Again, IMHO Virtualbox should not use the physical device path - it should be /dev/vboxdrvu instead /devices/pseudo/vboxdrv@0:vboxdrvu and /dev/vboxdrv for /devices/pseudo/vboxdrv@0:vboxdrv

this is my zone config: ('zonecfg -z vbox info); If you need something, let me know:

here is the zoneconfig with correct /dev/vboxdrvu provided to the local zone:

[vbox]$ ls -lsa /dev/vboxdrvu

0 crw-rw-rw- 1 root sys 299, 1 Nov 24 01:48 /dev/vboxdrvu


[oz]# zonecfg -z vbox info zonename: vbox zonepath: /rpool1/zones/vbox brand: solaris autoboot: true bootargs: file-mac-profile: pool: limitpriv: scheduling-class: ip-type: exclusive hostid: fs-allowed: fs:

dir: /opt special: /opt raw not specified type: lofs options: []

net:

address not specified allowed-address not specified configure-allowed-address: true physical: vnic1 defrouter not specified

net:

address not specified allowed-address not specified configure-allowed-address: true physical: vnic2 defrouter not specified

net:

address not specified allowed-address not specified configure-allowed-address: true physical: vnic3 defrouter not specified

net:

address not specified allowed-address not specified configure-allowed-address: true physical: vnic4 defrouter not specified

anet:

linkname: net0 lower-link: auto allowed-address not specified configure-allowed-address: true defrouter not specified allowed-dhcp-cids not specified link-protection: mac-nospoof mac-address: random auto-mac-address: 2:8:20:2d:19:d3 mac-prefix not specified mac-slot not specified vlan-id not specified priority not specified rxrings not specified txrings not specified mtu not specified maxbw not specified rxfanout not specified vsi-typeid not specified vsi-vers not specified vsi-mgrid not specified etsbw-lcl not specified cos not specified pkey not specified linkmode not specified

device:

match: /dev/vboxdrv allow-partition not specified allow-raw-io not specified

device:

match: /dev/vboxusbmon allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/rdsk/rpool1/zones/volumes/w2003sbs allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/dsk/rpool1/zones/volumes/w2003sbs allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/dsk/rpool1/zones/volumes/osx allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/rdsk/rpool1/zones/volumes/osx allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/dsk/rpool1/zones/volumes/xp allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/rdsk/rpool1/zones/volumes/xp allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/dsk/vmpool/w2008r2 allow-partition not specified allow-raw-io not specified

device:

match: /dev/zvol/rdsk/vmpool/w2008r2 allow-partition not specified allow-raw-io not specified

device:

match: /dev/vboxnet* allow-partition not specified allow-raw-io not specified

device:

match: /dev/vboxdrvu allow-partition not specified allow-raw-io not specified

dataset:

name: space/distro alias: distro

Version 0, edited 5 months ago by dpim (next)

comment:4 Changed 5 months ago by ramshankar

  • Description modified (diff)

comment:5 Changed 5 months ago by jbcraig

Any update on progress? I can confirm that the issue persists with "v4.3.2".

comment:6 Changed 4 months ago by Az

It persists on v4.3.4 at a Solaris 11.1 SRU 13.6.
Furthermore, despite the installation success message in the GZ:

root@s11:/tmp# pkgadd -a autoresponse -n -d VirtualBox-4.3.4-SunOS-amd64-r91027.pkg all
Checking package dependencies...
Done.
Checking for older bits...
Installing new ones...
Detected Solaris 11 Version 175
Loading VirtualBox kernel modules...

  • Loaded: Host module
  • Loaded: NetAdapter module
  • Loaded: NetFilter (Crossbow) module
  • Loaded: USBMonitor module
  • Loaded: USB module

Configuring services...

  • Loaded: Zone access service

Installing MIME types and icons...
Installing Python bindings...

  • Installed: Bindings for Python 2.6

Updating the boot archive...

Installation of <SUNWvbox> was successful.


But I get no /dev/vboxdrv at all.

root@s11:~# ll /dev/vbox*
lrwxrwxrwx 1 root root ... /dev/vboxflt -> ../devices/pseudo/clone@0:vboxflt
lrwxrwxrwx 1 root root ... /dev/vboxnet0 -> ../devices/pseudo/vboxnet@0:vboxnet0
lrwxrwxrwx 1 root root ... /dev/vboxnet -> ../devices/pseudo/clone@0:vboxnet
lrwxrwxrwx 1 root other ... /dev/vboxusbmon -> ../devices/pseudo/vboxusbmon@0:vboxusbmon

I really hope that this gets addressed ASAP.

Regards.

comment:7 Changed 4 months ago by ramshankar

Fixed in SVN. Fix should be available in the next maintenance release.

comment:8 Changed 4 months ago by frank

You might want to test this test build.

comment:9 Changed 4 months ago by frank

Actually after the initial fix there was another fix, so please use this test build instead.

comment:10 Changed 4 months ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in 4.3.6.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use