Opened 11 years ago
Closed 11 years ago
#12271 closed defect (fixed)
Unable to open /devices/pseudo/vboxdrv@0:vboxdrvu" in non-global zone after upgrade to 4.3.0
Reported by: | dpim | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.3.0 |
Keywords: | zone, Solaris | Cc: | |
Guest type: | all | Host type: | Solaris |
Description (last modified by )
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 (10)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
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 by , 11 years ago
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
comment:4 by , 11 years ago
Description: | modified (diff) |
---|
comment:5 by , 11 years ago
Any update on progress? I can confirm that the issue persists with "v4.3.2".
comment:6 by , 11 years ago
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:9 by , 11 years ago
Actually after the initial fix there was another fix, so please use this test build instead.
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