aboutsummaryrefslogtreecommitdiff
path: root/system/qemu/README
blob: 987806c423e63d0edafdc7013470dc5d73724492 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
QEMU is a generic and open source machine emulator and virtualizer.

When used as a machine emulator, QEMU can run OSes and programs made for
one machine (e.g. an ARM board) on a different machine (e.g. your PC).
By using dynamic translation, it achieves very good performances.

qemu (with kvm enabled) achieves near native performances by leveraging
the kvm-kmod modules and executing the guest code directly on the host
CPU.  Slackware provides pre-built 32/64 bit x86 kvm-kmod modules or you
can build different versions with the kvm-kmod package.

By default, this script builds all emulation targets for qemu; if you
prefer to build specific target(s), do this:

  TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user ./qemu.SlackBuild

(Refer to qemu documentation for available emulation targets.)

Disable vnc support via:

  VNC_ENABLE=no ./qemu.SlackBuild

Audio drivers support defaults to "pa,alsa,oss,sdl" and can be adusted
by running the build script like this:

  AUDIODRIVERS="pa,alsa,oss" ./qemu.SlackBuild

We patch the installed udev rules to require membership in "users"
group instead of a custom "kvm" group to use /dev/kvm.  If you prefer
something different, then run the build script like this:

  KVMGROUP=group ./qemu.SlackBuild

To have the qemu-bridge-helper installed setuid root, allowing regular
users to use extended networking capabilities, do this:

  BRIDGE_HELPER_SETUID=yes ./qemu.SlackBuild

Don't forget to load the 'kvm-intel' or 'kvm-amd' module (depending on
your processor) prior to launching qemu-system-ARCH with kvm enabled.
For older/unmaintained qemu frontends, this build also creates a symlink
to qemu-system-ARCH at /usr/bin/qemu-kvm.

libiscsi (to access iSCSI targets directly), libslirp (user mode
networking), libcacard, spice, usbredir, virglrenderer, libnfs, snappy,
glusterfs, and vde2, sphinx-rtd-theme and Sphinx (to build documentation)
are optional dependencies that will be automatically detected during
compilation, if present (all avialable on SBo).

To enable user mode networking, install libslirp, then compile qemu:

SLIRP=yes ./qemu.SlackBuild

NOTES:
  This version breaks some backward compatibility with earlier versions.
  Consult the official changelogs for details.

  If there are problems after upgrading with missing or wrong versioned
  libraries please try uninstalling any previous versions before
  rebuilding a new one.