LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: JackeyKing

让VirtualBox在Gentoo中跑起来

[复制链接]
发表于 2007-3-2 10:18:41 | 显示全部楼层
Post by 杨珂
这个只能让商业公司去做了 比如Novell但是Novell和微软的协议又让人感到恶心 毕竟是商业公司

社区是很难这么做的

一是Hacker们有这种思维:如果你做的东西傻瓜都可以用那么只有傻瓜才会取用

二是缺乏动机,Hacker们更关注性能


反正会有人去做的,linux已经生生不息了.

linux的一大特点就是它的多样性.何必都要做成傻瓜型的呢.

如果gentoo不能够来不来的折腾折腾,我就不用了.
回复 支持 反对

使用道具 举报

发表于 2007-3-26 22:16:02 | 显示全部楼层
Post by slashseed
sudo modprobe vboxdrv
sleep 2
sudo chmod 666 /dev/vboxdrv
用下面的脚本代替安装后的/usr/bin/virtualbox的脚本来运行virtaulbox ...
  1. #!/bin/bash
  2. cd /opt/VirtualBox/
  3. LD_LIBRARY_PATH=. ./VBoxSVC &
  4. virtualbox
  5. killall VBoxSVC
复制代码
提示如下:
  1. *********************************************
  2. InnoTek VirtualBox XPCOM Server Version 1.3.8
  3. (C) 2004-2007 InnoTek Systemberatung GmbH
  4. All rights reserved.
  5. Starting event loop....
  6. [press Ctrl-C to quit]
  7. Terminated event loop.
  8. XPCOM server has shutdown.
  9. *********************************************
  10. InnoTek VirtualBox XPCOM Server Version 1.3.8
  11. (C) 2004-2007 InnoTek Systemberatung GmbH
  12. All rights reserved.
  13. Starting event loop....
  14. [press Ctrl-C to quit]
  15. Terminated event loop.
  16. XPCOM server has shutdown.
  17. *********************************************
  18. .......
  19. XPCOM server has  shutdown
  20. XPCOM server has  shutdown
  21. .....不停地运行 ,用ctrl+c才中止
复制代码
按下面代码,
  1. #!/bin/bash
  2. cd /opt/VirtualBox/
  3. export LD_LIBRARY_PATH=/opt/VirtualBox/
  4. test_case=false
  5. for i in $( ps -A | grep VBoxSVC )
  6.   do if [ $i = "VBoxSVC" ]
  7.      then
  8.        test_case=true
  9.      fi
  10. done
  11. if [ $test_case = "false" ]
  12.   then
  13.     Exec exec ./VBoxSVC&
  14.     sleep 5
  15. fi
  16. exec ./VirtualBox "$@"
  17. killall VBoxSVC
