diff options
author | Daniel Gryniewicz <dang@gentoo.org> | 2008-07-15 18:13:13 +0000 |
---|---|---|
committer | Daniel Gryniewicz <dang@gentoo.org> | 2008-07-15 18:13:13 +0000 |
commit | 7b144cb95d4fded736fc066d595206c51bb02b8f (patch) | |
tree | 3fca6cbea279bc22e0e423310d0010ec1affa565 /app-emulation/kvm | |
parent | ia64/sparc/x86 stable (diff) | |
download | gentoo-2-7b144cb95d4fded736fc066d595206c51bb02b8f.tar.gz gentoo-2-7b144cb95d4fded736fc066d595206c51bb02b8f.tar.bz2 gentoo-2-7b144cb95d4fded736fc066d595206c51bb02b8f.zip |
Bump to 71
(Portage version: 2.2_rc1/cvs/Linux 2.6.25-gentoo-r5 x86_64)
Diffstat (limited to 'app-emulation/kvm')
-rw-r--r-- | app-emulation/kvm/ChangeLog | 12 | ||||
-rw-r--r-- | app-emulation/kvm/files/kvm-48-kvm.patch | 134 | ||||
-rw-r--r-- | app-emulation/kvm/files/kvm-71-qemu-kvm-doc.patch | 1521 | ||||
-rw-r--r-- | app-emulation/kvm/kvm-70-r1.ebuild | 3 | ||||
-rw-r--r-- | app-emulation/kvm/kvm-70.ebuild | 3 | ||||
-rw-r--r-- | app-emulation/kvm/kvm-71.ebuild | 178 |
6 files changed, 1712 insertions, 139 deletions
diff --git a/app-emulation/kvm/ChangeLog b/app-emulation/kvm/ChangeLog index f4733b667445..cacfe74cea3d 100644 --- a/app-emulation/kvm/ChangeLog +++ b/app-emulation/kvm/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-emulation/kvm # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/ChangeLog,v 1.4 2008/07/14 12:55:37 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/ChangeLog,v 1.5 2008/07/15 18:13:12 dang Exp $ + + 15 Jul 2008; Daniel Gryniewicz <dang@gentoo.org> -files/kvm-48-kvm.patch, + +files/kvm-71-qemu-kvm-doc.patch, kvm-70.ebuild, kvm-70-r1.ebuild, + +kvm-71.ebuild: + Bump to 71 + +*kvm-71 (15 Jul 2008) + + 15 Jul 2008; Daniel Gryniewicz <dang@gentoo.org> +kvm-71.ebuild: + Bump to 71 *kvm-70-r1 (14 Jul 2008) diff --git a/app-emulation/kvm/files/kvm-48-kvm.patch b/app-emulation/kvm/files/kvm-48-kvm.patch deleted file mode 100644 index 7a2006ac8c77..000000000000 --- a/app-emulation/kvm/files/kvm-48-kvm.patch +++ /dev/null @@ -1,134 +0,0 @@ ---- kvm-48/kvm 2007-10-18 02:58:26.000000000 -0700 -+++ kvm-48/kvm 2007-10-18 11:58:57.000000000 -0700 -@@ -15,9 +15,11 @@ - self.readfp(file, filename) - - config = ShellConfigParser() --config.read('config.mak') -+config.read('/etc/kvm/config.mak') - - external_module = config.get('shell', 'want_module') -+prefix = config.get('shell', 'prefix') -+kerneldir = config.get('shell', 'kerneldir').replace('build', 'misc') - privileged = os.getuid() == 0 - - optparser = optparse.OptionParser() -@@ -55,6 +57,12 @@ - default = not privileged, - ) - -+optparser.add_option('--bridge', -+ help = 'use this device to build the bridge', -+ dest = 'bridge', -+ default = None, -+ ) -+ - optparser.add_option('--mac', - help = 'use this specific mac addr', - dest = 'mac', -@@ -73,11 +81,19 @@ - dest = 'kvm', - default = True, - ) -+ -+optparser.add_option('--imagesize', -+ help = 'use this size for the image', -+ dest = 'imagesize', -+ default = '30G', -+ ) -+ - optparser.add_option('--image', - help = 'select disk image', - dest = 'image', - default = '/tmp/disk', - ) -+ - optparser.add_option('--cdrom', - help = 'select cdrom image', - dest = 'cdrom', -@@ -119,7 +135,7 @@ - action = 'store_false', - default = True, - dest = 'irqchip', -- help = 'avoid using in-kernel irqchip', -+ help = 'disable KVM kernel mode PIC/IOAPIC/LAPIC', - ) - - optparser.add_option('-n', '--dry-run', -@@ -148,7 +164,7 @@ - - def insert_module(module): - if os.spawnl(os.P_WAIT, '/sbin/insmod', 'insmod', -- 'kernel/%s.ko' % (module,)) != 0: -+ kerneldir + '/%s.ko' % (module,)) != 0: - raise Exception('failed to load kvm module') - - def probe_module(module): -@@ -181,9 +197,10 @@ - print '/dev/kvm not present' - - disk = options.image -+disksize = options.imagesize - if options.install: -- (status, output) = commands.getstatusoutput( -- 'qemu/qemu-img create -f qcow2 "%s" 30G' % disk) -+ cmd = 'qemu-img create -f qcow2 "' + disk + '" ' + disksize -+ (status, output) = commands.getstatusoutput(cmd) - if status: - raise Exception, output - -@@ -191,14 +208,11 @@ - if options.install: - bootdisk = 'd' - -+# kvm always compiles for the x86_64 target - arch = 'x86_64' -+cmd = 'kvm' - --if arch == 'x86_64': -- cmd = 'qemu-system-' + arch --else: -- cmd = 'qemu' -- --local_cmd = 'qemu/' + arch + '-softmmu/' + cmd -+local_cmd = prefix + '/bin/' + cmd - if os.access(local_cmd, os.F_OK): - cmd = local_cmd - else: -@@ -226,15 +240,31 @@ - if not options.irqchip: - qemu_args += ('-no-kvm-irqchip',) - -+def getmac(interface): -+ if os.access('/sbin/ip', os.F_OK): -+ for line in commands.getoutput('/sbin/ip link show ' + interface).splitlines(): -+ m = re.match(r'.*link/ether (..:..:..:..:..:..).*', line) -+ if m: -+ mac = m.group(1) -+ return mac -+ else: -+ for line in commands.getoutput('/sbin/ifconfig ' + interface).splitlines(): -+ m = re.match(r'.*HWaddr (..:..:..:..:..:..)', line) -+ if m: -+ mac = m.group(1) -+ return mac -+ return False -+ - if not options.notap: -+ bridge = options.bridge -+ if not bridge: -+ bridge = 'eth0' -+ - mac = options.mac - if not mac: -- for line in commands.getoutput('/sbin/ip link show eth0').splitlines(): -- m = re.match(r'.*link/ether (..:..:..:..:..:..).*', line) -- if m: -- mac = m.group(1) -+ mac = getmac(bridge) - if not mac: -- raise Exception, 'Unable to determine eth0 mac address' -+ raise Exception, 'Unable to determine ' + bridge + ' mac address' - mac_components = mac.split(':') - mac_components[0] = 'a0' - mac = ':'.join(mac_components) diff --git a/app-emulation/kvm/files/kvm-71-qemu-kvm-doc.patch b/app-emulation/kvm/files/kvm-71-qemu-kvm-doc.patch new file mode 100644 index 000000000000..c5559c9c2084 --- /dev/null +++ b/app-emulation/kvm/files/kvm-71-qemu-kvm-doc.patch @@ -0,0 +1,1521 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN kvm-71.orig/qemu/qemu-doc.texi kvm-71/qemu/qemu-doc.texi +--- kvm-71.orig/qemu/qemu-doc.texi 2008-07-10 09:20:48.000000000 -0400 ++++ kvm-71/qemu/qemu-doc.texi 2008-07-15 12:17:20.000000000 -0400 +@@ -1,7 +1,7 @@ +-\input texinfo @c -*- texinfo -*- ++\input texinfo @c -*- texinfo -*-: + @c %**start of header + @setfilename qemu-doc.info +-@settitle QEMU Emulator User Documentation ++@settitle KVM Emulator User Documentation + @exampleindent 0 + @paragraphindent 0 + @c %**end of header +@@ -9,7 +9,7 @@ + @iftex + @titlepage + @sp 7 +-@center @titlefont{QEMU Emulator} ++@center @titlefont{KVM Emulator} + @sp 1 + @center @titlefont{User Documentation} + @sp 3 +@@ -23,9 +23,9 @@ + @menu + * Introduction:: + * Installation:: +-* QEMU PC System emulator:: +-* QEMU System emulator for non PC targets:: +-* QEMU User space emulator:: ++* KVM PC System emulator:: ++* KVM System emulator for non PC targets:: ++* KVM User space emulator:: + * compilation:: Compilation from the sources + * Index:: + @end menu +@@ -43,28 +43,28 @@ + @node intro_features + @section Features + +-QEMU is a FAST! processor emulator using dynamic translation to ++KVM is a FAST! processor emulator using dynamic translation to + achieve good emulation speed. + +-QEMU has two operating modes: ++KVM has two operating modes: + + @itemize @minus + + @item +-Full system emulation. In this mode, QEMU emulates a full system (for ++Full system emulation. In this mode, KVM emulates a full system (for + example a PC), including one or several processors and various + peripherals. It can be used to launch different Operating Systems + without rebooting the PC or to debug system code. + + @item +-User mode emulation. In this mode, QEMU can launch ++User mode emulation. In this mode, KVM can launch + processes compiled for one CPU on another CPU. It can be used to + launch the Wine Windows API emulator (@url{http://www.winehq.org}) or + to ease cross-compilation and cross-debugging. + + @end itemize + +-QEMU can run without an host kernel driver and yet gives acceptable ++KVM can run without an host kernel driver and yet gives acceptable + performance. + + For system emulation, the following hardware targets are supported: +@@ -96,7 +96,7 @@ For user emulation, x86, PowerPC, ARM, 3 + @node Installation + @chapter Installation + +-If you want to compile QEMU yourself, see @ref{compilation}. ++If you want to compile KVM yourself, see @ref{compilation}. + + @menu + * install_linux:: Linux +@@ -122,15 +122,15 @@ Download the experimental binary install + Download the experimental binary installer at + @url{http://www.free.oszoo.org/@/download.html}. + +-@node QEMU PC System emulator +-@chapter QEMU PC System emulator ++@node KVM PC System emulator ++@chapter KVM PC System emulator + + @menu + * pcsys_introduction:: Introduction + * pcsys_quickstart:: Quick Start + * sec_invocation:: Invocation + * pcsys_keys:: Keys +-* pcsys_monitor:: QEMU Monitor ++* pcsys_monitor:: KVM Monitor + * disk_images:: Disk Images + * pcsys_network:: Network emulation + * direct_linux_boot:: Direct Linux Boot +@@ -145,7 +145,7 @@ Download the experimental binary install + + @c man begin DESCRIPTION + +-The QEMU PC System emulator simulates the ++The KVM PC System emulator simulates the + following peripherals: + + @itemize @minus +@@ -182,16 +182,16 @@ PCI UHCI USB controller and a virtual US + + SMP is supported with up to 255 CPUs. + +-Note that adlib, ac97, gus and cs4231a are only available when QEMU ++Note that adlib, ac97, gus and cs4231a are only available when KVM + was configured with --audio-card-list option containing the name(s) of + required card(s). + +-QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL ++KVM uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL + VGA BIOS. + +-QEMU uses YM3812 emulation by Tatsuyuki Satoh. ++KVM uses YM3812 emulation by Tatsuyuki Satoh. + +-QEMU uses GUS emulation(GUSEMU32 @url{http://www.deinmeister.de/gusemu/}) ++KVM uses GUS emulation(GUSEMU32 @url{http://www.deinmeister.de/gusemu/}) + by Tibor "TS" Schütz. + + CS4231A is the chip used in Windows Sound System and GUSMAX products +@@ -204,7 +204,7 @@ CS4231A is the chip used in Windows Soun + Download and uncompress the linux image (@file{linux.img}) and type: + + @example +-qemu linux.img ++kvm linux.img + @end example + + Linux should boot and give you a prompt. +@@ -214,7 +214,7 @@ Linux should boot and give you a prompt. + + @example + @c man begin SYNOPSIS +-usage: qemu [options] [@var{disk_image}] ++usage: kvm [options] [@var{disk_image}] + @c man end + @end example + +@@ -278,53 +278,53 @@ an untrusted format header. + + Instead of @option{-cdrom} you can use: + @example +-qemu -drive file=file,index=2,media=cdrom ++kvm -drive file=file,index=2,media=cdrom + @end example + + Instead of @option{-hda}, @option{-hdb}, @option{-hdc}, @option{-hdd}, you can + use: + @example +-qemu -drive file=file,index=0,media=disk +-qemu -drive file=file,index=1,media=disk +-qemu -drive file=file,index=2,media=disk +-qemu -drive file=file,index=3,media=disk ++kvm -drive file=file,index=0,media=disk ++kvm -drive file=file,index=1,media=disk ++kvm -drive file=file,index=2,media=disk ++kvm -drive file=file,index=3,media=disk + @end example + + You can connect a CDROM to the slave of ide0: + @example +-qemu -drive file=file,if=ide,index=1,media=cdrom ++kvm -drive file=file,if=ide,index=1,media=cdrom + @end example + + If you don't specify the "file=" argument, you define an empty drive: + @example +-qemu -drive if=ide,index=1,media=cdrom ++kvm -drive if=ide,index=1,media=cdrom + @end example + + You can connect a SCSI disk with unit ID 6 on the bus #0: + @example +-qemu -drive file=file,if=scsi,bus=0,unit=6 ++kvm -drive file=file,if=scsi,bus=0,unit=6 + @end example + + To boot from a SCSI disk, one would use: + + @example +-qemu -drive file=file,if=scsi,boot=on ++kvm -drive file=file,if=scsi,boot=on + @end example + + Instead of @option{-fda}, @option{-fdb}, you can use: + @example +-qemu -drive file=file,index=0,if=floppy +-qemu -drive file=file,index=1,if=floppy ++kvm -drive file=file,index=0,if=floppy ++kvm -drive file=file,index=1,if=floppy + @end example + + By default, @var{interface} is "ide" and @var{index} is automatically + incremented: + @example +-qemu -drive file=a -drive file=b" ++kvm -drive file=a -drive file=b" + @end example + is interpreted like: + @example +-qemu -hda a -hdb b ++kvm -hda a -hdb b + @end example + + @item -boot [a|c|d|n] +@@ -361,11 +361,11 @@ Enable audio and selected sound hardware + available sound hardware. + + @example +-qemu -soundhw sb16,adlib hda +-qemu -soundhw es1370 hda +-qemu -soundhw ac97 hda +-qemu -soundhw all hda +-qemu -soundhw ? ++kvm -soundhw sb16,adlib hda ++kvm -soundhw es1370 hda ++kvm -soundhw ac97 hda ++kvm -soundhw all hda ++kvm -soundhw ? + @end example + + Note that Linux's i810_audio OSS kernel (for AC97) module might +@@ -386,13 +386,13 @@ Set the initial date of the real time cl + @code{2006-06-17}. The default value is @code{now}. + + @item -pidfile @var{file} +-Store the QEMU process PID in @var{file}. It is useful if you launch QEMU ++Store the KVM process PID in @var{file}. It is useful if you launch KVM + from a script. + + @item -daemonize +-Daemonize the QEMU process after initialization. QEMU will not detach from ++Daemonize the KVM process after initialization. KVM will not detach from + standard IO until it is ready to receive connections on any of its devices. +-This option is a useful way for external programs to launch QEMU without having ++This option is a useful way for external programs to launch KVM without having + to cope with initialization race conditions. + + @item -win2k-hack +@@ -416,22 +416,22 @@ Display options: + + @item -nographic + +-Normally, QEMU uses SDL to display the VGA output. With this option, +-you can totally disable graphical output so that QEMU is a simple ++Normally, KVM uses SDL to display the VGA output. With this option, ++you can totally disable graphical output so that KVM is a simple + command line application. The emulated serial port is redirected on +-the console. Therefore, you can still use QEMU to debug a Linux kernel ++the console. Therefore, you can still use KVM to debug a Linux kernel + with a serial console. + + @item -curses + +-Normally, QEMU uses SDL to display the VGA output. With this option, +-QEMU can display the VGA output when in text mode using a ++Normally, KVM uses SDL to display the VGA output. With this option, ++KVM can display the VGA output when in text mode using a + curses/ncurses interface. Nothing is displayed in graphical mode. + + @item -no-frame + + Do not use decorations for SDL windows and start them using the whole +-available screen space. This makes the using QEMU in a dedicated desktop ++available screen space. This makes the using KVM in a dedicated desktop + workspace more convenient. + + @item -no-quit +@@ -443,8 +443,8 @@ Start in full screen. + + @item -vnc @var{display}[,@var{option}[,@var{option}[,...]]] + +-Normally, QEMU uses SDL to display the VGA output. With this option, +-you can have QEMU listen on VNC display @var{display} and redirect the VGA ++Normally, KVM uses SDL to display the VGA output. With this option, ++you can have KVM listen on VNC display @var{display} and redirect the VGA + display over the VNC session. It is very useful to enable the usb + tablet device when using this option (option @option{-usbdevice + tablet}). When using the VNC display, you must use the @option{-k} +@@ -555,7 +555,7 @@ Virtual Mouse. This will override the PS + + @item tablet + Pointer device that uses absolute coordinates (like a touchscreen). This +-means qemu is able to report the mouse position without having to grab the ++means kvm is able to report the mouse position without having to grab the + mouse. Also overrides the PS/2 mouse emulation when activated. + + @item disk:file +@@ -604,51 +604,51 @@ hostname reported by the builtin DHCP se + @item -net tap[,vlan=@var{n}][,fd=@var{h}][,ifname=@var{name}][,script=@var{file}] + Connect the host TAP network interface @var{name} to VLAN @var{n} and + use the network script @var{file} to configure it. The default +-network script is @file{/etc/qemu-ifup}. Use @option{script=no} to ++network script is @file{/etc/kvm/kvm-ifup}. Use @option{script=no} to + disable script execution. If @var{name} is not + provided, the OS automatically provides one. @option{fd}=@var{h} can be + used to specify the handle of an already opened host TAP interface. Example: + + @example +-qemu linux.img -net nic -net tap ++kvm linux.img -net nic -net tap + @end example + + More complicated example (two NICs, each one connected to a TAP device) + @example +-qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \ ++kvm linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \ + -net nic,vlan=1 -net tap,vlan=1,ifname=tap1 + @end example + + + @item -net socket[,vlan=@var{n}][,fd=@var{h}][,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}] + +-Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual ++Connect the VLAN @var{n} to a remote VLAN in another KVM virtual + machine using a TCP socket connection. If @option{listen} is +-specified, QEMU waits for incoming connections on @var{port} ++specified, KVM waits for incoming connections on @var{port} + (@var{host} is optional). @option{connect} is used to connect to +-another QEMU instance using the @option{listen} option. @option{fd}=@var{h} ++another KVM instance using the @option{listen} option. @option{fd}=@var{h} + specifies an already opened TCP socket. + + Example: + @example +-# launch a first QEMU instance +-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \ ++# launch a first KVM instance ++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \ + -net socket,listen=:1234 + # connect the VLAN 0 of this instance to the VLAN 0 + # of the first instance +-qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \ ++kvm linux.img -net nic,macaddr=52:54:00:12:34:57 \ + -net socket,connect=127.0.0.1:1234 + @end example + + @item -net socket[,vlan=@var{n}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}] + +-Create a VLAN @var{n} shared with another QEMU virtual ++Create a VLAN @var{n} shared with another KVM virtual + machines using a UDP multicast socket, effectively making a bus for +-every QEMU with same multicast address @var{maddr} and @var{port}. ++every KVM with same multicast address @var{maddr} and @var{port}. + NOTES: + @enumerate + @item +-Several QEMU can be running on different hosts and share same bus (assuming ++Several KVM can be running on different hosts and share same bus (assuming + correct multicast setup for these hosts). + @item + mcast support is compatible with User Mode Linux (argument @option{eth@var{N}=mcast}), see +@@ -659,22 +659,22 @@ Use @option{fd=h} to specify an already + + Example: + @example +-# launch one QEMU instance +-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \ ++# launch one KVM instance ++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \ + -net socket,mcast=230.0.0.1:1234 +-# launch another QEMU instance on same "bus" +-qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \ ++# launch another KVM instance on same "bus" ++kvm linux.img -net nic,macaddr=52:54:00:12:34:57 \ + -net socket,mcast=230.0.0.1:1234 +-# launch yet another QEMU instance on same "bus" +-qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \ ++# launch yet another KVM instance on same "bus" ++kvm linux.img -net nic,macaddr=52:54:00:12:34:58 \ + -net socket,mcast=230.0.0.1:1234 + @end example + + Example (User Mode Linux compat.): + @example +-# launch QEMU instance (note mcast address selected ++# launch KVM instance (note mcast address selected + # is UML's default) +-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \ ++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \ + -net socket,mcast=239.192.168.1:1102 + # launch UML + /path/to/linux ubd0=/path/to/root_fs eth0=mcast +@@ -699,7 +699,7 @@ a guest from a local directory. + + Example (using pxelinux): + @example +-qemu -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0 ++kvm -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0 + @end example + + @item -smb @var{dir} +@@ -717,7 +717,7 @@ or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\L + Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}. + + Note that a SAMBA server must be installed on the host OS in +-@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd version ++@file{/usr/sbin/smbd}. KVM was tested successfully with smbd version + 2.2.7a from the Red Hat 9 and version 3.0.10-1.fc3 from Fedora Core 3. + + @item -redir [tcp|udp]:@var{host-port}:[@var{guest-host}]:@var{guest-port} +@@ -733,7 +733,7 @@ screen 0, use the following: + + @example + # on the host +-qemu -redir tcp:6001::6000 [...] ++kvm -redir tcp:6001::6000 [...] + # this host xterm should open in the guest X11 server + xterm -display :1 + @end example +@@ -743,7 +743,7 @@ the guest, use the following: + + @example + # on the host +-qemu -redir tcp:5555::23 [...] ++kvm -redir tcp:5555::23 [...] + telnet localhost 5555 + @end example + +@@ -820,19 +820,19 @@ they default to @code{0.0.0.0}. + When not using a specified @var{src_port} a random port is automatically chosen. + + If you just want a simple readonly console you can use @code{netcat} or +-@code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as: +-@code{nc -u -l -p 4555}. Any time qemu writes something to that port it ++@code{nc}, by starting kvm with: @code{-serial udp::4555} and nc as: ++@code{nc -u -l -p 4555}. Any time kvm writes something to that port it + will appear in the netconsole session. + + If you plan to send characters back via netconsole or you want to stop +-and start qemu a lot of times, you should have qemu use the same ++and start kvm a lot of times, you should have kvm use the same + source port each time by using something like @code{-serial +-udp::4555@@:4556} to qemu. Another approach is to use a patched ++udp::4555@@:4556} to kvm. Another approach is to use a patched + version of netcat which can listen to a TCP port and send and receive + characters via udp. If you have a patched version of netcat which + activates telnet remote echo and single char transfer, then you can + use the following options to step up a netcat redirector to allow +-telnet on port 5555 to access the qemu port. ++telnet on port 5555 to access the kvm port. + @table @code + @item Qemu Options: + -serial udp::4555@@:4556 +@@ -847,7 +847,7 @@ localhost 5555 + The TCP Net Console has two modes of operation. It can send the serial + I/O to a location or wait for a connection from a location. By default + the TCP Net Console is sent to @var{host} at the @var{port}. If you use +-the @var{server} option QEMU will wait for a client socket application ++the @var{server} option KVM will wait for a client socket application + to connect to the port before continuing, unless the @code{nowait} + option was specified. The @code{nodelay} option disables the Nagle buffering + algorithm. If @var{host} is omitted, 0.0.0.0 is assumed. Only +@@ -932,11 +932,11 @@ to specify a TCP port, or a host device + @item -S + Do not start CPU at startup (you must type 'c' in the monitor). + @item -d +-Output log in /tmp/qemu.log ++Output log in /tmp/kvm.log + @item -hdachs @var{c},@var{h},@var{s},[,@var{t}] + Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <= + @var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS +-translation mode (@var{t}=none, lba or auto). Usually QEMU can guess ++translation mode (@var{t}=none, lba or auto). Usually KVM can guess + all those parameters. This option is useful for old MS-DOS disk + images. + +@@ -958,7 +958,7 @@ only). + Exit instead of rebooting. + + @item -no-shutdown +-Don't exit QEMU on guest shutdown, but instead only stop the emulation. ++Don't exit KVM on guest shutdown, but instead only stop the emulation. + This allows for instance switching to monitor to commit changes to the + disk image. + +@@ -1040,7 +1040,7 @@ Send Ctrl-a + @ignore + + @c man begin SEEALSO +-The HTML documentation of QEMU for more precise information and Linux ++The HTML documentation of KVM for more precise information and Linux + user mode emulator invocation. + @c man end + +@@ -1051,9 +1051,9 @@ Fabrice Bellard + @end ignore + + @node pcsys_monitor +-@section QEMU Monitor ++@section KVM Monitor + +-The QEMU monitor is used to give complex commands to the QEMU ++The KVM monitor is used to give complex commands to the KVM + emulator. You can use it to: + + @itemize @minus +@@ -1123,7 +1123,7 @@ Change the configuration of a device. + Change the medium for a removable disk device to point to @var{filename}. eg + + @example +-(qemu) change ide1-cd0 /path/to/some.iso ++(kvm) change ide1-cd0 /path/to/some.iso + @end example + + @item change vnc @var{display},@var{options} +@@ -1131,7 +1131,7 @@ Change the configuration of the VNC serv + and @var{options} are described at @ref{sec_invocation}. eg + + @example +-(qemu) change vnc localhost:1 ++(kvm) change vnc localhost:1 + @end example + + @item change vnc password +@@ -1141,7 +1141,7 @@ the new password to be entered. VNC pass + eg. + + @example +-(qemu) change vnc password ++(kvm) change vnc password + Password: ******** + @end example + +@@ -1182,7 +1182,7 @@ info capture + @end example + + @item log @var{item1}[,...] +-Activate logging of the specified items to @file{/tmp/qemu.log}. ++Activate logging of the specified items to @file{/tmp/kvm.log}. + + @item savevm [@var{tag}|@var{id}] + Create a snapshot of the whole virtual machine. If @var{tag} is +@@ -1235,7 +1235,7 @@ Examples: + @item + Dump 10 instructions at the current instruction pointer: + @example +-(qemu) x/10i $eip ++(kvm) x/10i $eip + 0x90107063: ret + 0x90107064: sti + 0x90107065: lea 0x0(%esi,1),%esi +@@ -1251,7 +1251,7 @@ Dump 10 instructions at the current inst + @item + Dump 80 16 bit values at the start of the video memory. + @smallexample +-(qemu) xp/80hx 0xb8000 ++(kvm) xp/80hx 0xb8000 + 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 + 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 + 0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 +@@ -1300,7 +1300,7 @@ Add the USB device @var{devname}. For d + + @item usb_del @var{devname} + +-Remove the USB device @var{devname} from the QEMU virtual USB ++Remove the USB device @var{devname} from the KVM virtual USB + hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor + command @code{info usb} to see the devices you can remove. + +@@ -1315,7 +1315,7 @@ CPU registers by prefixing them with @em + @node disk_images + @section Disk Images + +-Since version 0.6.1, QEMU supports many disk image formats, including ++Since version 0.6.1, KVM supports many disk image formats, including + growable disk images (their size increase as non empty sectors are + written), compressed and encrypted disk images. Version 0.8.3 added + the new qcow2 disk image format which is essential to support VM +@@ -1325,8 +1325,8 @@ snapshots. + * disk_images_quickstart:: Quick start for disk image creation + * disk_images_snapshot_mode:: Snapshot mode + * vm_snapshots:: VM snapshots +-* qemu_img_invocation:: qemu-img Invocation +-* qemu_nbd_invocation:: qemu-nbd Invocation ++* qemu_img_invocation:: kvm-img Invocation ++* qemu_nbd_invocation:: kvm-nbd Invocation + * host_drives:: Using host drives + * disk_images_fat_images:: Virtual FAT disk images + * disk_images_nbd:: NBD access +@@ -1337,7 +1337,7 @@ snapshots. + + You can create a disk image with the command: + @example +-qemu-img create myimage.img mysize ++kvm-img create myimage.img mysize + @end example + where @var{myimage.img} is the disk image filename and @var{mysize} is its + size in kilobytes. You can add an @code{M} suffix to give the size in +@@ -1372,7 +1372,7 @@ a VM snapshot. @code{info snapshots} lis + with their associated information: + + @example +-(qemu) info snapshots ++(kvm) info snapshots + Snapshot devices: hda + Snapshot list (from hda): + ID TAG VM SIZE DATE VM CLOCK +@@ -1393,7 +1393,7 @@ disk images). + + When using the (unrelated) @code{-snapshot} option + (@ref{disk_images_snapshot_mode}), you can always make VM snapshots, +-but they are deleted as soon as you exit QEMU. ++but they are deleted as soon as you exit KVM. + + VM snapshots currently have the following known limitations: + @itemize +@@ -1406,20 +1406,20 @@ state is not saved or restored properly + @end itemize + + @node qemu_img_invocation +-@subsection @code{qemu-img} Invocation ++@subsection @code{kvm-img} Invocation + + @include qemu-img.texi + + @node qemu_nbd_invocation +-@subsection @code{qemu-nbd} Invocation ++@subsection @code{kvm-nbd} Invocation + + @include qemu-nbd.texi + + @node host_drives + @subsection Using host drives + +-In addition to disk image files, QEMU can directly access host +-devices. We describe here the usage for QEMU version >= 0.8.3. ++In addition to disk image files, KVM can directly access host ++devices. We describe here the usage for KVM version >= 0.8.3. + + @subsubsection Linux + +@@ -1430,7 +1430,7 @@ it. For example, use @file{/dev/cdrom} t + + @table @code + @item CD +-You can specify a CDROM device even if no CDROM is loaded. QEMU has ++You can specify a CDROM device even if no CDROM is loaded. KVM has + specific code to detect CDROM insertion or removal. CDROM ejection by + the guest OS is supported. Currently only data CDs are supported. + @item Floppy +@@ -1480,11 +1480,11 @@ change or eject media. + @node disk_images_fat_images + @subsection Virtual FAT disk images + +-QEMU can automatically create a virtual FAT disk image from a ++KVM can automatically create a virtual FAT disk image from a + directory tree. In order to use it, just type: + + @example +-qemu linux.img -hdb fat:/my_directory ++kvm linux.img -hdb fat:/my_directory + @end example + + Then you access access to all the files in the @file{/my_directory} +@@ -1494,14 +1494,14 @@ them via SAMBA or NFS. The default acces + Floppies can be emulated with the @code{:floppy:} option: + + @example +-qemu linux.img -fda fat:floppy:/my_directory ++kvm linux.img -fda fat:floppy:/my_directory + @end example + + A read/write support is available for testing (beta stage) with the + @code{:rw:} option: + + @example +-qemu linux.img -fda fat:floppy:rw:/my_directory ++kvm linux.img -fda fat:floppy:rw:/my_directory + @end example + + What you should @emph{never} do: +@@ -1515,67 +1515,67 @@ What you should @emph{never} do: + @node disk_images_nbd + @subsection NBD access + +-QEMU can access directly to block device exported using the Network Block Device ++KVM can access directly to block device exported using the Network Block Device + protocol. + + @example +-qemu linux.img -hdb nbd:my_nbd_server.mydomain.org:1024 ++kvm linux.img -hdb nbd:my_nbd_server.mydomain.org:1024 + @end example + + If the NBD server is located on the same host, you can use an unix socket instead + of an inet socket: + + @example +-qemu linux.img -hdb nbd:unix:/tmp/my_socket ++kvm linux.img -hdb nbd:unix:/tmp/my_socket + @end example + +-In this case, the block device must be exported using qemu-nbd: ++In this case, the block device must be exported using kvm-nbd: + + @example +-qemu-nbd --socket=/tmp/my_socket my_disk.qcow2 ++kvm-nbd --socket=/tmp/my_socket my_disk.qcow2 + @end example + +-The use of qemu-nbd allows to share a disk between several guests: ++The use of kvm-nbd allows to share a disk between several guests: + @example +-qemu-nbd --socket=/tmp/my_socket --share=2 my_disk.qcow2 ++kvm-nbd --socket=/tmp/my_socket --share=2 my_disk.qcow2 + @end example + + and then you can use it with two guests: + @example +-qemu linux1.img -hdb nbd:unix:/tmp/my_socket +-qemu linux2.img -hdb nbd:unix:/tmp/my_socket ++kvm linux1.img -hdb nbd:unix:/tmp/my_socket ++kvm linux2.img -hdb nbd:unix:/tmp/my_socket + @end example + + @node pcsys_network + @section Network emulation + +-QEMU can simulate several network cards (PCI or ISA cards on the PC ++KVM can simulate several network cards (PCI or ISA cards on the PC + target) and can connect them to an arbitrary number of Virtual Local +-Area Networks (VLANs). Host TAP devices can be connected to any QEMU +-VLAN. VLAN can be connected between separate instances of QEMU to ++Area Networks (VLANs). Host TAP devices can be connected to any KVM ++VLAN. VLAN can be connected between separate instances of KVM to + simulate large networks. For simpler usage, a non privileged user mode + network stack can replace the TAP device to have a basic network + connection. + + @subsection VLANs + +-QEMU simulates several VLANs. A VLAN can be symbolised as a virtual ++KVM simulates several VLANs. A VLAN can be symbolised as a virtual + connection between several network devices. These devices can be for +-example QEMU virtual Ethernet cards or virtual Host ethernet devices ++example KVM virtual Ethernet cards or virtual Host ethernet devices + (TAP devices). + + @subsection Using TAP network interfaces + +-This is the standard way to connect QEMU to a real network. QEMU adds ++This is the standard way to connect KVM to a real network. KVM adds + a virtual network device on your host (called @code{tapN}), and you + can then configure it as if it was a real ethernet card. + + @subsubsection Linux host + + As an example, you can download the @file{linux-test-xxx.tar.gz} +-archive and copy the script @file{qemu-ifup} in @file{/etc} and ++archive and copy the script @file{kvm-ifup} in @file{/etc/kvm} and + configure properly @code{sudo} so that the command @code{ifconfig} +-contained in @file{qemu-ifup} can be executed as root. You must verify ++contained in @file{kvm-ifup} can be executed as root. You must verify + that your host kernel supports the TAP network interfaces: the + device @file{/dev/net/tun} must be present. + +@@ -1585,20 +1585,20 @@ TAP network interfaces. + @subsubsection Windows host + + There is a virtual ethernet driver for Windows 2000/XP systems, called +-TAP-Win32. But it is not included in standard QEMU for Windows, ++TAP-Win32. But it is not included in standard KVM for Windows, + so you will need to get it separately. It is part of OpenVPN package, + so download OpenVPN from : @url{http://openvpn.net/}. + + @subsection Using the user mode network stack + + By using the option @option{-net user} (default configuration if no +-@option{-net} option is specified), QEMU uses a completely user mode ++@option{-net} option is specified), KVM uses a completely user mode + network stack (you don't need root privilege to use the virtual + network). The virtual network configuration is the following: + + @example + +- QEMU VLAN <------> Firewall/DHCP server <-----> Internet ++ KVM VLAN <------> Firewall/DHCP server <-----> Internet + | (10.0.2.2) + | + ----> DNS server (10.0.2.3) +@@ -1606,14 +1606,14 @@ network). The virtual network configurat + ----> SMB server (10.0.2.4) + @end example + +-The QEMU VM behaves as if it was behind a firewall which blocks all ++The KVM VM behaves as if it was behind a firewall which blocks all + incoming connections. You can use a DHCP client to automatically +-configure the network in the QEMU VM. The DHCP server assign addresses ++configure the network in the KVM VM. The DHCP server assign addresses + to the hosts starting from 10.0.2.15. + + In order to check that the user mode network is working, you can ping + the address 10.0.2.2 and verify that you got an address in the range +-10.0.2.x from the QEMU virtual DHCP server. ++10.0.2.x from the KVM virtual DHCP server. + + Note that @code{ping} is not supported reliably to the internet as it + would require root privileges. It means you can only ping the local +@@ -1626,22 +1626,22 @@ When using the @option{-redir} option, T + redirected from the host to the guest. It allows for example to + redirect X11, telnet or SSH connections. + +-@subsection Connecting VLANs between QEMU instances ++@subsection Connecting VLANs between KVM instances + + Using the @option{-net socket} option, it is possible to make VLANs +-that span several QEMU instances. See @ref{sec_invocation} to have a ++that span several KVM instances. See @ref{sec_invocation} to have a + basic example. + + @node direct_linux_boot + @section Direct Linux Boot + +-This section explains how to launch a Linux kernel inside QEMU without ++This section explains how to launch a Linux kernel inside KVM without + having to make a full bootable image. It is very useful for fast Linux + kernel testing. + + The syntax is: + @example +-qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda" ++kvm -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda" + @end example + + Use @option{-kernel} to provide the Linux kernel image and +@@ -1653,10 +1653,10 @@ When using the direct Linux boot, a disk + Linux kernel. + + If you do not need graphical output, you can disable it and redirect +-the virtual serial port and the QEMU monitor to the console with the ++the virtual serial port and the KVM monitor to the console with the + @option{-nographic} option. The typical command line is: + @example +-qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ ++kvm -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ + -append "root=/dev/hda console=ttyS0" -nographic + @end example + +@@ -1666,7 +1666,7 @@ monitor (@pxref{pcsys_keys}). + @node pcsys_usb + @section USB emulation + +-QEMU emulates a PCI UHCI USB controller. You can virtually plug ++KVM emulates a PCI UHCI USB controller. You can virtually plug + virtual USB devices or real host USB devices (experimental, works only + on Linux hosts). Qemu will automatically create and connect virtual USB hubs + as necessary to connect multiple USB devices. +@@ -1686,7 +1686,7 @@ or the @code{usb_add} monitor command. + Virtual Mouse. This will override the PS/2 mouse emulation when activated. + @item tablet + Pointer device that uses absolute coordinates (like a touchscreen). +-This means qemu is able to report the mouse position without having ++This means kvm is able to report the mouse position without having + to grab the mouse. Also overrides the PS/2 mouse emulation when activated. + @item disk:@var{file} + Mass storage device based on @var{file} (@pxref{disk_images}) +@@ -1720,7 +1720,7 @@ or fake device. + @node host_usb_devices + @subsection Using host USB devices on a Linux host + +-WARNING: this is an experimental feature. QEMU will slow down when ++WARNING: this is an experimental feature. KVM will slow down when + using it. USB devices requiring real time streaming (i.e. USB Video + Cameras) are not supported yet. + +@@ -1736,12 +1736,12 @@ ls /proc/bus/usb + 001 devices drivers + @end example + +-@item Since only root can access to the USB devices directly, you can either launch QEMU as root or change the permissions of the USB devices you want to use. For testing, the following suffices: ++@item Since only root can access to the USB devices directly, you can either launch KVM as root or change the permissions of the USB devices you want to use. For testing, the following suffices: + @example + chown -R myuid /proc/bus/usb + @end example + +-@item Launch QEMU and do in the monitor: ++@item Launch KVM and do in the monitor: + @example + info usbhost + Device 1.2, speed 480 Mb/s +@@ -1750,7 +1750,7 @@ info usbhost + You should see the list of the devices you can use (Never try to use + hubs, it won't work). + +-@item Add the device in QEMU by using: ++@item Add the device in KVM by using: + @example + usb_add host:1234:5678 + @end example +@@ -1758,11 +1758,11 @@ usb_add host:1234:5678 + Normally the guest OS should report that a new USB device is + plugged. You can use the option @option{-usbdevice} to do the same. + +-@item Now you can try to use the host USB device in QEMU. ++@item Now you can try to use the host USB device in KVM. + + @end enumerate + +-When relaunching QEMU, you may have to unplug and plug again the USB ++When relaunching KVM, you may have to unplug and plug again the USB + device to make it work again (this is a bug). + + @node vnc_security +@@ -1788,7 +1788,7 @@ For this setup it is recommended to rest + socket only. For example + + @example +-qemu [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc ++kvm [...OPTIONS...] -vnc unix:/home/joebloggs/.kvm-myvm-vnc + @end example + + This ensures that only users on local box with read/write access to that +@@ -1805,20 +1805,20 @@ to provide high security. The password c + a client making repeat connections. For this reason, a VNC server using password + authentication should be restricted to only listen on the loopback interface + or UNIX domain sockets. Password ayuthentication is requested with the @code{password} +-option, and then once QEMU is running the password is set with the monitor. Until ++option, and then once KVM is running the password is set with the monitor. Until + the monitor is used to set the password all clients will be rejected. + + @example +-qemu [...OPTIONS...] -vnc :1,password -monitor stdio +-(qemu) change vnc password ++kvm [...OPTIONS...] -vnc :1,password -monitor stdio ++(kvm) change vnc password + Password: ******** +-(qemu) ++(kvm) + @end example + + @node vnc_sec_certificate + @subsection With x509 certificates + +-The QEMU VNC server also implements the VeNCrypt extension allowing use of ++The KVM VNC server also implements the VeNCrypt extension allowing use of + TLS for encryption of the session, and x509 certificates for authentication. + The use of x509 certificates is strongly recommended, because TLS on its + own is susceptible to man-in-the-middle attacks. Basic x509 certificate +@@ -1826,12 +1826,12 @@ support provides a secure session, but n + client to connect, and provides an encrypted session. + + @example +-qemu [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio ++kvm [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/kvm -monitor stdio + @end example + +-In the above example @code{/etc/pki/qemu} should contain at least three files, ++In the above example @code{/etc/pki/kvm} should contain at least three files, + @code{ca-cert.pem}, @code{server-cert.pem} and @code{server-key.pem}. Unprivileged +-users will want to use a private directory, for example @code{$HOME/.pki/qemu}. ++users will want to use a private directory, for example @code{$HOME/.pki/kvm}. + NB the @code{server-key.pem} file should be protected with file mode 0600 to + only be readable by the user owning it. + +@@ -1844,7 +1844,7 @@ then validate against the CA certificate + in an environment with a private internal certificate authority. + + @example +-qemu [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio ++kvm [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/kvm -monitor stdio + @end example + + +@@ -1855,10 +1855,10 @@ Finally, the previous method can be comb + to provide two layers of authentication for clients. + + @example +-qemu [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio +-(qemu) change vnc password ++kvm [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/kvm -monitor stdio ++(kvm) change vnc password + Password: ******** +-(qemu) ++(kvm) + @end example + + @node vnc_generate_cert +@@ -1869,8 +1869,8 @@ be used to generate certificates and key + is neccessary to setup a certificate authority, and issue certificates to + each server. If using certificates for authentication, then each client + will also need to be issued a certificate. The recommendation is for the +-server to keep its certificates in either @code{/etc/pki/qemu} or for +-unprivileged users in @code{$HOME/.pki/qemu}. ++server to keep its certificates in either @code{/etc/pki/kvm} or for ++unprivileged users in @code{$HOME/.pki/kvm}. + + @menu + * vnc_generate_ca:: +@@ -1943,7 +1943,7 @@ sensitive and should be kept protected w + @node vnc_generate_client + @subsubsection Issuing client certificates + +-If the QEMU VNC server is to use the @code{x509verify} option to validate client ++If the KVM VNC server is to use the @code{x509verify} option to validate client + certificates as its authentication mechanism, each client also needs to be issued + a certificate. The client certificate contains enough metadata to uniquely identify + the client, typically organization, state, city, building, etc. On the host holding +@@ -1975,13 +1975,13 @@ copied to the client for which they were + @node gdb_usage + @section GDB usage + +-QEMU has a primitive support to work with gdb, so that you can do ++KVM has a primitive support to work with gdb, so that you can do + 'Ctrl-C' while the virtual machine is running and inspect its state. + +-In order to use gdb, launch qemu with the '-s' option. It will wait for a ++In order to use gdb, launch kvm with the '-s' option. It will wait for a + gdb connection: + @example +-> qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ ++> kvm -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ + -append "root=/dev/hda" + Connected to host network interface: tun0 + Waiting gdb connection on port 1234 +@@ -1992,7 +1992,7 @@ Then launch gdb on the 'vmlinux' executa + > gdb vmlinux + @end example + +-In gdb, connect to QEMU: ++In gdb, connect to KVM: + @example + (gdb) target remote localhost:1234 + @end example +@@ -2055,11 +2055,11 @@ color depth in the guest and the host OS + + When using a 2.6 guest Linux kernel, you should add the option + @code{clock=pit} on the kernel command line because the 2.6 Linux +-kernels make very strict real time clock checks by default that QEMU ++kernels make very strict real time clock checks by default that KVM + cannot simulate exactly. + + When using a 2.6 guest Linux kernel, verify that the 4G/4G patch is +-not activated because QEMU is slower with this patch. The QEMU ++not activated because KVM is slower with this patch. The KVM + Accelerator Module is also much slower in this case. Earlier Fedora + Core 3 Linux kernel (< 2.6.9-1.724_FC3) were known to incorporate this + patch by default. Newer kernels don't have it. +@@ -2071,7 +2071,7 @@ best speed. Windows 2000 is also a good + + @subsubsection SVGA graphic modes support + +-QEMU emulates a Cirrus Logic GD5446 Video ++KVM emulates a Cirrus Logic GD5446 Video + card. All Windows versions starting from Windows 95 should recognize + and use this graphic card. For optimal performances, use 16 bit color + depth in the guest and the host OS. +@@ -2092,14 +2092,14 @@ problem. Note that no such tool is neede + @subsubsection Windows 2000 disk full problem + + Windows 2000 has a bug which gives a disk full problem during its +-installation. When installing it, use the @option{-win2k-hack} QEMU ++installation. When installing it, use the @option{-win2k-hack} KVM + option to enable a specific workaround. After Windows 2000 is + installed, you no longer need this option (this option slows down the + IDE transfers). + + @subsubsection Windows 2000 shutdown + +-Windows 2000 cannot automatically shutdown in QEMU although Windows 98 ++Windows 2000 cannot automatically shutdown in KVM although Windows 98 + can. It comes from the fact that Windows 2000 does not automatically + use the APM driver provided by the BIOS. + +@@ -2108,7 +2108,7 @@ Bartlett): go to the Control Panel => Ad + Add/Troubleshoot a device => Add a new device & Next => No, select the + hardware from a list & Next => NT Apm/Legacy Support & Next => Next + (again) a few times. Now the driver is installed and Windows 2000 now +-correctly instructs QEMU to shutdown at the appropriate moment. ++correctly instructs KVM to shutdown at the appropriate moment. + + @subsubsection Share a directory between Unix and Windows + +@@ -2138,15 +2138,15 @@ it takes host CPU cycles even when idle. + from @url{http://www.vmware.com/software/dosidle210.zip} to solve this + problem. + +-@node QEMU System emulator for non PC targets +-@chapter QEMU System emulator for non PC targets ++@node KVM System emulator for non PC targets ++@chapter KVM System emulator for non PC targets + +-QEMU is a generic emulator and it emulates many non PC ++KVM is a generic emulator and it emulates many non PC + machines. Most of the options are similar to the PC emulator. The + differences are mentioned in the following sections. + + @menu +-* QEMU PowerPC System emulator:: ++* KVM PowerPC System emulator:: + * Sparc32 System emulator:: + * Sparc64 System emulator:: + * MIPS System emulator:: +@@ -2154,13 +2154,13 @@ differences are mentioned in the followi + * ColdFire System emulator:: + @end menu + +-@node QEMU PowerPC System emulator +-@section QEMU PowerPC System emulator ++@node KVM PowerPC System emulator ++@section KVM PowerPC System emulator + + Use the executable @file{qemu-system-ppc} to simulate a complete PREP + or PowerMac PowerPC system. + +-QEMU emulates the following PowerMac peripherals: ++KVM emulates the following PowerMac peripherals: + + @itemize @minus + @item +@@ -2177,7 +2177,7 @@ Non Volatile RAM + VIA-CUDA with ADB keyboard and mouse. + @end itemize + +-QEMU emulates the following PREP peripherals: ++KVM emulates the following PREP peripherals: + + @itemize @minus + @item +@@ -2198,7 +2198,7 @@ PREP Non Volatile RAM + PC compatible keyboard and mouse. + @end itemize + +-QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at ++KVM uses the Open Hack'Ware Open Firmware Compatible BIOS available at + @url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}. + + @c man begin OPTIONS +@@ -2229,7 +2229,7 @@ or SPARCcenter 2000 (sun4d architecture) + complete. SMP up to 16 CPUs is supported, but Linux limits the number + of usable CPUs to 4. + +-QEMU emulates the following sun4m/sun4d peripherals: ++KVM emulates the following sun4m/sun4d peripherals: + + @itemize @minus + @item +@@ -2255,13 +2255,13 @@ The number of peripherals is fixed in th + memory size depends on the machine type, for SS-5 it is 256MB and for + others 2047MB. + +-Since version 0.8.2, QEMU uses OpenBIOS ++Since version 0.8.2, KVM uses OpenBIOS + @url{http://www.openbios.org/}. OpenBIOS is a free (GPL v2) portable + firmware implementation. The goal is to implement a 100% IEEE + 1275-1994 (referred to as Open Firmware) compliant firmware. + + A sample Linux 2.6 series kernel and ram disk image are available on +-the QEMU web site. Please note that currently NetBSD, OpenBSD or ++the KVM web site. Please note that currently NetBSD, OpenBSD or + Solaris kernels don't work. + + @c man begin OPTIONS +@@ -2298,7 +2298,7 @@ Set the emulated machine type. Default i + Use the executable @file{qemu-system-sparc64} to simulate a Sun4u machine. + The emulator is not usable for anything yet. + +-QEMU emulates the following sun4u peripherals: ++KVM emulates the following sun4u peripherals: + + @itemize @minus + @item +@@ -2616,8 +2616,8 @@ MV88W8618 audio controller, WM8750 CODEC + 2 buttons, 2 navigation wheels with button function + @end itemize + +-A Linux 2.6 test image is available on the QEMU web site. More +-information is available in the QEMU mailing-list archive. ++A Linux 2.6 test image is available on the KVM web site. More ++information is available in the KVM mailing-list archive. + + @node ColdFire System emulator + @section ColdFire System emulator +@@ -2645,8 +2645,8 @@ MCF5206 ColdFire V2 Microprocessor. + Two on-chip UARTs. + @end itemize + +-@node QEMU User space emulator +-@chapter QEMU User space emulator ++@node KVM User space emulator ++@chapter KVM User space emulator + + @menu + * Supported Operating Systems :: +@@ -2661,9 +2661,9 @@ The following OS are supported in user s + + @itemize @minus + @item +-Linux (referred as qemu-linux-user) ++Linux (referred as kvm-linux-user) + @item +-Mac OS X/Darwin (referred as qemu-darwin-user) ++Mac OS X/Darwin (referred as kvm-darwin-user) + @end itemize + + @node Linux User space emulator +@@ -2679,7 +2679,7 @@ Mac OS X/Darwin (referred as qemu-darwin + @node Quick Start + @subsection Quick Start + +-In order to launch a Linux process, QEMU needs the process executable ++In order to launch a Linux process, KVM needs the process executable + itself and all the target (x86) dynamic libraries used by it. + + @itemize +@@ -2688,21 +2688,21 @@ itself and all the target (x86) dynamic + libraries: + + @example +-qemu-i386 -L / /bin/ls ++kvm -L / /bin/ls + @end example + + @code{-L /} tells that the x86 dynamic linker must be searched with a + @file{/} prefix. + +-@item Since QEMU is also a linux process, you can launch qemu with +-qemu (NOTE: you can only do that if you compiled QEMU from the sources): ++@item Since KVM is also a linux process, you can launch qemu with ++kvm (NOTE: you can only do that if you compiled KVM from the sources): + + @example +-qemu-i386 -L / qemu-i386 -L / /bin/ls ++kvm -L / qemu-i386 -L / /bin/ls + @end example + + @item On non x86 CPUs, you need first to download at least an x86 glibc +-(@file{qemu-runtime-i386-XXX-.tar.gz} on the QEMU web page). Ensure that ++(@file{qemu-runtime-i386-XXX-.tar.gz} on the KVM web page). Ensure that + @code{LD_LIBRARY_PATH} is not set: + + @example +@@ -2712,16 +2712,16 @@ unset LD_LIBRARY_PATH + Then you can launch the precompiled @file{ls} x86 executable: + + @example +-qemu-i386 tests/i386/ls ++kvm tests/i386/ls + @end example + You can look at @file{qemu-binfmt-conf.sh} so that +-QEMU is automatically launched by the Linux kernel when you try to ++KVM is automatically launched by the Linux kernel when you try to + launch x86 executables. It requires the @code{binfmt_misc} module in the + Linux kernel. + +-@item The x86 version of QEMU is also included. You can try weird things such as: ++@item The x86 version of KVM is also included. You can try weird things such as: + @example +-qemu-i386 /usr/local/qemu-i386/bin/qemu-i386 \ ++kvm /usr/local/qemu-i386/bin/qemu-i386 \ + /usr/local/qemu-i386/bin/ls-i386 + @end example + +@@ -2732,16 +2732,16 @@ qemu-i386 /usr/local/qemu-i386/bin/qemu- + + @itemize + +-@item Ensure that you have a working QEMU with the x86 glibc ++@item Ensure that you have a working KVM with the x86 glibc + distribution (see previous section). In order to verify it, you must be + able to do: + + @example +-qemu-i386 /usr/local/qemu-i386/bin/ls-i386 ++kvm /usr/local/qemu-i386/bin/ls-i386 + @end example + + @item Download the binary x86 Wine install +-(@file{qemu-XXX-i386-wine.tar.gz} on the QEMU web page). ++(@file{qemu-XXX-i386-wine.tar.gz} on the KVM web page). + + @item Configure Wine on your account. Look at the provided script + @file{/usr/local/qemu-i386/@/bin/wine-conf.sh}. Your previous +@@ -2750,7 +2750,7 @@ qemu-i386 /usr/local/qemu-i386/bin/ls-i3 + @item Then you can try the example @file{putty.exe}: + + @example +-qemu-i386 /usr/local/qemu-i386/wine/bin/wine \ ++kvm /usr/local/qemu-i386/wine/bin/wine \ + /usr/local/qemu-i386/wine/c/Program\ Files/putty.exe + @end example + +@@ -2760,7 +2760,7 @@ qemu-i386 /usr/local/qemu-i386/wine/bin/ + @subsection Command line options + + @example +-usage: qemu-i386 [-h] [-d] [-L path] [-s size] program [arguments...] ++usage: kvm [-h] [-d] [-L path] [-s size] program [arguments...] + @end example + + @table @option +@@ -2776,7 +2776,7 @@ Debug options: + + @table @option + @item -d +-Activate log (logfile=/tmp/qemu.log) ++Activate log (logfile=/tmp/kvm.log) + @item -p pagesize + Act as if the host page size was 'pagesize' bytes + @end table +@@ -2784,7 +2784,7 @@ Act as if the host page size was 'pagesi + Environment variables: + + @table @env +-@item QEMU_STRACE ++@item KVM_STRACE + Print system calls and arguments similar to the 'strace' program + (NOTE: the actual 'strace' program will not work because the user + space emulator hasn't implemented ptrace). At the moment this is +@@ -2835,12 +2835,12 @@ target PowerPC on PowerPC: Most apps (Co + target x86 on PowerPC: most utilities work. Cocoa and Carbon apps are not yet supported. + @end itemize + +-[1] If you're host commpage can be executed by qemu. ++[1] If you're host commpage can be executed by kvm. + + @node Mac OS X/Darwin Quick Start + @subsection Quick Start + +-In order to launch a Mac OS X/Darwin process, QEMU needs the process executable ++In order to launch a Mac OS X/Darwin process, KVM needs the process executable + itself and all the target dynamic libraries used by it. If you don't have the FAT + libraries (you're running Mac OS X/ppc) you'll need to obtain it from a Mac OS X + CD or compile them by hand. +@@ -2851,7 +2851,7 @@ CD or compile them by hand. + libraries: + + @example +-qemu-i386 /bin/ls ++kvm /bin/ls + @end example + + or to run the ppc version of the executable: +@@ -2864,7 +2864,7 @@ qemu-ppc /bin/ls + are installed: + + @example +-qemu-i386 -L /opt/x86_root/ /bin/ls ++kvm -L /opt/x86_root/ /bin/ls + @end example + + @code{-L /opt/x86_root/} tells that the dynamic linker (dyld) path is in +@@ -2876,7 +2876,7 @@ qemu-i386 -L /opt/x86_root/ /bin/ls + @subsection Command line options + + @example +-usage: qemu-i386 [-h] [-d] [-L path] [-s size] program [arguments...] ++usage: kvm [-h] [-d] [-L path] [-s size] program [arguments...] + @end example + + @table @option +@@ -2892,7 +2892,7 @@ Debug options: + + @table @option + @item -d +-Activate log (logfile=/tmp/qemu.log) ++Activate log (logfile=/tmp/kvm.log) + @item -p pagesize + Act as if the host page size was 'pagesize' bytes + @end table +@@ -2915,11 +2915,11 @@ Act as if the host page size was 'pagesi + First you must decompress the sources: + @example + cd /tmp +-tar zxvf qemu-x.y.z.tar.gz +-cd qemu-x.y.z ++tar zxvf kvm-x.y.z.tar.gz ++cd kvm-x.y.z + @end example + +-Then you configure QEMU and build it (usually no options are needed): ++Then you configure KVM and build it (usually no options are needed): + @example + ./configure + make +@@ -2929,16 +2929,16 @@ Then type as root user: + @example + make install + @end example +-to install QEMU in @file{/usr/local}. ++to install KVM in @file{/usr/local}. + + @subsection GCC version + +-In order to compile QEMU successfully, it is very important that you ++In order to compile KVM successfully, it is very important that you + have the right tools. The most important one is gcc. On most hosts and + in particular on x86 ones, @emph{gcc 4.x is not supported}. If your + Linux distribution includes a gcc 4.x compiler, you can usually + install an older version (it is invoked by @code{gcc32} or +-@code{gcc34}). The QEMU configure script automatically probes for ++@code{gcc34}). The KVM configure script automatically probes for + these older versions so that usually you don't have to do anything. + + @node Windows +@@ -2957,15 +2957,15 @@ unpack the archive @file{i386-mingw32msv + directory. Edit the @file{sdl-config} script so that it gives the + correct SDL directory when invoked. + +-@item Extract the current version of QEMU. ++@item Extract the current version of KVM. + + @item Start the MSYS shell (file @file{msys.bat}). + +-@item Change to the QEMU directory. Launch @file{./configure} and ++@item Change to the KVM directory. Launch @file{./configure} and + @file{make}. If you have problems using SDL, verify that + @file{sdl-config} can be launched from the MSYS command line. + +-@item You can install QEMU in @file{Program Files/Qemu} by typing ++@item You can install KVM in @file{Program Files/Qemu} by typing + @file{make install}. Don't forget to copy @file{SDL.dll} in + @file{Program Files/Qemu}. + +@@ -2983,10 +2983,10 @@ Install the MinGW cross compilation tool + Install the Win32 version of SDL (@url{http://www.libsdl.org}) by + unpacking @file{i386-mingw32msvc.tar.gz}. Set up the PATH environment + variable so that @file{i386-mingw32msvc-sdl-config} can be launched by +-the QEMU configuration script. ++the KVM configuration script. + + @item +-Configure QEMU for Windows cross compilation: ++Configure KVM for Windows cross compilation: + @example + ./configure --enable-mingw32 + @end example +@@ -2994,20 +2994,20 @@ If necessary, you can change the cross-p + chosen for the MinGW tools with --cross-prefix. You can also use + --prefix to set the Win32 install path. + +-@item You can install QEMU in the installation directory by typing ++@item You can install KVM in the installation directory by typing + @file{make install}. Don't forget to copy @file{SDL.dll} in the + installation directory. + + @end itemize + + Note: Currently, Wine does not seem able to launch +-QEMU for Win32. ++KVM for Win32. + + @node Mac OS X + @section Mac OS X + +-The Mac OS X patches are not fully merged in QEMU, so you should look +-at the QEMU mailing list archive to have all the necessary ++The Mac OS X patches are not fully merged in KVM, so you should look ++at the KVM mailing list archive to have all the necessary + information. + + @node Index +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN kvm-71.orig/qemu/qemu-img.texi kvm-71/qemu/qemu-img.texi +--- kvm-71.orig/qemu/qemu-img.texi 2008-07-10 09:20:48.000000000 -0400 ++++ kvm-71/qemu/qemu-img.texi 2008-07-15 12:18:00.000000000 -0400 +@@ -1,6 +1,6 @@ + @example + @c man begin SYNOPSIS +-usage: qemu-img command [command options] ++usage: kvm-img command [command options] + @c man end + @end example + +@@ -36,7 +36,7 @@ Raw disk image format (default). This fo + being simple and easily exportable to all other emulators. If your + file system supports @emph{holes} (for example in ext2 or ext3 on + Linux or NTFS on Windows), then only the written sectors will reserve +-space. Use @code{qemu-img info} to know the real size used by the ++space. Use @code{kvm-img info} to know the real size used by the + image or @code{ls -ls} on Unix/Linux. + + @item qcow2 +@@ -122,10 +122,10 @@ they are displayed too. + @ignore + + @setfilename qemu-img +-@settitle QEMU disk image utility ++@settitle KVM disk image utility + + @c man begin SEEALSO +-The HTML documentation of QEMU for more precise information and Linux ++The HTML documentation of KVM for more precise information and Linux + user mode emulator invocation. + @c man end + +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN kvm-71.orig/qemu/qemu-nbd.texi kvm-71/qemu/qemu-nbd.texi +--- kvm-71.orig/qemu/qemu-nbd.texi 2008-07-10 09:20:48.000000000 -0400 ++++ kvm-71/qemu/qemu-nbd.texi 2008-07-15 12:18:19.000000000 -0400 +@@ -1,6 +1,6 @@ + @example + @c man begin SYNOPSIS +-usage: qemu-nbd [OPTION]... @var{filename} ++usage: kvm-nbd [OPTION]... @var{filename} + @c man end + @end example + +@@ -51,7 +51,7 @@ Export Qemu disk image using NBD protoco + @ignore + + @setfilename qemu-nbd +-@settitle QEMU Disk Network Block Device Server ++@settitle KVM Disk Network Block Device Server + + @c man begin AUTHOR + Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>. +@@ -60,7 +60,7 @@ warranty; not even for MERCHANTABILITY o + @c man end + + @c man begin SEEALSO +-qemu-img(1) ++kvm-img(1) + @c man end + + @end ignore diff --git a/app-emulation/kvm/kvm-70-r1.ebuild b/app-emulation/kvm/kvm-70-r1.ebuild index 0060943baddd..1992e92fa3ec 100644 --- a/app-emulation/kvm/kvm-70-r1.ebuild +++ b/app-emulation/kvm/kvm-70-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-70-r1.ebuild,v 1.1 2008/07/14 12:55:37 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-70-r1.ebuild,v 1.2 2008/07/15 18:13:12 dang Exp $ inherit eutils flag-o-matic toolchain-funcs linux-mod @@ -80,7 +80,6 @@ src_unpack() { "${FILESDIR}"/kvm-45-qemu-configure.patch \ "${FILESDIR}"/kvm-61-qemu-kvm.patch \ "${FILESDIR}"/kvm-57-qemu-kvm-cmdline.patch \ - "${FILESDIR}"/kvm-48-kvm.patch \ "${FILESDIR}"/kvm-57-kernel-longmode.patch \ "${FILESDIR}"/kvm-68-libkvm-no-kernel.patch \ "${FILESDIR}"/kvm-69-qemu-no-blobs.patch \ diff --git a/app-emulation/kvm/kvm-70.ebuild b/app-emulation/kvm/kvm-70.ebuild index 4c7d4d6daaf0..122502959781 100644 --- a/app-emulation/kvm/kvm-70.ebuild +++ b/app-emulation/kvm/kvm-70.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-70.ebuild,v 1.2 2008/07/10 12:47:39 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-70.ebuild,v 1.3 2008/07/15 18:13:12 dang Exp $ inherit eutils flag-o-matic toolchain-funcs linux-mod @@ -80,7 +80,6 @@ src_unpack() { "${FILESDIR}"/kvm-45-qemu-configure.patch \ "${FILESDIR}"/kvm-61-qemu-kvm.patch \ "${FILESDIR}"/kvm-57-qemu-kvm-cmdline.patch \ - "${FILESDIR}"/kvm-48-kvm.patch \ "${FILESDIR}"/kvm-57-kernel-longmode.patch \ "${FILESDIR}"/kvm-68-libkvm-no-kernel.patch \ "${FILESDIR}"/kvm-69-qemu-no-blobs.patch \ diff --git a/app-emulation/kvm/kvm-71.ebuild b/app-emulation/kvm/kvm-71.ebuild new file mode 100644 index 000000000000..fe93bf2f39bb --- /dev/null +++ b/app-emulation/kvm/kvm-71.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-71.ebuild,v 1.1 2008/07/15 18:13:12 dang Exp $ + +inherit eutils flag-o-matic toolchain-funcs linux-mod + +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +DESCRIPTION="Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://kvm.qumranet.com/kvmwiki" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +# Add bios back when it builds again +IUSE="gnutls havekernel ncurses sdl test" +RESTRICT="test" + +RDEPEND="sys-libs/zlib + >=media-libs/alsa-lib-1.0.13 + gnutls? ( net-libs/gnutls ) + ncurses? ( sys-libs/ncurses ) + sdl? ( >=media-libs/libsdl-1.2.11 )" + +# bios? ( +# sys-devel/dev86 +# dev-lang/perl +# sys-power/iasl +# ) +DEPEND="${RDEPEND} + gnutls? ( dev-util/pkgconfig ) + app-text/texi2html" + +QA_TEXTRELS="usr/bin/kvm" + +pkg_setup() { + # check kernel version + if use havekernel ; then + ewarn "You have the 'havekernel' use flag set. This means you" + ewarn "must ensure you have a compatible kernel on your own." + elif kernel_is lt 2 6 22; then + eerror "the kvm in your kernel requires an older version of" + eerror "kvm as shown in :" + eerror " http://kvm.qumranet.com/kvmwiki/Downloads" + die "kvm version not compatible" + fi + + # check for kvm support + if use havekernel ; then + ewarn "You have the 'havekernel' use flag set. This means you" + ewarn "must ensure your kernel has KVM support enable on your own" + elif ! linux_chkconfig_present KVM; then + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + die "KVM support not detected!" + fi + + enewgroup kvm +} + +src_unpack() { + unpack ${A} + + cd "${S}" + # prevent docs to get automatically installed + sed -i '/$(DESTDIR)$(docdir)/d' qemu/Makefile + # Alter target makefiles to accept CFLAGS set via flag-o + sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \ + qemu/Makefile qemu/Makefile.target + [[ -x /sbin/paxctl ]] && \ + sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ + qemu/Makefile.target + # avoid strip + sed -i 's/$(INSTALL) -m 755 -s/$(INSTALL) -m 755/' qemu/Makefile + + epatch \ + "${FILESDIR}"/kvm-45-qemu-configure.patch \ + "${FILESDIR}"/kvm-61-qemu-kvm.patch \ + "${FILESDIR}"/kvm-57-qemu-kvm-cmdline.patch \ + "${FILESDIR}"/kvm-57-kernel-longmode.patch \ + "${FILESDIR}"/kvm-68-libkvm-no-kernel.patch \ + "${FILESDIR}"/kvm-69-qemu-no-blobs.patch \ + "${FILESDIR}"/kvm-69-qemu-ifup_ifdown.patch \ + "${FILESDIR}"/kvm-70-block-rw-range-check.patch \ + "${FILESDIR}"/kvm-71-qemu-kvm-doc.patch +} + +src_compile() { + local mycc conf_opts + + use gnutls || conf_opts="$conf_opts --disable-vnc-tls" + use ncurses || conf_opts="$conf_opts --disable-curses" + use sdl || conf_opts="$conf_opts --disable-gfx-check --disable-sdl" + conf_opts="$conf_opts --disable-gcc-check" + conf_opts="$conf_opts --prefix=/usr" + + ./configure ${conf_opts} || die "econf failed" + + emake libkvm || die "emake libkvm failed" + + if use test; then + emake user || die "emake user failed" + fi + + mycc=$(cat qemu/config-host.mak | egrep "^CC=" | cut -d "=" -f 2) + + filter-flags -fpie -fstack-protector + + # If using gentoo's compiler set the SPEC to non-hardened + if [ ! -z ${GCC_SPECS} -a -f ${GCC_SPECS} ]; then + local myccver=$(${mycc} -dumpversion) + local gccver=$($(tc-getBUILD_CC) -dumpversion) + + #Is this a SPEC for the right compiler version? + myspec="${GCC_SPECS/${gccver}/${myccver}}" + if [ "${myspec}" == "${GCC_SPECS}" ]; then + shopt -s extglob + GCC_SPECS="${GCC_SPECS/%hardened*specs/vanilla.specs}" + shopt -u extglob + else + unset GCC_SPECS + fi + fi + +# if use bios; then +# emake bios || die "emake bios failed" +# emake vgabios || die "emake vgabios failed" +# fi + + emake qemu || die "emake qemu failed" +} + +src_install() { + # kcmd so we don't install kernel modules which weren't build + emake DESTDIR="${D}" kcmd='#' install || die "make install failed" + + exeinto /usr/bin/ + doexe "${S}/kvm_stat" + + mv "${D}"/usr/share/man/man1/qemu.1 "${D}"/usr/share/man/man1/kvm.1 + mv "${D}"/usr/share/man/man1/qemu-img.1 "${D}"/usr/share/man/man1/kvm-img.1 + mv "${D}"/usr/share/man/man8/qemu-nbd.8 "${D}"/usr/share/man/man8/kvm-nbd.8 + mv "${D}"/usr/bin/qemu-img "${D}"/usr/bin/kvm-img + mv "${D}"/usr/bin/qemu-nbd "${D}"/usr/bin/kvm-nbd + + insinto /etc/udev/rules.d/ + doins scripts/65-kvm.rules + + insinto /etc/kvm/ + insopts -m0755 + newins scripts/qemu-ifup kvm-ifup + newins scripts/qemu-ifdown kvm-ifdown + + dodoc qemu/pc-bios/README + newdoc qemu/qemu-doc.html kvm-doc.html + newdoc qemu/qemu-tech.html kvm-tech.html +} + +pkg_postinst() { + elog "If you don't have kvm compiled into the kernel, make sure you have" + elog "the kernel module loaded before running kvm. The easiest way to" + elog "ensure that the kernel module is loaded is to load it on boot." + elog "For AMD CPUs the module is called 'kvm-amd'" + elog "For Intel CPUs the module is called 'kvm-intel'" + elog "Please review /etc/conf.d/modules for how to load these" + elog + elog "Make sure your user is in the 'kvm' group" + elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." + elog + elog "You will need the Universal TUN/TAP driver compiled into your" + elog "kernel or loaded as a module to use the virtual network device" + elog "if using -net tap. You will also need support for 802.1d" + elog "Ethernet Bridging and a configured bridge if using the provided" + elog "kvm-ifup script from /etc/kvm." + echo +} |