aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml
diff options
context:
space:
mode:
authorGabor Kovesdan <gabor@FreeBSD.org>2012-10-01 09:53:01 +0000
committerGabor Kovesdan <gabor@FreeBSD.org>2012-10-01 09:53:01 +0000
commitb4346b9b2dfe86a97907573086dff096850dcb1d (patch)
tree9b951977cbd22dada9b868ac83b1d56791ea3859 /en_US.ISO8859-1/books/handbook/virtualization/chapter.xml
parentbee5d224febbeba11356aa848006a4f5f9e24b30 (diff)
downloaddoc-b4346b9b2dfe86a97907573086dff096850dcb1d.tar.gz
doc-b4346b9b2dfe86a97907573086dff096850dcb1d.zip
- Rename .sgml files to .xml
- Reflect the rename in referencing files Approved by: doceng (implicit)
Notes
Notes: svn path=/head/; revision=39631
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/virtualization/chapter.xml')
-rw-r--r--en_US.ISO8859-1/books/handbook/virtualization/chapter.xml1300
1 files changed, 1300 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml b/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml
new file mode 100644
index 0000000000..3960c880d8
--- /dev/null
+++ b/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml
@@ -0,0 +1,1300 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!--
+ The FreeBSD Documentation Project
+
+ $FreeBSD$
+-->
+
+<chapter id="virtualization">
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <firstname>Murray</firstname>
+ <surname>Stokely</surname>
+ <contrib>Contributed by </contrib>
+ </author>
+ </authorgroup>
+ <!-- Mar 2007 -->
+ </chapterinfo>
+
+ <title>Virtualization</title>
+
+ <sect1 id="virtualization-synopsis">
+ <title>Synopsis</title>
+
+ <para>Virtualization software allows multiple operating systems
+ to run simultaneously on the same computer. Such software
+ systems for PCs often involve a host operating system which runs
+ the virtualization software and supports any number of guest
+ operating systems.</para>
+
+ <para>After reading this chapter, you will know:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The difference between a host operating system and a
+ guest operating system.</para>
+ </listitem>
+
+ <listitem>
+ <para>How to install &os; on an &intel;-based &apple;
+ &macintosh; computer.</para>
+ </listitem>
+
+<!--
+ Note: There is no working/end-user ready Xen support for FreeBSD as of 07-2010.
+ Hide all information regarding Xen under FreeBSD.
+
+ <listitem>
+ <para>How to install &os; on Linux with
+ <application>&xen;</application>.</para>
+ </listitem>
+-->
+ <listitem>
+ <para>How to install &os; on &microsoft.windows; with
+ <application>Virtual PC</application>.</para>
+ </listitem>
+
+ <listitem>
+ <para>How to tune a &os; system for best performance under
+ virtualization.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Before reading this chapter, you should:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Understand the basics of &unix; and &os; (<xref
+ linkend="basics"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Know how to install &os; (<xref
+ linkend="install"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Know how to set up your network connection (<xref
+ linkend="advanced-networking"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Know how to install additional third-party
+ software (<xref linkend="ports"/>).</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="virtualization-guest">
+ <title>&os; as a Guest OS</title>
+
+ <sect2 id="virtualization-guest-parallels">
+ <title>Parallels on MacOS</title>
+
+ <para><application>Parallels Desktop</application> for &mac; is
+ a commercial software product available for &intel; based
+ &apple; &mac; computers running &macos; 10.4.6 or higher.
+ &os; is a fully supported guest operating system. Once
+ <application>Parallels</application> has been installed on
+ &macos; X, the user must configure a virtual machine and then
+ install the desired guest operating system.</para>
+
+ <sect3 id="virtualization-guest-parallels-install">
+ <title>Installing &os; on Parallels/&macos; X</title>
+
+ <para>The first step in installing &os; on &macos;
+ X/<application>Parallels</application> is to create a new
+ virtual machine for installing &os;. Select
+ <guimenuitem>&os;</guimenuitem> as the <guimenu>Guest OS
+ Type</guimenu> when prompted:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd1"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>And choose a reasonable amount of disk and memory
+ depending on your plans for this virtual &os; instance.
+ 4GB of disk space and 512MB of RAM work well for most uses
+ of &os; under <application>Parallels</application>:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd2"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd3"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd4"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd5"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Select the type of networking and a network
+ interface:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd6"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd7"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Save and finish the configuration:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd8"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd9"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>After your &os; virtual machine has been created, you
+ will need to install &os; on it. This is best done with an
+ official &os; CDROM or with an ISO image downloaded from an
+ official FTP site. When you have the appropriate ISO image
+ on your local &mac; filesystem or a CDROM in your &mac;'s CD
+ drive, click on the disc icon in the bottom right corner of
+ your &os; <application>Parallels</application> window. This
+ will bring up a window that allows you to associate the
+ CDROM drive in your virtual machine with an ISO file on disk
+ or with your real CDROM drive.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd11"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Once you have made this association with your CDROM
+ source, reboot your &os; virtual machine as normal by
+ clicking the reboot icon.
+ <application>Parallels</application> will reboot with a
+ special BIOS that first checks if you have a CDROM just as a
+ normal BIOS would do.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd10"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>In this case it will find the &os; installation media
+ and begin a normal <application>sysinstall</application>
+ based installation as described in <xref
+ linkend="install"/>. You may install, but do not attempt
+ to configure X11 at this time.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd12"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>When you have finished the installation, reboot into
+ your newly installed &os; virtual machine.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/parallels-freebsd13"/>
+ </imageobject>
+ </mediaobject>
+ </sect3>
+
+ <sect3 id="virtualization-guest-parallels-configure">
+ <title>Configuring &os; on &macos; X/Parallels</title>
+
+ <para>After &os; has been successfully installed on &macos;
+ X with <application>Parallels</application>, there are a
+ number of configuration steps that can be taken to
+ optimize the system for virtualized operation.</para>
+
+ <procedure>
+ <step>
+ <title>Set Boot Loader Variables</title>
+
+ <para>The most important step is to reduce the
+ <option>kern.hz</option> tunable to reduce the CPU
+ utilization of &os; under the <application>Parallels
+ </application> environment. This is accomplished by
+ adding the following line to <filename>
+ /boot/loader.conf</filename>:</para>
+
+ <programlisting>kern.hz=100</programlisting>
+
+ <para>Without this setting, an idle &os;
+ <application>Parallels</application> guest
+ OS will use roughly 15% of the CPU of a single
+ processor &imac;. After this change the usage will be
+ closer to a mere 5%.</para>
+ </step>
+
+ <step>
+ <title>Create a New Kernel Configuration File</title>
+
+ <para>You can remove all of the SCSI, FireWire, and USB
+ device drivers. <application>Parallels</application>
+ provides a virtual network
+ adapter used by the &man.ed.4; driver, so
+ all other network devices except for
+ &man.ed.4; and &man.miibus.4; can be
+ removed from the kernel.</para>
+ </step>
+
+ <step>
+ <title>Configure Networking</title>
+
+ <para>The most basic networking setup involves simply
+ using DHCP to connect your virtual machine to the same
+ local area network as your host &mac;. This can be
+ accomplished by adding
+ <literal>ifconfig_ed0="DHCP"</literal> to
+ <filename>/etc/rc.conf</filename>. More advanced
+ networking setups are described in
+ <xref linkend="advanced-networking"/>.</para>
+ </step>
+ </procedure>
+ </sect3>
+ </sect2>
+<!--
+Deactive/hide this section as the instructions in there do NOT work anymore:
+- FreeBSD 7.0 has reached its EOL a long time ago.
+- The needed files from www.fsmware.com are not available anymore, as the
+ server is dead. So it is impossible to follow the instructions in here.
+
+jkois@FreeBSD.org, 2010-06-18
+
+ <sect2 id="virtualization-guest-xen">
+ <sect2info>
+ <authorgroup>
+ <author>
+ <firstname>Fukang</firstname>
+ <surname>Chen (Loader)</surname>
+ <contrib>Contributed by </contrib>
+ </author>
+ </authorgroup>
+ </sect2info>
+
+ <title>&os; with &xen; on Linux</title>
+
+ <para>The <application>&xen;</application> hypervisor is an
+ open source paravirtualization product which is now
+ supported by the commercial XenSource company. Guest
+ operating systems are known as domU domains, and the host
+ operating system is known as dom0. The first step in
+ running a virtual &os; instance under Linux is to install
+ <application>&xen;</application> for Linux dom0. The host
+ operating system will be a Slackware Linux
+ distribution.</para>
+
+ <sect3 id="xen-slackware-dom0">
+ <title>Setup &xen; 3 on Linux dom0</title>
+
+ <procedure>
+ <step>
+ <title>Download &xen; 3.0 from XenSource</title>
+
+ <para>Download <ulink
+ url="http://bits.xensource.com/oss-xen/release/3.0.4-1/src.tgz/xen-3.0.4_1-src.tgz">xen-3.0.4_1-src.tgz</ulink>
+ from <ulink
+ url="http://www.xensource.com/"></ulink>.</para>
+ </step>
+
+ <step>
+ <title>Unpack the tarball</title>
+
+ <screen>&prompt.root; <userinput>cd xen-3.0.4_1-src</userinput>
+&prompt.root; <userinput>KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+
+ <note>
+ <para>To re-compile the kernel for dom0:</para>
+
+ <screen>&prompt.root; <userinput>cd xen-3.0.4_1-src/linux-2.6.16.33-xen0</userinput>
+&prompt.root; <userinput>make menuconfig</userinput>
+&prompt.root; <userinput>make</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+
+ <para>Older version of
+ <application>&xen;</application> may need to specify
+ <command>make ARCH=xen menuconfig</command></para>
+ </note>
+ </step>
+
+ <step>
+ <title>Add a menu entry into Grub menu.lst</title>
+
+ <para>Edit <filename>/boot/grub/menu.lst</filename> and
+ add the following lines:</para>
+
+ <programlisting>title Xen-3.0.4
+root (hd0,0)
+kernel /boot/xen-3.0.4-1.gz dom0_mem=262144
+module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro</programlisting>
+ </step>
+
+ <step>
+ <title>Reboot your computer into &xen;</title>
+
+ <para>First, edit
+ <filename>/etc/xen/xend-config.sxp</filename>, and add
+ the following line:</para>
+
+ <programlisting>(network-script 'network-bridge netdev=eth0')</programlisting>
+
+ <para>Then, we can launch
+ <application>&xen;</application>:</para>
+
+ <screen>&prompt.root; <userinput>/etc/init.d/xend start</userinput>
+&prompt.root; <userinput>/etc/init.d/xendomains start</userinput></screen>
+
+ <para>Our dom0 is running:</para>
+
+ <screen>&prompt.root; <userinput>xm list</userinput>
+Name ID Mem VCPUs State Time(s)
+Domain-0 0 256 1 r&ndash;&ndash;&ndash;&ndash;&ndash; 54452.9</screen>
+ </step>
+ </procedure>
+ </sect3>
+
+ <sect3>
+ <title>&os; 7-CURRENT domU</title>
+
+ <para>Download the &os; domU kernel for
+ <application>&xen; 3.0</application> and disk image from
+ <ulink
+ url="http://www.fsmware.com/">http://www.fsmware.com/</ulink></para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ url="http://www.fsmware.com/xenofreebsd/7.0/download/kernel-current">kernel-current</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="http://www.fsmware.com/xenofreebsd/7.0/download/mdroot-7.0.bz2">mdroot-7.0.bz2</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="http://www.fsmware.com/xenofreebsd/7.0/download/config/xmexample1.bsd">xmexample1.bsd</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Put the configuration file
+ <filename>xmexample1.bsd</filename> into
+ <filename>/etc/xen/</filename> and modify the related
+ entries about where the kernel and the disk image are
+ stored. It should look like the following:</para>
+
+ <programlisting>kernel = "/opt/kernel-current"
+memory = 256
+name = "freebsd"
+vif = [ '' ]
+disk = [ 'file:/opt/mdroot-7.0,hda1,w' ]
+#on_crash = 'preserve'
+extra = "boot_verbose"
+extra += ",boot_single"
+extra += ",kern.hz=100"
+extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"</programlisting>
+
+ <para>The <filename>mdroot-7.0.bz2</filename> file should
+ be uncompressed.</para>
+
+ <para>Next, the __xen_guest section in
+ <filename>kernel-current</filename> needs to be altered to
+ add the VIRT_BASE that
+ <application>&xen; 3.0.3</application> requires:</para>
+
+ <screen>&prompt.root; <userinput>objcopy kernel-current -R __xen_guest</userinput>
+&prompt.root; <userinput>perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' &gt; tmp</userinput>
+&prompt.root; <userinput>objcopy kernel-current &ndash;&ndash;add-section __xen_guest=tmp</userinput></screen>
+
+ <screen>&prompt.root; <userinput>objdump -j __xen_guest -s kernel-current</userinput>
+
+kernel-current: file format elf32-i386
+
+Contents of section __xen_guest:
+ 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G
+ 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd,
+ 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE
+ 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS
+ 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA
+ 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. </screen>
+
+ <para>We are, now, ready to create and launch our
+ domU:</para>
+
+ <screen>&prompt.root; <userinput>xm create /etc/xen/xmexample1.bsd -c</userinput>
+Using config file "/etc/xen/xmexample1.bsd".
+Started domain freebsd
+WARNING: loader(8) metadata is missing!
+Copyright (c) 1992-2006 The FreeBSD Project.
+Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
+The Regents of the University of California. All rights reserved.
+FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
+ kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
+WARNING: DIAGNOSTIC option enabled, expect reduced performance.
+Xen reported: 1796.927 MHz processor.
+Timecounter "ixen" frequency 1796927000 Hz quality 0
+CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
+ Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
+ Features=0xbfebfbff&lt;FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
+ DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE&gt;
+ Features2=0x4400&lt;CNTX-ID,&lt;b14&gt;&gt;
+real memory = 265244672 (252 MB)
+avail memory = 255963136 (244 MB)
+xc0: &lt;Xen Console&gt; on motherboard
+cpu0 on motherboard
+Timecounters tick every 10.000 msec
+[XEN] Initialising virtual ethernet driver.
+xn0: Ethernet address: 00:16:3e:6b:de:3a
+[XEN]
+Trying to mount root from ufs:/dev/xbd769a
+WARNING: / was not properly dismounted
+Loading configuration files.
+No suitable dump device was found.
+Entropy harvesting: interrupts ethernet point_to_point kickstart.
+Starting file system checks:
+/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
+Setting hostname: demo.freebsd.org.
+lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet 127.0.0.1 netmask 0xff000000
+Additional routing options:.
+Mounting NFS file systems:.
+Starting syslogd.
+/etc/rc: WARNING: Dump device does not exist. Savecore not run.
+ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
+a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
+Starting usbd.
+usb: Kernel module not available: No such file or directory
+Starting local daemons:.
+Updating motd.
+Starting sshd.
+Initial i386 initialization:.
+Additional ABI support: linux.
+Starting cron.
+Local package initialization:.
+Additional TCP options:.
+Starting background file system checks in 60 seconds.
+
+Sun Apr 1 02:11:43 UTC 2007
+
+FreeBSD/i386 (demo.freebsd.org) (xc0)
+
+login: </screen>
+
+ <para>The domU should run the &os;&nbsp;7.0-CURRENT
+ kernel:</para>
+
+ <screen>&prompt.root; <userinput>uname -a</userinput>
+FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
+kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386</screen>
+
+ <para>The network can now be configured on the domU. The
+ &os; domU will use a specific interface called
+ <devicename>xn0</devicename>:</para>
+
+ <screen>&prompt.root; <userinput>ifconfig xn0 10.10.10.200 netmask 255.0.0.0</userinput>
+&prompt.root; <userinput>ifconfig</userinput>
+xn0: flags=843&lt;UP,BROADCAST,RUNNING,SIMPLEX&gt; mtu 1500
+ inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
+ ether 00:16:3e:6b:de:3a
+lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet 127.0.0.1 netmask 0xff000000 </screen>
+
+ <para>On dom0 Slackware, some
+ <application>&xen;</application> dependant network
+ interfaces should show up:</para>
+
+ <screen>&prompt.root; <userinput>ifconfig</userinput>
+eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
+ inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0
+ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
+ RX packets:815 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
+
+lo Link encap:Local Loopback
+ inet addr:127.0.0.1 Mask:255.0.0.0
+ UP LOOPBACK RUNNING MTU:16436 Metric:1
+ RX packets:99 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
+
+peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:1000
+ RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
+ Base address:0xc000 Memory:ef020000-ef040000
+
+vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
+
+vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:3 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
+ collisions:0 txqueuelen:1
+ RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
+
+xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:4 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)</screen>
+
+ <screen>&prompt.root; <userinput>brctl show</userinput>
+bridge name bridge id STP enabled interfaces
+xenbr1 8000.feffffffffff no vif0.1
+ peth0
+ vif1.0</screen>
+ </sect3>
+ </sect2>
+-->
+ <sect2 id="virtualization-guest-virtualpc">
+ <title>Virtual PC on &windows;</title>
+
+ <para><application>Virtual PC</application> for &windows; is a
+ &microsoft; software product available for free download.
+ See <ulink
+ url="http://www.microsoft.com/windows/downloads/virtualpc/sysreq.mspx">
+ system requirements</ulink>. Once <application> Virtual PC
+ </application> has been installed on &microsoft.windows;,
+ the user must configure a virtual machine and then install
+ the desired guest operating system.</para>
+
+ <sect3 id="virtualization-guest-virtualpc-install">
+ <title>Installing &os; on Virtual
+ PC/&microsoft.windows;</title>
+
+ <para>The first step in installing &os; on
+ &microsoft.windows; /<application>Virtual PC
+ </application> is to create a new virtual machine for
+ installing &os;. Select <guimenuitem>Create a virtual
+ machine</guimenuitem> when prompted:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd1"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd2"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>And select <guimenuitem>Other</guimenuitem> as the
+ <guimenuitem>Operating system</guimenuitem> when
+ prompted:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd3"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Then, choose a reasonable amount of disk and memory
+ depending on your plans for this virtual &os;
+ instance. 4GB of disk space and 512MB of RAM work well
+ for most uses of &os; under
+ <application>Virtual PC</application>:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd4"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd5"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Save and finish the configuration:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd6"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Select your &os; virtual machine and click
+ <guimenu>Settings</guimenu>, then set the type of networking
+ and a network interface:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd7"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd8"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>After your &os; virtual machine has been created, you
+ will need to install &os; on it. This is best done with an
+ official &os; CDROM or with an ISO image downloaded from an
+ official FTP site. When you have the appropriate ISO image
+ on your local &windows; filesystem or a CDROM in your CD
+ drive, double click on your &os; virtual machine to boot.
+ Then, click <guimenu>CD</guimenu> and choose
+ <guimenu>Capture ISO Image...</guimenu> on
+ <application>Virtual PC</application> window. This will
+ bring up a window that allows you to associate the CDROM
+ drive in your virtual machine with an ISO file on disk or
+ with your real CDROM drive.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd9"/>
+ </imageobject>
+ </mediaobject>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd10"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Once you have made this association with your CDROM
+ source, reboot your &os; virtual machine as normal by
+ clicking the <guimenu>Action</guimenu> and
+ <guimenu>Reset</guimenu>.
+ <application>Virtual PC</application> will reboot with a
+ special BIOS that first checks if you have a CDROM just as a
+ normal BIOS would do.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd11"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>In this case it will find the &os; installation media
+ and begin a normal <application>sysinstall</application>
+ based installation as described in <xref linkend="install"/>.
+ You may install, but do not attempt to configure X11 at this
+ time.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd12"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>When you have finished the installation, remember to
+ eject CDROM or release ISO image. Finally, reboot into your
+ newly installed &os; virtual machine.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/virtualpc-freebsd13"/>
+ </imageobject>
+ </mediaobject>
+ </sect3>
+
+ <sect3 id="virtualization-guest-virtualpc-configure">
+ <title>Configuring &os; on &microsoft.windows;/Virtual
+ PC</title>
+
+ <para>After &os; has been successfully installed on
+ &microsoft.windows; with <application>Virtual PC
+ </application>, there are a number of configuration
+ steps that can be taken to optimize the system for
+ virtualized operation.</para>
+
+ <procedure>
+ <step>
+ <title>Set Boot Loader Variables</title>
+
+ <para>The most important step is to reduce the
+ <option>kern.hz</option> tunable to reduce the CPU
+ utilization of &os; under the
+ <application>Virtual PC</application> environment.
+ This is accomplished by adding the following line to
+ <filename> /boot/loader.conf</filename>:</para>
+
+ <programlisting>kern.hz=100</programlisting>
+
+ <para>Without this setting, an idle &os;
+ <application>Virtual PC</application> guest OS will
+ use roughly 40% of the CPU of a single processor
+ computer. After this change the usage will be
+ closer to a mere 3%.</para>
+ </step>
+
+ <step>
+ <title>Create a New Kernel Configuration File</title>
+
+ <para>You can remove all of the SCSI, FireWire, and USB
+ device drivers. <application>Virtual PC</application>
+ provides a virtual network adapter used by the
+ &man.de.4; driver, so all other network devices except
+ for &man.de.4; and &man.miibus.4; can be removed from
+ the kernel.</para>
+ </step>
+
+ <step>
+ <title>Configure Networking</title>
+
+ <para>The most basic networking setup involves simply
+ using DHCP to connect your virtual machine to the same
+ local area network as your host &microsoft.windows;.
+ This can be accomplished by adding
+ <literal>ifconfig_de0="DHCP"</literal> to
+ <filename>/etc/rc.conf</filename>. More advanced
+ networking setups are described in
+ <xref linkend="advanced-networking"/>.</para>
+ </step>
+ </procedure>
+ </sect3>
+ </sect2>
+
+ <sect2 id="virtualization-guest-vmware">
+ <title>VMware on MacOS</title>
+
+ <para><application>VMware Fusion</application> for &mac; is a
+ commercial software product available for &intel; based
+ &apple; &mac; computers running &macos; 10.4.9 or higher.
+ &os; is a fully supported guest operating system. Once
+ <application>VMware Fusion</application> has been
+ installed on &macos; X, the user must configure a virtual
+ machine and then install the desired guest operating
+ system.</para>
+
+ <sect3 id="virtualization-guest-vmware-install">
+ <title>Installing &os; on VMware/&macos; X</title>
+
+ <para>The first step is to start VMware Fusion, the Virtual
+ Machine Library will load. Click "New" to create the
+ VM:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd01"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>This will load the New Virtual Machine Assistant to help
+ you create the VM, click Continue to proceed:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd02"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Select <guimenuitem>Other</guimenuitem> as the
+ <guimenuitem>Operating System</guimenuitem> and
+ <guimenuitem>&os;</guimenuitem> or
+ <guimenuitem>&os; 64-bit</guimenuitem>, depending on if
+ you want 64-bit support, as the <guimenu>Version</guimenu>
+ when prompted:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd03"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Choose the Name of the VM Image and the Directory where
+ you would like it saved:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd04"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Choose the size of the Virtual Hard Disk for the
+ VM:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd05"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Choose the method you would like to install the VM,
+ either from an ISO image or from a CD:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd06"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Once you click Finish, the VM will boot:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd07"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Install &os; like you normally would, or by following
+ the directions in <xref linkend="install"/>:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd08"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>Once the install is complete you can modify the settings
+ of the VM, such as Memory Usage:</para>
+
+ <note>
+ <para>The System Hardware settings of the VM cannot be
+ modified while the VM is running.</para>
+ </note>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd09"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>The number of CPUs the VM will have access to:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd10"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>The status of the CD-Rom Device. Normally you can
+ disconnect the CD-Rom/ISO from the VM if you will not be
+ needing it anymore.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd11"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>The last thing to change is how the VM will connect to
+ the Network. If you want to allow connections to the VM
+ from other machines besides the Host, make sure you choose
+ the <guimenuitem>Connect directly to the physical network
+ (Bridged)</guimenuitem>. Otherwise <guimenuitem>Share the
+ host's internet connection (NAT)</guimenuitem> is
+ preferred so that the VM can have access to the Internet,
+ but the network cannot access the VM.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="virtualization/vmware-freebsd12"/>
+ </imageobject>
+ </mediaobject>
+
+ <para>After you have finished modifying the settings, boot the
+ newly installed &os; virtual machine.</para>
+ </sect3>
+
+ <sect3 id="virtualization-guest-vmware-configure">
+ <title>Configuring &os; on &macos; X/VMware</title>
+
+ <para>After &os; has been successfully installed on &macos; X
+ with <application>VMware</application>, there are a number
+ of configuration steps that can be taken to optimize the
+ system for virtualized operation.</para>
+
+ <procedure>
+ <step>
+ <title>Set Boot Loader Variables</title>
+
+ <para>The most important step is to reduce the
+ <option>kern.hz</option> tunable to reduce the CPU
+ utilization of &os; under the
+ <application>VMware</application> environment. This is
+ accomplished by adding the following line to
+ <filename>/boot/loader.conf</filename>:</para>
+
+ <programlisting>kern.hz=100</programlisting>
+
+ <para>Without this setting, an idle &os;
+ <application>VMware</application> guest
+ OS will use roughly 15% of the CPU of a single
+ processor &imac;. After this change the usage will be
+ closer to a mere 5%.</para>
+ </step>
+
+ <step>
+ <title>Create a New Kernel Configuration File</title>
+
+ <para>You can remove all of the FireWire, and USB device
+ drivers. <application>VMware</application> provides a
+ virtual network adapter used by the &man.em.4; driver,
+ so all other network devices except for &man.em.4; can
+ be removed from the kernel.</para>
+ </step>
+
+ <step>
+ <title>Configure Networking</title>
+
+ <para>The most basic networking setup involves simply
+ using DHCP to connect your virtual machine to the
+ same local area network as your host &mac;. This
+ can be accomplished by adding
+ <literal>ifconfig_em0="DHCP"</literal> to
+ <filename>/etc/rc.conf</filename>. More advanced
+ networking setups are described in
+ <xref linkend="advanced-networking"/>.</para>
+ </step>
+ </procedure>
+ </sect3>
+ </sect2>
+
+ <sect2 id="virtualization-guest-virtualbox-guest-additions">
+ <title>&virtualbox; Guest Additions on a &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 <filename
+ role="package">emulators/virtualbox-ose-additions</filename>
+ package in the &os; guest.</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose-additions && make install clean</userinput></screen>
+
+ <para>Add these lines to
+ <filename>/etc/rc.conf</filename>:</para>
+
+ <programlisting>vboxguest_enable="YES"
+vboxservice_enable="YES"</programlisting>
+
+ <para>If &man.ntpd.8; or &man.ntpdate.8; will be used, host time
+ synchronization should be disabled:</para>
+
+ <programlisting>vboxservice_flags="--disable-timesync"</programlisting>
+
+ <para>The <literal>vboxvideo_drv</literal> should be recognized
+ by <command>Xorg -configure</command>. If not, modify
+ <filename>xorg.conf</filename> for the
+ <application>&virtualbox;</application> video card:</para>
+
+ <programlisting>Section "Device"
+ ### Available Driver options are:-
+ ### Values: &lt;i&gt;: integer, &lt;f&gt;: float, &lt;bool&gt;: "True"/"False",
+ ### &lt;string&gt;: "String", &lt;freq&gt;: "&lt;f&gt; 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 <literal>vboxmouse_drv</literal>, adjust the mouse
+ section in your <filename>xorg.conf</filename>:</para>
+
+ <programlisting>Section "InputDevice"
+ Identifier "Mouse0"
+ Driver "vboxmouse"
+EndSection</programlisting>
+
+ <para><acronym>HAL</acronym> 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>&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;!--
+# Sun VirtualBox
+# Hal driver description for the vboxmouse driver
+# $Id: chapter.xml,v 1.33 2012-03-17 04:53:52 eadler Exp $
+
+ 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.
+--&gt;
+&lt;deviceinfo version="0.2"&gt;
+ &lt;device&gt;
+ &lt;match key="info.subsystem" string="pci"&gt;
+ &lt;match key="info.product" string="VirtualBox guest Service"&gt;
+ &lt;append key="info.capabilities" type="strlist"&gt;input&lt;/append&gt;
+ &lt;append key="info.capabilities" type="strlist"&gt;input.mouse&lt;/append&gt;
+ &lt;merge key="input.x11_driver" type="string"&gt;vboxmouse&lt;/merge&gt;
+ &lt;merge key="input.device" type="string"&gt;/dev/vboxguest&lt;/merge&gt;
+ &lt;/match&gt;
+ &lt;/match&gt;
+ &lt;/device&gt;
+&lt;/deviceinfo&gt;</programlisting>
+ </sect2>
+ </sect1>
+
+ <sect1 id="virtualization-host">
+ <title>&os; as a Host OS</title>
+
+ <para>For a number of years, &os; was not officially supported as
+ a host OS by any of the available virtualization solutions.
+ Some people were using older and mostly obsolete versions of
+ <application>VMware</application> (like
+ <filename role="package">emulators/vmware3</filename>), which
+ utilized the &linux; binary compatibility layer. Shortly after
+ the release of &os;&nbsp;7.2, Sun's
+ <application>&virtualbox;</application> appeared in the
+ Ports&nbsp;Collection as a native &os; program.</para>
+
+ <para><application>&virtualbox;</application> is an actively
+ developed, complete virtualization package, that is available
+ for most operating systems including &windows;, &macos;, &linux;
+ and &os;. It is equally capable at running &windows; or &unix;
+ like guests. It is released as open source software, but with
+ closed-source components available in a separate extension pack.
+ These components include support for USB 2.0 devices, among others.
+ More information may be found on the <quote>Downloads</quote> page
+ of the <application>&virtualbox;</application> wiki, at
+ <ulink url="http://www.virtualbox.org/wiki/Downloads"></ulink>.
+ Currently, these extensions are not available for &os;.</para>
+
+ <sect2 id="virtualization-virtualbox-install">
+ <title>Installing &virtualbox;</title>
+
+ <para><application>&virtualbox;</application> is available as a
+ &os; port in
+ <filename role="package">emulators/virtualbox-ose</filename>.
+ As &virtualbox; is very actively developed, make sure your
+ ports tree is up to date before installing. Install using
+ these commands:</para>
+
+ <screen>&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
+ <literal>GuestAdditions</literal> suite of programs. These
+ provide a number of useful features in guest operating
+ systems, like mouse pointer integration (allowing the mouse to
+ be shared between host and guest without the need to press a
+ special keyboard shortcut to switch) and faster video
+ rendering, especially in &windows; guests. The guest
+ additions are available in the <guimenu>Devices</guimenu>
+ menu, after the installation of the guest OS is
+ finished.</para>
+
+ <para>A few configuration changes are needed before
+ <application>&virtualbox;</application> is started for the
+ first time. The port installs a kernel module in
+ <filename class="directory">/boot/modules</filename> which
+ must be loaded into the running kernel:</para>
+
+ <screen>&prompt.root; <userinput>kldload vboxdrv</userinput></screen>
+
+ <para>To ensure the module always gets loaded after a reboot,
+ add the following line to
+ <filename>/boot/loader.conf</filename>:</para>
+
+ <programlisting>vboxdrv_load="YES"</programlisting>
+
+ <para>To use the kernel modules that allow bridged or host-only
+ networking, add the following to
+ <filename>/etc/rc.conf</filename> and reboot the
+ computer:</para>
+
+ <programlisting>vboxnet_enable="YES"</programlisting>
+
+ <para>The <groupname>vboxusers</groupname> group is created
+ during installation of
+ <application>&virtualbox;</application>. All users that need
+ access to <application>&virtualbox;</application> will have to
+ be added as members of this group. The <command>pw</command>
+ command may be used to add new members:</para>
+
+ <screen>&prompt.root; <userinput>pw groupmod vboxusers -m <replaceable>yourusername</replaceable></userinput></screen>
+
+ <para>The default permissions for
+ <filename class="devicefile">/dev/vboxnetctl</filename> are
+ restrictive and need to be changed 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 make the permissions change permanent, add these
+ lines to <filename>/etc/devfs.conf</filename>:</para>
+
+ <programlisting>own vboxnetctl root:vboxusers
+perm vboxnetctl 0660</programlisting>
+
+ <para>To launch <application>&virtualbox;</application>, either
+ select the <guimenuitem>Sun VirtualBox</guimenuitem> item from
+ the graphic environment's menu, or type the following in a
+ terminal:</para>
+
+ <screen>&prompt.user; <userinput>VirtualBox</userinput></screen>
+
+ <para>For more information on configuring and using
+ <application>&virtualbox;</application>, please visit the
+ official website at
+ <ulink url="http://www.virtualbox.org"></ulink>. As the &os;
+ port is very recent, it is under heavy development. For the
+ latest information and troubleshooting instructions, please
+ 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 members 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 does
+ not 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>USB can now be enabled in the guest operating system. USB
+ devices should be visible 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 the following line to
+ <filename>/boot/loader.conf</filename>:</para>
+
+ <programlisting>atapicam_load="YES"</programlisting>
+
+ <para><acronym>HAL</acronym> 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 class="devicefile">/dev/xpt0</filename>, <filename
+ class="devicefile">/dev/cd<replaceable>N</replaceable></filename>,
+ and <filename
+ class="devicefile">/dev/pass<replaceable>N</replaceable></filename>.
+ Add the following lines to
+ <filename>/etc/devfs.conf</filename>:</para>
+
+ <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.
+
+ <sect2 id="virtualization-other">
+ <title>Other Virtualization Options</title>
+
+ <para>There is ongoing work in getting
+ <application>&xen;</application>
+ to work as a host environment on &os;.</para>
+ </sect2>
+-->
+ </sect1>
+</chapter>