runsisi

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  45 随笔 :: 15 文章 :: 26 评论 :: 0 Trackbacks
适用于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 
--G vboxusers USERNAME    # USERNAME is your account username who should have accesses to VirtualBox,for example:usermod --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
        [ 
-/dev/vboxdrv ] && chown root.vboxusers /dev/vboxdrv && echo " OK"
        [ 
! -/dev/vboxdrv ] && echo "Failed"
        
return 0
}

stop () {
        echo 
-n $"Stopping Virtual Box: "
        [ 
-/dev/vboxdrv ] && rmmod vboxdrv && echo " OK"
        [ 
! -/dev/vboxdrv ] && echo
        
return 0
}

restart() {
        stop
        start
}

case $1 in
        start)
                start
        ;;
        stop)
                stop
        ;;
        restart)
                restart
        ;;
        status)
                [ 
-/dev/vboxdrv ] && echo "Virtual Box is loaded"
                [ 
! -/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 
-/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

posted on 2010-01-11 20:40 runsisi 阅读(2552) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理