# Kernel problems with virtualisation software(virtualbox&kvm)

## kahr.kunne

```
[~] $ sudo modprobe vboxdrv

Password:

modprobe: ERROR: could not insert 'vboxdrv': Unknown symbol in module, or unknown parameter (see dmesg)

[~] $ sudo dmesg #truncated

[19796.322497] kworker/dying (22711) used greatest stack depth: 11872 bytes left

[19844.979146] vboxdrv: Unknown symbol preempt_notifier_register (err 0)

[19844.979163] vboxdrv: Unknown symbol preempt_notifier_unregister (err 0)

[~] $ sudo qemu-system-x86_64 -hda templeos.img -machine kernel_irqchip=off -smp cores=8 --enable-kvm -cpu host -m 512 -rtc base=localtime -soundhw pcspk -cdrom TempleOSCD.ISO -boot d

Could not access KVM kernel module: No such file or directory

failed to initialize KVM: No such file or directory

[~] $ sudo dmesg #truncated

[19909.853482] vboxdrv: Unknown symbol preempt_notifier_register (err 0)

[19909.853499] vboxdrv: Unknown symbol preempt_notifier_unregister (err 0)

```

This is with kvm compiled into the kernel. With it as module, it gives a similar error to vboxdrv when modprobe'd.

All software was up to date a few days ago (kernel version 4.1.15-gentoo-r1). Issue was present before updating a few days ago as well, so it's not a recent regression.

----------

## Jaglover

Sounds very much like you are not mounting /boot when installing new kernel, so the old kernel is still running and since modules are compiled against different sources you get "unknown symbol" error.

----------

## TempleOS

I made some recent changes to drive code.  I think I renamed a symbol.  I don't think twice to change things because nobody uses modified code.

If you just get a fresh copy, it will be fixed.  If you use older code with newer, you can get problems.

I have not had to worry about this with practically nobody sticking to it.

I think every body took a look for a day or two and moved on.

Now, maybe people will use it longer.

Sorry.

----------

## kahr.kunne

 *Jaglover wrote:*   

> Sounds very much like you are not mounting /boot when installing new kernel, so the old kernel is still running and since modules are compiled against different sources you get "unknown symbol" error.

 

No, that's not true. My /boot is mounted on boot. My kernel name in uname has changed as well between upgrades, and eselect kernel list gives two kernels now (with the newest one being selected), so I'm certain that's not the case.

@TempleOS

Your name suggests you're the TempleOS developer, are you? If you are, then don't worry about my issue - it's not on TempleOS' end, it's on Linux' end. Thank you for replying to my thread, though. How did you even find it?

----------

## bbgermany

Hi,

how did you get/compile your kernel? By hand or genkernel/genkernel-next?

greets, bb

----------

## Buffoon

kahr.kunne,

eselect manages symlinks to kernel sources, has not much to do with kernel images in /boot.

----------

## kahr.kunne

 *bbgermany wrote:*   

> Hi,
> 
> how did you get/compile your kernel? By hand or genkernel/genkernel-next?
> 
> greets, bb

 

By hand

 *Buffoon wrote:*   

> kahr.kunne,
> 
> eselect manages symlinks to kernel sources, has not much to do with kernel images in /boot.

 

Oh yeah, I forgot. Still, the kernel image is definitely present and running. Also, as I've said in the OP, the issue was present before updating my kernel as well. At least the virtualbox kernel modules (which I installed through portage, in case that wasn't obvious) should modprobe without a problem, right?Last edited by kahr.kunne on Tue May 24, 2016 1:56 pm; edited 1 time in total

----------

## bbgermany

Hi,

did you (maybe) forgot to run "make modules_install" after you compiled your kernel?

greets, bb

----------

## kahr.kunne

 *bbgermany wrote:*   

> Hi,
> 
> did you (maybe) forgot to run "make modules_install" after you compiled your kernel?
> 
> greets, bb

 

I didn't forget, however even if I did, it wouldn't make a difference - once again, KVM is compiled into the kernel (there is no modules to install), and virtualbox and all related kernel modules were installed from portage (so installed themselves). When I tried to compile KVM as modules, I didn't forget to "make modules_install" either, because the KVM kernel modules were in fact installed and the same issue occured, so it's not related to that.[/b]

----------

## pilla

Moved some unrelated chat to this thread.

----------

## bbgermany

 *kahr.kunne wrote:*   

>  *bbgermany wrote:*   Hi,
> 
> did you (maybe) forgot to run "make modules_install" after you compiled your kernel?
> 
> greets, bb 
> ...

 

```

[19909.853482] vboxdrv: Unknown symbol preempt_notifier_register (err 0) 

[19909.853499] vboxdrv: Unknown symbol preempt_notifier_unregister (err 0) 

```

To be honest, but this message usually means, that your modules doesnt fit to your running kernel. Go to your kernel source dir, run "make clean && make && make modules_install && cp arch/x86_64/boot/bzImage /boot" and update your grub config. Reboot and try to compile the VirtualBox modules again.

If you did so and you still run into this issue, you should post here again and with a bit more information about your kernel, config (especially mounted filesystems and fstab) and system.

greets, bb

----------

## kahr.kunne

Ah, my /boot wasn't mounting correctly. I had it in /etc/fstab as "noauto" (probably because that's what the handbook says). I was fooled because I've always mounted /boot on startup, and didn't see the noauto when I grepped /etc/fstab.

Thanks for your help, I would have never figured this out on my own.

----------

