docs/162961: [PATCH] Update VirtualBox section in handbook

Beat Gätzi beat at FreeBSD.org
Wed Nov 30 07:30:11 UTC 2011


>Number:         162961
>Category:       docs
>Synopsis:       [PATCH] Update VirtualBox section in handbook
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 30 07:30:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Beat Gätzi
>Release:        FreeBSD 9.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD daedalus.network.local 9.0-CURRENT FreeBSD 9.0-CURRENT #5 r217615M: Thu Jan 20 01:02:35 CET 2011 root at daedalus.network.local:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:
	- Attached patch updates the VirtualBox section of the virtualisation
	  chapter in the handbook. This work was done by Eric Newberry during
	  the Google Code-In contest so please give him the credit for this
	  update:
	  https://google-melange.appspot.com/gci/task/view/google/gci2011/7137268
	
>How-To-Repeat:
	
>Fix:

	

--- virtualization-virtualbox-chapter.patch begins here ---
--- chapter.old.sgml	2011-11-26 11:38:34.000000000 -0700
+++ chapter.sgml	2011-11-26 18:06:03.000000000 -0700
@@ -969,6 +969,103 @@
 
       </sect3>
     </sect2>
+
+    <sect2 id="virtualization-guest-virtualbox-guest-additions">
+      <title>&virtualbox; Guest Additions on &os; Guest</title>
+      
+      <para>The <application>&virtualbox;</application> guest additions provide support for:</para>
+      
+        <itemizedlist>
+          <listitem>
+	    <para>Clipboard sharing</para>
+	  </listitem>
+	  <listitem>
+	    <para>Mouse pointer integration</para>
+	  </listitem>
+	  <listitem>
+	    <para>Host time synchronization</para>
+	  </listitem>
+	  <listitem>
+	    <para>Window scaling</para>
+	  </listitem>
+	  <listitem>
+	    <para>Seamless mode</para>
+	  </listitem>
+        </itemizedlist>
+
+      <note>
+        <para>The following commands are run in the &os; guest.</para>
+      </note>
+
+      <para>First, install the virtualbox-ose-additions package in the &os; guest.</para>
+
+      <screen>&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose-additions && make install clean</userinput></screen>
+
+      <para>Then, add this to <filename>/etc/rc.conf</filename>:</para>
+
+      <programlisting>vboxguest_enable="YES"
+vboxservice_enable="YES"</programlisting>
+
+      <para>If you want to use ntpd(8) or ntpdate(8) for some reason, then you should disable host time synchronization:</para>
+
+      <programlisting>vboxservice_flags="--disable-timesync"</programlisting>
+
+      <para>The <command>vboxvideo_drv</command> should be recognized by <command>Xorg -configure</command>. If not, use something like this in your <filename>xorg.conf</filename> file for the <application>&virtualbox;</application> video card:</para>
+
+      <programlisting>Section "Device"
+	### Available Driver options are:-
+	### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
+	### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
+	### [arg]: arg optional
+	Identifier "Card0"
+	Driver "vboxvideo"
+	VendorName "InnoTek Systemberatung GmbH"
+	BoardName "VirtualBox Graphics Adapter"
+	BusID "PCI:0:2:0"
+EndSection</programlisting>
+
+      <para>To use <command>vboxmouse_drv</command> please adjust the mouse section in your <filename>xorg.conf</filename> like this:</para>
+
+      <programlisting>Section "InputDevice"
+	Identifier "Mouse0"
+	Driver "vboxmouse"
+EndSection</programlisting>
+
+      <para>HAL users should create this file at <filename>/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi</filename> or copy it from <filename>/usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi</filename>:</para>
+
+      <programlisting><?xml version="1.0" encoding="UTF-8"?>
+<!--
+# Sun VirtualBox
+# Hal driver description for the vboxmouse driver
+# $Id: 90-vboxguest.fdi 21412 2009-07-08 21:18:57z vboxsync $
+
+	Copyright (C) 2008-2009 Sun Microsystems, Inc.
+	
+	This file is part of VirtualBox Open Source Edition (OSE, as
+	available from http://www.virtualbox.org. This file is free software;
+	you can redistribute it and/or modify it under the terms of the GNU
+	General Public License (GPL) as published by the Free Software
+	Foundation, in version 2 as it comes in the "COPYING" file of the
+	VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+	hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+	
+	Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+	Clara, CA 95054 USA or visit http://www.sun.com if you need
+	additional information or have any questions.
+-->
+<deviceinfo version="0.2">
+  <device>
+    <match key="info.subsystem" string="pci">
+      <match key="info.product" string="VirtualBox guest Service">
+        <append key="info.capabilities" type="strlist">input</append>
+	<append key="info.capabilities" type="strlist">input.mouse</append>
+        <merge key="input.x11_driver" type="string">vboxmouse</merge>
+	<merge key="input.device" type="string">/dev/vboxguest</merge>
+      </match>
+    </match>
+  </device>
+</deviceinfo></programlisting>
+    </sect2>
   </sect1>
 
   <sect1 id="virtualization-host">
@@ -1003,7 +1100,8 @@
 	in <filename role="package">emulators/virtualbox-ose</filename>, and
 	may be installed using the following commands:</para>
 
-      <screen>&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose</userinput>
+	<screen>&prompt.root; <userinput>portsnap fetch update</userinput>
+&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose</userinput>
 &prompt.root; <userinput>make install clean</userinput></screen>
 
       <para>One useful option in the configuration dialog is the
@@ -1028,34 +1126,10 @@
 
       <programlisting>vboxdrv_load="YES"</programlisting>
 
-      <para>Versions of <application>&virtualbox;</application> prior to 3.1.2
-	require the <filename class="directory">proc</filename> file system
-	to be mounted.  This is not needed in recent versions, which utilize
-	the functions provided by the &man.sysctl.3; library.</para>
+      <para>If you wish to use the kernel modules that allow bridged or host-only networking,
+	add the following to <filename>/etc/rc.conf</filename> and reboot your computer:</para>
 
-      <para>When using an older version of the port, follow the instructions
-	below to make sure <filename class="directory">proc</filename> is
-	mounted properly:</para>
-
-      <screen>&prompt.root; <userinput>mount -t procfs proc /proc</userinput></screen>
-
-      <para>To allow this setting to persist reboots, the following line
-	is needed in <filename>/etc/fstab</filename>:</para>
-
-      <programlisting>proc	/proc	procfs	rw	0	0</programlisting>
-
-      <note>
-	<para>If an error message similar to the following is observed
-	  when <application>&virtualbox;</application> is run from
-	  the terminal:</para>
-
-	<screen>VirtualBox: supR3HardenedExecDir: couldn't read "", errno=2 cchLink=-1</screen>
-
-	<para>The most likely culprit will be the <filename
-	  class="directory">proc</filename> file system.  Please use the
-	  <command>mount</command> command to check whether it is mounted
-	  properly.</para>
-      </note>
+      <programlisting>vboxnet_enable="YES"</programlisting>
 
       <para>The <groupname>vboxusers</groupname> group is created during
 	the installation of <application>&virtualbox;</application>.
@@ -1066,6 +1140,18 @@
 
       <screen>&prompt.root; <userinput>pw groupmod vboxusers -m <replaceable>yourusername</replaceable></userinput></screen>
 
+      <para>The default permissions for /dev/vboxnetctl are restrictive. You will need to change them for bridged networking.</para>
+
+      <para>To test it temporarily:</para>
+
+      <screen>&prompt.root; <userinput>chown root:vboxusers /dev/vboxnetctl</userinput>
+&prompt.root; <userinput>chmod 0660 /dev/vboxnetctl</userinput></screen>
+
+      <para>To To make the permissions change permanent, add the following lines to <filename>/etc/devfs.conf</filename>:
+
+      <programlisting>own     vboxnetctl root:vboxusers
+perm     vboxnetctl 0660</programlisting>
+
       <para>To launch <application>&virtualbox;</application>, either select
 	the <guimenuitem>Sun VirtualBox</guimenuitem> item from your
 	graphic environment's menu, or type the following in a
@@ -1081,6 +1167,55 @@
 	visit the relevant page in the &os; wiki, at <ulink
 	  url="http://wiki.FreeBSD.org/VirtualBox"></ulink>.</para>
     </sect2>
+
+    <sect2 id="virtualization-virtualbox-usb-support">
+      <title>&virtualbox; USB Support</title>
+
+      <note>
+	<para>These steps require VirtualBox 4.0.0 or later.</para>
+      </note>
+
+      <para>In order to be able to read and write to USB devices, users need to be a member of the operator group.</para>
+
+      <screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>jerry</replaceable></userinput></screen>
+
+      <para>Then, add the following to <filename>/etc/devfs.rules</filename> (create it if it doesn't exist yet):</para>
+
+      <programlisting>[system=10]
+add path 'usb/*' mode 0660 group operator</programlisting>
+
+      <para>To load these new rules, add the following to <filename>/etc/rc.conf</filename>:</para>
+
+      <programlisting>devfs_system_ruleset="system"</programlisting>
+
+      <para>Then, restart devfs:</para>
+
+      <screen>&prompt.root; <userinput>/etc/rc.d/devfs restart</userinput></screen>
+
+      <para>Now, you can enable USB in the guest operating system. You should be able to see the USB devices in the &virtualbox; preferences.</para>
+
+    </sect2>
+
+    <sect2 id="virtualization-virtualbox-host-dvd-cd-access">
+      <title>&virtualbox; Host DVD/CD Access</title>
+
+      <para>The <command>atapicam</command> kernel module needs to be loaded by adding this to <filename>/boot/loader.conf</filename>:</para>
+
+      <programlisting>atapicam_load="YES"</programlisting>
+
+      <para>HAL needs to run for <application>&virtualbox;</application> DVD/CD functions to work, so enable it in <filename>/etc/rc.conf</filename> and start it (if it is not already running):</para>
+
+      <programlisting>hald_enable="YES"</programlisting>
+
+      <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/hald start</userinput></screen>
+
+      <para>In order for users to be able to use <application>&virtualbox;</application> DVD/CD functions, they need access to <filename>/dev/xpt0</filename>, <filename>/dev/cdN</filename>, and <filename>/dev/passN</filename>. Add this to <filename>/etc/devfs.conf</filename>:
+
+      <programlisting>perm cd0 0600
+perm xpt0 0660
+perm pass0 0660</programlisting>
+    </sect2>
+
 <!--
   Note:  There is no working/end-user ready Xen support for FreeBSD as of 07-2010.
          Hide all information regarding Xen under FreeBSD.
--- virtualization-virtualbox-chapter.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-doc mailing list