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