1300 lines
44 KiB
XML
1300 lines
44 KiB
XML
<?xml version="1.0" encoding="ISO8859-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 µsoft.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––––– 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"' > tmp</userinput>
|
|
&prompt.root; <userinput>objcopy kernel-current ––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<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>
|
|
Features2=0x4400<CNTX-ID,<b14>>
|
|
real memory = 265244672 (252 MB)
|
|
avail memory = 255963136 (244 MB)
|
|
xc0: <Xen Console> 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<UP,LOOPBACK,RUNNING,MULTICAST> 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; 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<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
|
|
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
|
|
ether 00:16:3e:6b:de:3a
|
|
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> 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
|
|
µsoft; 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 µsoft.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/µsoft.windows;</title>
|
|
|
|
<para>The first step in installing &os; on
|
|
µsoft.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 µsoft.windows;/Virtual
|
|
PC</title>
|
|
|
|
<para>After &os; has been successfully installed on
|
|
µsoft.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 µsoft.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: <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 <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><?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
# Sun VirtualBox
|
|
# Hal driver description for the vboxmouse driver
|
|
# $Id: chapter.sgml,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.
|
|
-->
|
|
<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">
|
|
<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; 7.2, Sun's
|
|
<application>&virtualbox;</application> appeared in the
|
|
Ports 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>
|