问题描述:
前段时间定制了新内核,今天安装Virtualbox时提醒让我运行/etc/init.d/vboxdrv setup,我照着做,却出现如下错误提示:
Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again
这个错误大概是找不到与现在内核对应源码的问题,由于我是编译安装的内核,而这里需要的是kernel-devel这个包安装在/usr/src
/kernel下的源码,我试着把我以前编译后的kernel源码放到/usr/src/kernel下,侥幸地把目录改成与‘uname
-r’一样,但是问题依旧不能解决。
访问很多网站和论坛大多给的答案是安装新的kernel和kernel-devdel这两个软件包,但我是编译安装的内核,而且由于系统需要必须使用这个内核,故只能想别的办法。
解决办法:
重新编译内核,修改内核版本骗过Virtualbox,进入原来编译内核剩下的源码目录(如果已经删除请从新下载,我使用的kernel-2.6.31.12-174.2.3.fc12.i686.rpm包中的内核源码编译的)
$make mrproper
$vi Makefile
如下修改
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
EXTRAVERSION = .12-174.2.3.fc12.i686(我使用的是2.6.31.12-174.2.3.fc12.i686)
$cp /boot/config-2.6.31.x.x.x .config
$make menuconfig
$load .config 加载.config文件
$make all
$make modules_install
$make install
$rpm -ivh kernel-devel-2.6.31.12-174.2.3.fc12.i686.rpm
这样就可以让virtualbox以为/usr/src/kernel下的源码是跟现在的内核是匹配的咯!!问题也就解决了。vmware也有在编译新内核后无法使用的情况,同样这样编译新内核后,安装对应版本的kernel-headers包一样解决问题!
如有疑问,邮件到rileeeee@gmail.com
阅读(1715) | 评论(0) | 转发(0) |