适用于fedora 12, i386平台,Virtualbox 3.1.2 OSE版,其他环境我不保证能正常编译/安装/使用。注意:该脚本没有加载另外两个内核模块,请参考下一篇《fedora 12 virtualbox 3.1.2_OSE 驱动模块加载》(2010-01-11 runsisi@HUST)。由于学校是教育网,上国外网几乎是不可能,但自己经常要去国外网下/看点什么东西,很麻烦,幸亏有搜狗,但问题是搜狗没有linux版本,决定装一个虚拟机,VMware显然不适合我这1G内存的机器,况且还是笔记本。
Virtualbox的官方有很多种格式的binary下载,当然也不缺rpm,问题是官方有点变态,给出的不是直接的下载地址,不能另存为,直接点链接要不是出来迅雷,要不就出来kmplayer,不知道kmplayer怎么跟rpm关联到一块了,在kmplayer的文件关联里还竟然没找到rpm,算了,下不了rpm还是直接下源代码自己编译吧。
安装要求:
这个自己configure就知道了,下边是我configure的输出:
Checking for environment: Determined build machine: linux.x86, target machine: linux.x86, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 4.4.2, OK.
Checking for as86: found version 0.16.17, OK.
Checking for bcc: found version 0.16.17, OK.
Checking for iasl: found version 20090123, OK.
Checking for xslt: found, OK.
Checking for pthread: found, OK.
Checking for libxml2: found version 2.7.6, OK.
Checking for libxslt: found version 1.1.26, OK.
Checking for libIDL: found version 0.8.13, OK.
Checking for ssl: found version OpenSSL 1.0.0-beta4 10 Nov 2009, OK.
Checking for libcurl: found version 7.19.7, OK.
Checking for zlib: found version 1.2.3, OK.
Checking for libpng: found version 1.2.39, OK.
Checking for SDL: found version 1.2.13, OK.
Checking for X libraries: found, OK.
Checking for Xcursor: found, OK.
Checking for Xmu: found, OK.
Checking for Mesa / GLU: found version 1.2, OK.
Checking for Qt4: found version 4.5.3, OK.
Checking for Qt4 devtools: found version 4.5.3, OK.
Checking for python support: found version 2.6.2, OK.
Checking for static stc++ library: found, OK.
Checking for Linux kernel sources: found version 2.6.31, OK.
Checking for ALSA: found version 1.0.22, OK.
Checking for PulseAudio: found version 0.9.21 API version 12, OK.
Checking for libcap library: found, OK.
Checking for compiler.h: compiler.h not found, OK.
缺少什么包它会提示的,一般都是devel包,其中as86在fedora中是包含在dev86下,在ubuntu中是包含在bin86下。
注意:configure时添加--disable-hardening选项,官方说hardening是一个feature不是bug,但如果不disable,我是死都不能成功运行的,网上随便一搜就能搜到关于这个问题的求助,反正依我使用google的能力我是解决不了的。编译:
configure之后会有提示你接下来要输入的两条命令,如下所示。
source /home/runsisi/Desktop.home/VirtualBox-3.1.2_OSE/env.sh
kmk
第一条的路径每个人都是不同的,你直接复制它给出来的就好了。
编译内核模块:
进入到源代码的如下目录下,进行常规的编译操作,至于sudo之类的命令我就不提了。
cd ./out/linux.ARCH/release/bin/src # ARCH depends on the architecture of your system
make
make install
加载模块:
modprobe vboxdrv
创建vboxusers组,并将自己加入到该用户组,将设备文件所属的用户组改为vboxusers。
groupadd vboxusers # Requires root.
usermod -a -G vboxusers USERNAME # USERNAME is your account username who should have accesses to VirtualBox,for example:usermod -a -G vboxusers runsisi
chown root:vboxusers /dev/vboxdrv
注销并重新登录,查看自己是否在vboxusers组下,可以使用groups命令或者查看/etc/group文件。
创建自动加载脚本:
如下所示,保存为/etc/init.d/vbox,并确保该文件是可执行的。
#!/bin/bash
### BEGIN INIT INFO
# Provides: vbox
# Required-Start: $syslog $local_fs
# Required-Stop: $syslog $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The Virtual Box kernel module
# Description: The Virtual Box kernel module
### END INIT INFO
start () {
echo -n $"Starting Virtual Box: "
modprobe vboxdrv
sleep 1
[ -c /dev/vboxdrv ] && chown root.vboxusers /dev/vboxdrv && echo " OK"
[ ! -c /dev/vboxdrv ] && echo "Failed"
return 0
}
stop () {
echo -n $"Stopping Virtual Box: "
[ -c /dev/vboxdrv ] && rmmod vboxdrv && echo " OK"
[ ! -c /dev/vboxdrv ] && echo
return 0
}
restart() {
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
[ -c /dev/vboxdrv ] && echo "Virtual Box is loaded"
[ ! -c /dev/vboxdrv ] && echo "Virtual Box is not loaded"
;;
*)
echo $"Usage: vbox {start|stop|restart|status}"
exit 3
esac
exit 0
添加服务:
chkconfig --add vbox
完成安装,创建菜单:
将VirtualBox-3.1.2_OSE/out/linux.x86/release/目录下的bin文件夹复制到/usr/local/目录下,这个命名什么的基本上是无所谓的。
cp -prf bin /usr/local/VirtualBox
ln -s /usr/local/VirtualBox/VirtualBox /usr/local/bin/VirtualBox
创建菜单的方法kde和gnome是不同的,但都很简单,这里就不提了。
使用:
装好系统后,不管是VMware还是Virtualbox都是需要装驱动的,也即GuestAdditions,这个我不知道,也不想知道如何编译了,这个东西是需要windows下的编译平台的,因为你是要编译windows下使用的驱动,网上直接有现
成的编译好了的下载,自己google吧。
给个地址:http://code.google.com/p/virtual-box-windows-guest-additions-installer/
下边是该项目的介绍:
This project provides a packaged version of the Windows Guest Addition tools for VirtualBox OSE. This is provided so that users will not have to create a Windows build environment just to build the guest additions.
下面是我装好后的截图:
runsisi@HUST