#14627 closed defect (fixed)
VirtualBox 5.0.4: Cannot create device /dev/vboxdrv with major 10 and minor 57u 58
回報者: | Dâniel Fraga | 負責人: | |
---|---|---|---|
元件: | installer | 版本: | VirtualBox 5.0.4 |
關鍵字: | 副本: | ||
Guest type: | other | Host type: | Linux |
描述
This is what I get when I try: /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules ...done. Removing old VirtualBox pci kernel module ...done. Removing old VirtualBox netadp kernel module ...done. Removing old VirtualBox netflt kernel module ...done. Removing old VirtualBox kernel module ...done. Recompiling VirtualBox kernel modules ...done. Starting VirtualBox kernel modulessleep: invalid time interval `.2'
...failed!
(Cannot create device /dev/vboxdrv with major 10 and minor 57u
58)
Any hints?
I'm using VirtualBox-5.0.4-102546-Linux_amd64.run (generic). The log seems fine, the kernel modulo is compiled properly. I can even load it:
modprobe vboxdrv
So any hints? Thanks.
附加檔案 (1)
更動歷史 (9)
9 年 前 由 編輯
附檔: | 新增 VBoxSVC.log |
---|
comment:2 9 年 前 由 編輯
Would be great to know the Linux distribution you are using and if the kernel you used is self-compiled or you are using the kernel from the distribution.
comment:3 9 年 前 由 編輯
I'm using Linux from scratch and yes, the kernel is self-compiled.
I think the problem is with this line from vboxdrv:
sed -n 's;\([0-9]\+\) vboxdrv;\1;p' /proc/misc
57u 58
The "u" after 57 is wrong, right?
Take a look at /proc/misc:
57 vboxdrvu 58 vboxdrv 200 tun 232 kvm 235 autofs 184 microcode 59 memory_bandwidth 60 network_throughput 61 network_latency 62 cpu_dma_latency 227 mcelog 228 hpet 63 vga_arbiter
comment:4 9 年 前 由 編輯
Replying to frank:
Would be great to know the Linux distribution you are using and if the kernel you used is self-compiled or you are using the kernel from the distribution.
Ok Frank, the solution is to change the following line in /etc/init.d/vboxdrv:
MINOR=`sed -n 's;\([0-9]\+\) vboxdrv;\1;p' /proc/misc`
and add a "$" at the end of "vboxdrv", so it doesn't get confused by vboxdrvu returning 2 numbers:
MINOR=`sed -n 's;\([0-9]\+\) vboxdrv$;\1;p' /proc/misc`
That fixed.
跟進: 8 comment:5 9 年 前 由 編輯
Why is this problem affects only Linux-From-Scratch, but none of the mainstream distros ? (SUSE/Red Hat/Debian/Ubunbu)
What is so special about LFS ? And why "vboxdrvu" gets created ?
comment:6 9 年 前 由 編輯
Dâniel, thanks for the suggestion. I think this code path is normally not used because as soon as the vboxdrv module is loaded, both /dev/vboxdrv and vboxdrvu are created automatically. Not sure why this doesn't work for you. Anyway, I've committed a similar change which will be part of the next maintenance release.
To answer the other question: /dev/vboxdrvu is another interface which allows non-hardened processes (e.g. VBoxSVC) to access a tiny part of the kernel interface. It's mainly used to detect CPU features like the availability of nested paging (which can only be detected from ring 0).
comment:8 9 年 前 由 編輯
Replying to Technologov:
Why is this problem affects only Linux-From-Scratch, but none of the mainstream distros ? (SUSE/Red Hat/Debian/Ubunbu)
What is so special about LFS ? And why "vboxdrvu" gets created ?
Well, I don't know, but /proc/misc output is pretty standard, isn't? If I get the vboxdrvu, then it should be considered.
But I see it got fixed in the last version. Thank you Frank.
Would be great to know the Linux distribution you are using and if the kernel you used is self-compiled or you are using the kernel from the distribution.