https://www.virtualbox.org/wiki/Linux_Downloads
RPM-based Linux distributions
1.导入公钥,这步不是必需的
wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
rpm --import oracle_vbox.asc
2.添加yum源:http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
3.装dkms,virtualBox
yum install dkms
yum install VirtualBox-4.2.x86_64
安装完成,创建虚拟机并启动时遇到错误:
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
'/etc/init.d/vboxdrv setup'
as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.
于是编译 VirtualBox 内核[root@indigo kernel]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.5-201.fc19.x86_64 cannot be found at
/lib/modules/3.10.5-201.fc19.x86_64/build or /lib/modules/3.10.5-201.fc19.x86_64/source.
[FAILED]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [FAILED]
(Look at /var/log/vbox-install.log to find out what went wrong)
找不到内核对应的 kernel headers, kernel headers 和 内核版本不一致
[root@indigo kernel]# uname -r
3.10.5-201.fc19.x86_64
[root@indigo kernel]# rpm -qa | grep headers
kernel-headers-3.10.10-200.fc19.x86_64
glibc-headers-2.17-14.fc19.x86_64
search 发现没有内核对应版本的 kernel headers,考虑升级内核
yum provides kernel
发现有和 kernel-headers 相同版本的 kernel:
kernel-3.10.10-200.fc19.x86_64 : The Linux kernel
Repo : @updates
yum install kernel-3.10.10-200.fc19.x86_64
重启后二者版本一致:
[apache@indigo ~]$ uname -r
3.10.10-200.fc19.x86_64
[apache@indigo ~]$ rpm -qa | grep kernel-headers
kernel-headers-3.10.10-200.fc19.x86_64
编译VirtualBox 内核,如果失败,可能需要再次安装 dkms :
[root@indigo apache]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS[ OK ]
Starting VirtualBox kernel modules [ OK ]