vbox driver

rondzierwa at comcast.net rondzierwa at comcast.net
Sun Jul 5 17:44:07 UTC 2009


dmesg reveals the real problem: 

link_elf: symbol smp_rendezvous_cpus undefined 

I grep'ed the kernel sources (*.c, *.s, even *.h) and found no reference of this symbol. 
Is my kernel too old? 

phoenix% uname -a 
FreeBSD phoenix.hsd1.md.comcast.net 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Mar 8 04:04:40 EDT 2009 root at phoenix.hsd1.md.comcast.net:/usr/src/sys/i386/compile/PHOENIX i386 



----- Original Message ----- 
From: "Dan Nelson" <dnelson at allantgroup.com> 
To: "Gary Jennejohn" <gary.jennejohn at freenet.de> 
Cc: rondzierwa at comcast.net, freebsd-emulation at freebsd.org 
Sent: Sunday, July 5, 2009 12:40:25 PM (GMT-0500) Auto-Detected 
Subject: Re: vbox driver 

In the last episode (Jul 05), Gary Jennejohn said: 
> On Sat, 4 Jul 2009 17:09:33 +0000 (UTC) 
> rondzierwa at comcast.net wrote: 
> > I have installed the VirtualBox port my FreeBSD 7.0 system. I had to 
> > csup ports and download and install the virtualbox port manually, but 
> > eventually everything built and installed. 
> > 
> > kldload has a problem with the vboxdrv module: 
> > 
> > phoenix# kldload /boot/modules/vboxdrv.ko 
> > kldload: can't load /boot/modules/vboxdrv.ko: No such file or directory 
> > 
> > the file is there, and kldconfig is set up for the /boot/modules directory: 
> > 
> > phoenix# kldconfig -r 
> > /boot/kernel;/boot/modules 
> > phoenix# ls -l /boot/modules 
> > total 182 
> > -r-xr-xr-x 1 root wheel 185300 Jul 4 12:57 vboxdrv.ko 
> > 
> > could it be that there is no vboxdrv.ko.symbols file? all the other 
> > modules are in the /boot/kernel directory, and they all have .symbols 
> > files. 
> > 
> 
> This error message is confusing and doesn't necessarily really have 
> anything to do with vboxdrv.ko being present. kldload(2) in the kernel 
> can return a number of errors, but they're all hidden behind the error 
> message "can't load..." 
> 
> kldload(8) should probably use perror(3) so the user can see exactly 
> what the error returned from the kernel was. 

kldload did use perror; the kernel returned ENOENT - "No such file or 
directory". The problem is that the 92 defined errno values are not enough 
to describe all possible ways a syscall can fail. When loading a module, 
the most likely cause of ENOENT is a missing symbol preventing the linker 
from loading the module. The kernel will print a more verbose message to 
the console, so run dmesg and see what it's complaining about. 

-- 
Dan Nelson 
dnelson at allantgroup.com 


More information about the freebsd-emulation mailing list