复制代码
运行这个代码后,错误提示如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2007-3-26 22:54:34 | 显示全部楼层
用原代码时,错误提示如图:
  1. 原代码 :
  2. #!/bin/sh
  3. INSTALL_DIR=/opt/VirtualBox
  4. USER=$( whoami )
  5. SERVER_PID=$( ps -U $USER | grep VBoxSVC | awk '{ print $1 }' )
  6. if [ "$1" = shutdown ]; then
  7.     if [ "$SERVER_PID" != "" ]; then
  8.         kill -TERM $SERVER_PID
  9.         sleep 2
  10.     fi
  11.     exit 0
  12. fi
  13. [ "$VBOX_USER_HOME" = "" ] && VBOX_USER_HOME="$HOME/.VirtualBox"
  14. mkdir -p "$VBOX_USER_HOME"
  15. LOG="$VBOX_USER_HOME/VBoxSVC.log"
  16. if [[ -e /proc/modules && ! -e /dev/vboxdrv ]] ; then
  17.         echo "Error: vboxdrv kernel module is not loaded..."
  18.         echo "Please load the module before starting VirtualBox."
  19.         exit 1
  20. elif [ ! -w /dev/vboxdrv ]; then
  21.         if [ "`id | grep vboxusers`" = "" ]; then
  22.                 echo "Error: You are not a member of the "vboxusers" group..."
  23.                 echo "Please add yourself to this group before starting VirtualBox."
  24.         else
  25.                 echo "Error: /dev/vboxdrv is not writable for some reason..."
  26.                 echo "If you recently added the current user to the vboxusers group,"
  27.                 echo "then you have to logout and re-login to take the change effect."
  28.         fi
  29.         exit 1
  30. fi
  31. export LD_LIBRARY_PATH="$INSTALL_DIR"
  32. if [ "$SERVER_PID" = "" ]; then
  33.         rm -rf /tmp/.vbox-$USER-ipc
  34.         [ -f "$LOG.1" ] && mv "$LOG.1" "$LOG.2"
  35.         [ -f "$LOG.0" ] && mv "$LOG.0" "$LOG.1"
  36.         [ -f "$LOG" ] && mv "$LOG" "$LOG.0"
  37.         /opt/VirtualBox/VBoxSVC --daemonize >"$LOG" 2>&1
  38. fi
  39. APP=$( which $0 )
  40. APP=${APP##/*/}
  41. case "$APP" in
  42.         virtualbox)
  43.                 exec "$INSTALL_DIR/VirtualBox" "$@"
  44.                 ;;
  45.         vboxmanage)
  46.                 exec "$INSTALL_DIR/VBoxManage" "$@"
  47.                 ;;
  48.         vboxsdl)
  49.                 exec "$INSTALL_DIR/VBoxSDL" "$@"
  50.                 ;;
  51.         vboxbfe)
  52.                 exec "$INSTALL_DIR/VBoxBFE" "$@"
  53.                 ;;
  54.         *)
  55.                 echo "Error: Unknown application - $APP"
  56.                 exit 1
  57.                 ;;
  58. esac
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2007-3-27 09:06:14 | 显示全部楼层
Post by mzli
反正会有人去做的,linux已经生生不息了.

linux的一大特点就是它的多样性.何必都要做成傻瓜型的呢.

如果gentoo不能够来不来的折腾折腾,我就不用了.
LINUX的世界确实是丰富多彩,有人喜欢用这个发行版,而有的人喜欢用别的。它的多样性也决定了他可以满足不同人的不同需求,这是Linux的最大特点,也是Windows这辈子都学不来的。至于商业化,有那么几个发行版就可以了,没有必要都要商业化。  在这个人心思变的年代,一旦Linux世界开始认真起来,我想MS根本顶不住。
回复 支持 反对

使用道具 举报

发表于 2007-3-27 10:49:29 | 显示全部楼层
我装了,但弹出一个对话框,说没有Virtualbox的内核模块,需要运行/etc/init.d/vboxdrv setup 但是我的/etc/init.d/下没有vboxdrv这个命令。
回复 支持 反对

使用道具 举报

发表于 2007-3-27 11:13:47 | 显示全部楼层
Post by 7dehao
我装了,但弹出一个对话框,说没有Virtualbox的内核模块,需要运行/etc/init.d/vboxdrv setup 但是我的/etc/init.d/下没有vboxdrv这个命令。

sudo modprobe vboxdrv

sleep 2

sudo chmod 666 /dev/vboxdrv
回复 支持 反对

使用道具 举报

发表于 2007-3-27 11:17:43 | 显示全部楼层
7dehao ~ # modprobe vboxdrv
FATAL: Error inserting vboxdrv (/lib/modules/2.6.20-gentoo-r3/misc/vboxdrv.ko): Invalid argument
出现错误,而且没有/dev/vboxdrv这个文件

=================================
解决了,需要在grub.conf文件中root行最后加上nmi_watchdog=0然后重启就可以正常引导vboxdrv模块了。

装了个2000,太吃资源了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表