123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687 |
- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
- <chapter id='dev-manual-qemu'>
- <title>Using the Quick EMUlator (QEMU)</title>
- <para>
- The Yocto Project uses an implementation of the Quick EMUlator (QEMU)
- Open Source project as part of the Yocto Project development "tool
- set".
- This chapter provides both procedures that show you how to use the
- Quick EMUlator (QEMU) and other QEMU information helpful for
- development purposes.
- </para>
- <section id='qemu-dev-overview'>
- <title>Overview</title>
- <para>
- Within the context of the Yocto Project, QEMU is an
- emulator and virtualization machine that allows you to run a
- complete image you have built using the Yocto Project as just
- another task on your build system.
- QEMU is useful for running and testing images and applications on
- supported Yocto Project architectures without having actual
- hardware.
- Among other things, the Yocto Project uses QEMU to run automated
- Quality Assurance (QA) tests on final images shipped with each
- release.
- <note>
- This implementation is not the same as QEMU in general.
- </note>
- This section provides a brief reference for the Yocto Project
- implementation of QEMU.
- </para>
- <para>
- For official information and documentation on QEMU in general, see
- the following references:
- <itemizedlist>
- <listitem><para>
- <emphasis><ulink url='http://wiki.qemu.org/Main_Page'>QEMU Website</ulink>:</emphasis>
- The official website for the QEMU Open Source project.
- </para></listitem>
- <listitem><para>
- <emphasis><ulink url='http://wiki.qemu.org/Manual'>Documentation</ulink>:</emphasis>
- The QEMU user manual.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='qemu-running-qemu'>
- <title>Running QEMU</title>
- <para>
- To use QEMU, you need to have QEMU installed and initialized as
- well as have the proper artifacts (i.e. image files and root
- filesystems) available.
- Follow these general steps to run QEMU:
- <orderedlist>
- <listitem><para>
- <emphasis>Install QEMU:</emphasis>
- QEMU is made available with the Yocto Project a number of
- ways.
- One method is to install a Software Development Kit (SDK).
- See
- "<ulink url='&YOCTO_DOCS_SDK_URL;#the-qemu-emulator'>The QEMU Emulator</ulink>"
- section in the Yocto Project Application Development and
- the Extensible Software Development Kit (eSDK) manual
- for information on how to install QEMU.
- </para></listitem>
- <listitem><para>
- <emphasis>Setting Up the Environment:</emphasis>
- How you set up the QEMU environment depends on how you
- installed QEMU:
- <itemizedlist>
- <listitem><para>
- If you cloned the <filename>poky</filename>
- repository or you downloaded and unpacked a
- Yocto Project release tarball, you can source
- the build environment script (i.e.
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>):
- <literallayout class='monospaced'>
- $ cd ~/poky
- $ source oe-init-build-env
- </literallayout>
- </para></listitem>
- <listitem><para>
- If you installed a cross-toolchain, you can
- run the script that initializes the toolchain.
- For example, the following commands run the
- initialization script from the default
- <filename>poky_sdk</filename> directory:
- <literallayout class='monospaced'>
- . ~/poky_sdk/environment-setup-core2-64-poky-linux
- </literallayout>
- </para></listitem>
- </itemizedlist>
- </para></listitem>
- <listitem><para>
- <emphasis>Ensure the Artifacts are in Place:</emphasis>
- You need to be sure you have a pre-built kernel that
- will boot in QEMU.
- You also need the target root filesystem for your target
- machine’s architecture:
- <itemizedlist>
- <listitem><para>
- If you have previously built an image for QEMU
- (e.g. <filename>qemux86</filename>,
- <filename>qemuarm</filename>, and so forth),
- then the artifacts are in place in your
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
- </para></listitem>
- <listitem><para>
- If you have not built an image, you can go to the
- <ulink url='&YOCTO_MACHINES_DL_URL;'>machines/qemu</ulink>
- area and download a pre-built image that matches
- your architecture and can be run on QEMU.
- </para></listitem>
- </itemizedlist></para>
- <para>See the
- "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>"
- section in the Yocto Project Application Development and
- the Extensible Software Development Kit (eSDK) manual
- for information on how to extract a root filesystem.
- </para></listitem>
- <listitem><para>
- <emphasis>Run QEMU:</emphasis>
- The basic <filename>runqemu</filename> command syntax is as
- follows:
- <literallayout class='monospaced'>
- $ runqemu [<replaceable>option</replaceable> ] [...]
- </literallayout>
- Based on what you provide on the command line,
- <filename>runqemu</filename> does a good job of figuring
- out what you are trying to do.
- For example, by default, QEMU looks for the most recently
- built image according to the timestamp when it needs to
- look for an image.
- Minimally, through the use of options, you must provide
- either a machine name, a virtual machine image
- (<filename>*wic.vmdk</filename>), or a kernel image
- (<filename>*.bin</filename>).</para>
- <para>Here are some additional examples to help illustrate
- further QEMU:
- <itemizedlist>
- <listitem><para>
- This example starts QEMU with
- <replaceable>MACHINE</replaceable> set to "qemux86".
- Assuming a standard
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
- <filename>runqemu</filename> automatically finds the
- <filename>bzImage-qemux86.bin</filename> image file and
- the
- <filename>core-image-minimal-qemux86-20140707074611.rootfs.ext3</filename>
- (assuming the current build created a
- <filename>core-image-minimal</filename> image).
- <note>
- When more than one image with the same name exists, QEMU finds
- and uses the most recently built image according to the
- timestamp.
- </note>
- <literallayout class='monospaced'>
- $ runqemu qemux86
- </literallayout>
- </para></listitem>
- <listitem><para>
- This example produces the exact same results as the
- previous example.
- This command, however, specifically provides the image
- and root filesystem type.
- <literallayout class='monospaced'>
- $ runqemu qemux86 core-image-minimal ext3
- </literallayout>
- </para></listitem>
- <listitem><para>
- This example specifies to boot an initial RAM disk image
- and to enable audio in QEMU.
- For this case, <filename>runqemu</filename> set the
- internal variable <filename>FSTYPE</filename> to
- "cpio.gz".
- Also, for audio to be enabled, an appropriate driver must
- be installed (see the previous description for the
- <filename>audio</filename> option for more information).
- <literallayout class='monospaced'>
- $ runqemu qemux86 ramfs audio
- </literallayout>
- </para></listitem>
- <listitem><para>
- This example does not provide enough information for
- QEMU to launch.
- While the command does provide a root filesystem type, it
- must also minimally provide a
- <replaceable>MACHINE</replaceable>,
- <replaceable>KERNEL</replaceable>, or
- <replaceable>VM</replaceable> option.
- <literallayout class='monospaced'>
- $ runqemu ext3
- </literallayout>
- </para></listitem>
- <listitem><para>
- This example specifies to boot a virtual machine
- image (<filename>.wic.vmdk</filename> file).
- From the <filename>.wic.vmdk</filename>,
- <filename>runqemu</filename> determines the QEMU
- architecture (<replaceable>MACHINE</replaceable>) to be
- "qemux86" and the root filesystem type to be "vmdk".
- <literallayout class='monospaced'>
- $ runqemu /home/scott-lenovo/vm/core-image-minimal-qemux86.wic.vmdk
- </literallayout>
- </para></listitem>
- </itemizedlist>
- </para></listitem>
- </orderedlist>
- </para>
- </section>
- <section id='switching-between-consoles'>
- <title>Switching Between Consoles</title>
- <para>
- When booting or running QEMU, you can switch between
- supported consoles by using
- Ctrl+Alt+<replaceable>number</replaceable>.
- For example, Ctrl+Alt+3 switches you to the serial console
- as long as that console is enabled.
- Being able to switch consoles is helpful, for example, if
- the main QEMU console breaks for some reason.
- <note>
- Usually, "2" gets you to the main console and "3"
- gets you to the serial console.
- </note>
- </para>
- </section>
- <section id='removing-the-splash-screen'>
- <title>Removing the Splash Screen</title>
- <para>
- You can remove the splash screen when QEMU is booting by
- using Alt+left.
- Removing the splash screen allows you to see what is
- happening in the background.
- </para>
- </section>
- <section id='disabling-the-cursor-grab'>
- <title>Disabling the Cursor Grab</title>
- <para>
- The default QEMU integration captures the cursor within the
- main window.
- It does this since standard mouse devices only provide
- relative input and not absolute coordinates.
- You then have to break out of the grab using the "Ctrl+Alt"
- key combination.
- However, the Yocto Project's integration of QEMU enables
- the wacom USB touch pad driver by default to allow input
- of absolute coordinates.
- This default means that the mouse can enter and leave the
- main window without the grab taking effect leading to a
- better user experience.
- </para>
- </section>
- <section id='qemu-running-under-a-network-file-system-nfs-server'>
- <title>Running Under a Network File System (NFS) Server</title>
- <para>
- One method for running QEMU is to run it on an NFS server.
- This is useful when you need to access the same file system
- from both the build and the emulated system at the same time.
- It is also worth noting that the system does not need root
- privileges to run.
- It uses a user space NFS server to avoid that.
- Follow these steps to set up for running QEMU using an NFS
- server.
- <orderedlist>
- <listitem><para>
- <emphasis>Extract a Root Filesystem:</emphasis>
- Once you are able to run QEMU in your environment, you can
- use the <filename>runqemu-extract-sdk</filename> script,
- which is located in the <filename>scripts</filename>
- directory along with the <filename>runqemu</filename>
- script.</para>
- <para>The <filename>runqemu-extract-sdk</filename> takes a
- root filesystem tarball and extracts it into a location
- that you specify.
- Here is an example that takes a file system and
- extracts it to a directory named
- <filename>test-nfs</filename>:
- <literallayout class='monospaced'>
- runqemu-extract-sdk ./tmp/deploy/images/qemux86/core-image-sato-qemux86.tar.bz2 test-nfs
- </literallayout>
- </para></listitem>
- <listitem><para>
- <emphasis>Start QEMU:</emphasis>
- Once you have extracted the file system, you can run
- <filename>runqemu</filename> normally with the additional
- location of the file system.
- You can then also make changes to the files within
- <filename>./test-nfs</filename> and see those changes
- appear in the image in real time.
- Here is an example using the <filename>qemux86</filename>
- image:
- <literallayout class='monospaced'>
- runqemu qemux86 ./test-nfs
- </literallayout>
- </para></listitem>
- </orderedlist>
- <note>
- <para>
- Should you need to start, stop, or restart the NFS share,
- you can use the following commands:
- <itemizedlist>
- <listitem><para>
- The following command starts the NFS share:
- <literallayout class='monospaced'>
- runqemu-export-rootfs start <replaceable>file-system-location</replaceable>
- </literallayout>
- </para></listitem>
- <listitem><para>
- The following command stops the NFS share:
- <literallayout class='monospaced'>
- runqemu-export-rootfs stop <replaceable>file-system-location</replaceable>
- </literallayout>
- </para></listitem>
- <listitem><para>
- The following command restarts the NFS share:
- <literallayout class='monospaced'>
- runqemu-export-rootfs restart <replaceable>file-system-location</replaceable>
- </literallayout>
- </para></listitem>
- </itemizedlist>
- </para>
- </note>
- </para>
- </section>
- <section id='qemu-kvm-cpu-compatibility'>
- <title>QEMU CPU Compatibility Under KVM</title>
- <para>
- By default, the QEMU build compiles for and targets 64-bit and x86
- <trademark class='registered'>Intel</trademark> <trademark class='trademark'>Core</trademark>2
- Duo processors and 32-bit x86
- <trademark class='registered'>Intel</trademark> <trademark class='registered'>Pentium</trademark>
- II processors.
- QEMU builds for and targets these CPU types because they display
- a broad range of CPU feature compatibility with many commonly
- used CPUs.
- </para>
- <para>
- Despite this broad range of compatibility, the CPUs could support
- a feature that your host CPU does not support.
- Although this situation is not a problem when QEMU uses software
- emulation of the feature, it can be a problem when QEMU is
- running with KVM enabled.
- Specifically, software compiled with a certain CPU feature crashes
- when run on a CPU under KVM that does not support that feature.
- To work around this problem, you can override QEMU's runtime CPU
- setting by changing the <filename>QB_CPU_KVM</filename>
- variable in <filename>qemuboot.conf</filename> in the
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
- <filename>deploy/image</filename> directory.
- This setting specifies a <filename>-cpu</filename> option
- passed into QEMU in the <filename>runqemu</filename> script.
- Running <filename>qemu -cpu help</filename> returns a list of
- available supported CPU types.
- </para>
- </section>
- <section id='qemu-dev-performance'>
- <title>QEMU Performance</title>
- <para>
- Using QEMU to emulate your hardware can result in speed issues
- depending on the target and host architecture mix.
- For example, using the <filename>qemux86</filename> image in the
- emulator on an Intel-based 32-bit (x86) host machine is fast
- because the target and host architectures match.
- On the other hand, using the <filename>qemuarm</filename> image
- on the same Intel-based host can be slower.
- But, you still achieve faithful emulation of ARM-specific issues.
- </para>
- <para>
- To speed things up, the QEMU images support using
- <filename>distcc</filename> to call a cross-compiler outside the
- emulated system.
- If you used <filename>runqemu</filename> to start QEMU, and the
- <filename>distccd</filename> application is present on the host
- system, any BitBake cross-compiling toolchain available from the
- build system is automatically used from within QEMU simply by
- calling <filename>distcc</filename>.
- You can accomplish this by defining the cross-compiler variable
- (e.g. <filename>export CC="distcc"</filename>).
- Alternatively, if you are using a suitable SDK image or the
- appropriate stand-alone toolchain is present, the toolchain is
- also automatically used.
- <note>
- Several mechanisms exist that let you connect to the system
- running on the QEMU emulator:
- <itemizedlist>
- <listitem><para>
- QEMU provides a framebuffer interface that makes
- standard consoles available.
- </para></listitem>
- <listitem><para>
- Generally, headless embedded devices have a serial port.
- If so, you can configure the operating system of the
- running image to use that port to run a console.
- The connection uses standard IP networking.
- </para></listitem>
- <listitem><para>
- SSH servers exist in some QEMU images.
- The <filename>core-image-sato</filename> QEMU image
- has a Dropbear secure shell (SSH) server that runs
- with the root password disabled.
- The <filename>core-image-full-cmdline</filename> and
- <filename>core-image-lsb</filename> QEMU images
- have OpenSSH instead of Dropbear.
- Including these SSH servers allow you to use standard
- <filename>ssh</filename> and <filename>scp</filename>
- commands.
- The <filename>core-image-minimal</filename> QEMU image,
- however, contains no SSH server.
- </para></listitem>
- <listitem><para>
- You can use a provided, user-space NFS server to boot
- the QEMU session using a local copy of the root
- filesystem on the host.
- In order to make this connection, you must extract a
- root filesystem tarball by using the
- <filename>runqemu-extract-sdk</filename> command.
- After running the command, you must then point the
- <filename>runqemu</filename>
- script to the extracted directory instead of a root
- filesystem image file.
- See the
- "<link linkend='qemu-running-under-a-network-file-system-nfs-server'>Running Under a Network File System (NFS) Server</link>"
- section for more information.
- </para></listitem>
- </itemizedlist>
- </note>
- </para>
- </section>
- <section id='qemu-dev-command-line-syntax'>
- <title>QEMU Command-Line Syntax</title>
- <para>
- The basic <filename>runqemu</filename> command syntax is as
- follows:
- <literallayout class='monospaced'>
- $ runqemu [<replaceable>option</replaceable> ] [...]
- </literallayout>
- Based on what you provide on the command line,
- <filename>runqemu</filename> does a good job of figuring out what
- you are trying to do.
- For example, by default, QEMU looks for the most recently built
- image according to the timestamp when it needs to look for an
- image.
- Minimally, through the use of options, you must provide either
- a machine name, a virtual machine image
- (<filename>*wic.vmdk</filename>), or a kernel image
- (<filename>*.bin</filename>).
- </para>
- <para>
- Following is the command-line help output for the
- <filename>runqemu</filename> command:
- <literallayout class='monospaced'>
- $ runqemu --help
- Usage: you can run this script with any valid combination
- of the following environment variables (in any order):
- KERNEL - the kernel image file to use
- ROOTFS - the rootfs image file or nfsroot directory to use
- MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
- Simplified QEMU command-line options can be passed with:
- nographic - disable video console
- serial - enable a serial console on /dev/ttyS0
- slirp - enable user networking, no root privileges is required
- kvm - enable KVM when running x86/x86_64 (VT-capable CPU required)
- kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
- publicvnc - enable a VNC server open to all hosts
- audio - enable audio
- [*/]ovmf* - OVMF firmware file or base name for booting with UEFI
- tcpserial=<port> - specify tcp serial port number
- biosdir=<dir> - specify custom bios dir
- biosfilename=<filename> - specify bios filename
- qemuparams=<xyz> - specify custom parameters to QEMU
- bootparams=<xyz> - specify custom kernel parameters during boot
- help, -h, --help: print this text
- Examples:
- runqemu
- runqemu qemuarm
- runqemu tmp/deploy/images/qemuarm
- runqemu tmp/deploy/images/qemux86/<qemuboot.conf>
- runqemu qemux86-64 core-image-sato ext4
- runqemu qemux86-64 wic-image-minimal wic
- runqemu path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial
- runqemu qemux86 iso/hddimg/wic.vmdk/wic.qcow2/wic.vdi/ramfs/cpio.gz...
- runqemu qemux86 qemuparams="-m 256"
- runqemu qemux86 bootparams="psplash=false"
- runqemu path/to/<image>-<machine>.wic
- runqemu path/to/<image>-<machine>.wic.vmdk
- </literallayout>
- </para>
- </section>
- <section id='qemu-dev-runqemu-command-line-options'>
- <title><filename>runqemu</filename> Command-Line Options</title>
- <para>
- Following is a description of <filename>runqemu</filename>
- options you can provide on the command line:
- <note><title>Tip</title>
- If you do provide some "illegal" option combination or perhaps
- you do not provide enough in the way of options,
- <filename>runqemu</filename> provides appropriate error
- messaging to help you correct the problem.
- </note>
- <itemizedlist>
- <listitem><para>
- <replaceable>QEMUARCH</replaceable>:
- The QEMU machine architecture, which must be "qemuarm",
- "qemuarm64", "qemumips", "qemumips64", "qemuppc",
- "qemux86", or "qemux86-64".
- </para></listitem>
- <listitem><para>
- <filename><replaceable>VM</replaceable></filename>:
- The virtual machine image, which must be a
- <filename>.wic.vmdk</filename> file.
- Use this option when you want to boot a
- <filename>.wic.vmdk</filename> image.
- The image filename you provide must contain one of the
- following strings: "qemux86-64", "qemux86", "qemuarm",
- "qemumips64", "qemumips", "qemuppc", or "qemush4".
- </para></listitem>
- <listitem><para>
- <replaceable>ROOTFS</replaceable>:
- A root filesystem that has one of the following
- filetype extensions: "ext2", "ext3", "ext4", "jffs2",
- "nfs", or "btrfs".
- If the filename you provide for this option uses “nfs”, it
- must provide an explicit root filesystem path.
- </para></listitem>
- <listitem><para>
- <replaceable>KERNEL</replaceable>:
- A kernel image, which is a <filename>.bin</filename> file.
- When you provide a <filename>.bin</filename> file,
- <filename>runqemu</filename> detects it and assumes the
- file is a kernel image.
- </para></listitem>
- <listitem><para>
- <replaceable>MACHINE</replaceable>:
- The architecture of the QEMU machine, which must be one
- of the following: "qemux86", "qemux86-64", "qemuarm",
- "qemuarm64", "qemumips", “qemumips64", or "qemuppc".
- The <replaceable>MACHINE</replaceable> and
- <replaceable>QEMUARCH</replaceable> options are basically
- identical.
- If you do not provide a <replaceable>MACHINE</replaceable>
- option, <filename>runqemu</filename> tries to determine
- it based on other options.
- </para></listitem>
- <listitem><para>
- <filename>ramfs</filename>:
- Indicates you are booting an initial RAM disk (initramfs)
- image, which means the <filename>FSTYPE</filename> is
- <filename>cpio.gz</filename>.
- </para></listitem>
- <listitem><para>
- <filename>iso</filename>:
- Indicates you are booting an ISO image, which means the
- <filename>FSTYPE</filename> is
- <filename>.iso</filename>.
- </para></listitem>
- <listitem><para>
- <filename>nographic</filename>:
- Disables the video console, which sets the console to
- "ttys0".
- </para></listitem>
- <listitem><para>
- <filename>serial</filename>:
- Enables a serial console on
- <filename>/dev/ttyS0</filename>.
- </para></listitem>
- <listitem><para>
- <filename>biosdir</filename>:
- Establishes a custom directory for BIOS, VGA BIOS and
- keymaps.
- </para></listitem>
- <listitem><para>
- <filename>biosfilename</filename>:
- Establishes a custom BIOS name.
- </para></listitem>
- <listitem><para>
- <filename>qemuparams=\"<replaceable>xyz</replaceable>\"</filename>:
- Specifies custom QEMU parameters.
- Use this option to pass options other than the simple
- "kvm" and "serial" options.
- </para></listitem>
- <listitem><para><filename>bootparams=\"<replaceable>xyz</replaceable>\"</filename>:
- Specifies custom boot parameters for the kernel.
- </para></listitem>
- <listitem><para>
- <filename>audio</filename>:
- Enables audio in QEMU.
- The <replaceable>MACHINE</replaceable> option must be
- either "qemux86" or "qemux86-64" in order for audio to be
- enabled.
- Additionally, the <filename>snd_intel8x0</filename>
- or <filename>snd_ens1370</filename> driver must be
- installed in linux guest.
- </para></listitem>
- <listitem><para>
- <filename>slirp</filename>:
- Enables "slirp" networking, which is a different way
- of networking that does not need root access
- but also is not as easy to use or comprehensive
- as the default.
- </para></listitem>
- <listitem><para id='kvm-cond'>
- <filename>kvm</filename>:
- Enables KVM when running "qemux86" or "qemux86-64"
- QEMU architectures.
- For KVM to work, all the following conditions must be met:
- <itemizedlist>
- <listitem><para>
- Your <replaceable>MACHINE</replaceable> must be either
- qemux86" or "qemux86-64".
- </para></listitem>
- <listitem><para>
- Your build host has to have the KVM modules
- installed, which are
- <filename>/dev/kvm</filename>.
- </para></listitem>
- <listitem><para>
- The build host <filename>/dev/kvm</filename>
- directory has to be both writable and readable.
- </para></listitem>
- </itemizedlist>
- </para></listitem>
- <listitem><para>
- <filename>kvm-vhost</filename>:
- Enables KVM with VHOST support when running "qemux86"
- or "qemux86-64" QEMU architectures.
- For KVM with VHOST to work, the following conditions must
- be met:
- <itemizedlist>
- <listitem><para>
- <link linkend='kvm-cond'>kvm</link> option
- conditions must be met.
- </para></listitem>
- <listitem><para>
- Your build host has to have virtio net device, which
- are <filename>/dev/vhost-net</filename>.
- </para></listitem>
- <listitem><para>
- The build host <filename>/dev/vhost-net</filename>
- directory has to be either readable or writable
- and “slirp-enabled”.
- </para></listitem>
- </itemizedlist>
- </para></listitem>
- <listitem><para>
- <filename>publicvnc</filename>:
- Enables a VNC server open to all hosts.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- </chapter>
- <!--
- vim: expandtab tw=80 ts=4
- -->
|