fedora 14下安装virtualbox

参考博客:

http://techbbs.zol.com.cn/1/60_1997.html

http://blog.sina.com.cn/s/blog_667725170100q51t.html



正文:

1.从官网(http://www.virtualbox.org/wiki/Linux_Downloads)下在我所需要的virtualbox版本(VirtualBox-4.1-4.1.0_73009_fedora14-1.i686.rpm),同时下载扩展文件(Oracle_VM_VirtualBox_Extension_Pack-4.1.0-73009.vbox-extpack,支持从USB2启动)


2Virtualbox依赖于dkms,于是安装
yuminstall dkms.noarch
(或:yum install dkms)
3
)安装virtualbox ,进入刚下载的文件所在目录
rpm-ivh VirtualBox-4.0-4.0.4_70112_fedora14-1.i686.rpm

如果提示:缺少什么插件,那你就根据提示进行安装


4
)如果要让虚拟机使用U盘,那么在宿主机中需要把当前登录用户——“xxxxx”,添加到“vboxusers”组中,其中vboxusers组是在安装virtualbox时自动创建的群。通过命令“usermod-G vboxusers -axxxxx”实现添加。(对于一些老版本的linux所要做的工作可能不止这一条,因为老版本的linux不能自动识别u盘,所幸的是Fedora14够新了。)

如我的机器输入:

usermod-G vboxusers -a Jason


5)构建内核树

到这个时候,在Application-> system tool 下面可以看到virtualbox 的图标,可以运行。
但是当你启动虚拟机的时候其实还是报错的,根据提示运行
/etc/init.d/vboxdrvsetup

提示出错信息如下,分析原因,因为这是驱动,驱动编译的时候需要内核树,这个涉及到Linux驱动程序开发
方面的问题,可以不深入研究,以下阐述解决办法。

[root@HikariDownloads]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernelmodules                         [  OK  ]
Uninstallingold VirtualBox DKMS kernel modules            [  OK  ]
Tryingto register the VirtualBox kernel modules using DKMS
Error! Yourkernel source for kernel 2.6.35.6-45.fc14.i686 cannot be foundat
/lib/modules/2.6.35.6-45.fc14.i686/build or/lib/modules/2.6.35.6-45.fc14.i686/source.
                                                           [FAILED]
  (Failed,trying without DKMS)
Recompiling VirtualBox kernelmodules                      [FAILED]
  (Lookat /var/log/vbox-install.log to find out what went wrong)


于是提示找不到linuxkernel,由于默认安装到时候没有源代码,所以先搞定源代码,否则**。

确认好系统到版本,例如当前运行的系统的版本号是:
uname-r
2.6.35.6-45.fc14.i686

那么要找到是2.6.35.6-45.fc14.i686,于是到fedora到官方目录,例如14的是
http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Fedora/source/SRPMS/

下载这个文件
kernel-2.6.35.6-45.fc14.src.rpm   

如果你之前试过从源代码安装软件,那么可以跳过这一步,否则要建立一个编译的目录。
在用户根目录,例如我的是/home/Jason/运行命令建立相关目录
cd~
rpmdev-setuptree

然后处理一下依赖关系,否则编译过程中会有一堆依赖错误的
yum-builddep  kernel-2.6.35.6-45.fc14.src.rpm

接着是安装
rpm-Uvhkernel-2.6.35.6-45.fc14.src.rpm
提示缺少用户,可以不管他,或者自己创建一个用户就行来,默认用root来取代

接着进入刚才建立到rpmbuild目录下的SPECS子目录,其中参数-bp的意思是将.src.rpm包解压缩
/rpmbuild/SOURCE目录,然后打补丁,target是指定平台
cd~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m`kernel.spec

然后源代码树就已经放在rpmbuildBUILD目录下面了,例如我的是
/home/Jason/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686

然后是配置内核,方法是生成.config配置文件,可以直接使用当前系统的配置,在/boot目录下
cd~/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686
cp/boot/config-2.6.35.6-45.fc14.i686 .config

然后运行menuconfig进入图形化配置,目前没有具体研究内核配置,所以不做修改。
makemenuconfig
如果之前没有运行过menuconfig的话会提示缺库,那么安装ncurses就行了
yuminstall ncurses

修改Makefile,注意这步很重要,必须要做,否则之后到驱动运行的时候提示版本不对。
vimMakefile
运行vim来编辑Makefile,当然可以使用gedit来编辑,方便一点
找到这个:其实就在前几行而已
EXTRAVERSION= xxx
修改为当前到版本修改为和当前版本符合的:
VERSION= 2
PATCHLEVEL = 6
SUBLEVEL = 35
EXTRAVERSION =.6-45.fc14.i686

接着是编译内核和编译模块,因为之前已经解决来依赖问题,所以这步基本不会有其他问题的
makebzImage
make modules
make modules_install

那么在系统模块目录/lib/modules/应该有刚安装了的模块
2.6.35.6-45.fc14.i686
这个目录就是模块所在目录
这个目录下到build目录就是需要指向源代码树的,要确认一下build是链接文件,确认指向是正确的
例如我的指向是:
/home/Jason/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686
如果不对的话其实可以手动建立链接
rmbuild
ln -s/home/Jason/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686build

一切准备就绪来,重新编译virtualbox的内核驱动模块,可以按照提示的命令

[Etual@Hikari2.6.35.6-45.fc14.i686]$ sudo /etc/init.d/vboxdrv setup
[sudo]password for Etual:
Stopping VirtualBox kernelmodules                         [  OK  ]
Uninstallingold VirtualBox DKMS kernel modules            [  OK  ]
Tryingto register the VirtualBox kernel modules using DKMS[  OK  ]
StartingVirtualBox kernelmodules                         [  OK  ]

可以看到提示,一切都OK了,这个时候就可以运行virtualbox了!

如果提示要安装usb2.0不能用,则安装扩展插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值