nixpkgs/pkgs/os-specific/linux/qemu-kvm/default.nix
Eelco Dolstra 2ae0060bde * qemu-kvm: a quick hack to support connecting a Unix domain socket on
the host to a TCP port on the guest.  This will be useful for
  automated testing using QEMU virtual machines.  Using TCP ports on
  the host is insecure and hard to manage (since you need to pick an
  available host port).

  For example:

    $ qemu-system-x86_64 ... -redir tcp:65535::514

  creates a Unix domain socket `./65535.socket' on the host.  (There
  is no proper syntax yet, so as a hack all host "ports" above 0xff00
  are treated in this way.)  Connections to that socket are then
  forwarded to TCP port 514 on the guest.  So the guest can do

    $ nc -l -p 514 -e /bin/sh

  to execute a shell for incoming connections on port 514, and then
  the host can do

    $ socat stdio ./65535.socket

  to run a shell on the guest.

svn path=/nixpkgs/trunk/; revision=16593
2009-08-05 17:26:39 +00:00

33 lines
862 B
Nix

{stdenv, fetchurl, zlib, SDL, alsaLib, pkgconfig, pciutils}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "qemu-kvm-0.11.0-rc1";
src = fetchurl {
url = "mirror://sourceforge/kvm/${name}.tar.gz";
sha256 = "0gmz42ckjjv6p9fd767k1sqh319aplsddschjp86m526d082rik9";
};
patches = [ ./unix-domain.patch ];
buildInputs = [zlib SDL alsaLib pkgconfig pciutils];
preBuild =
''
# Don't use a hardcoded path to Samba.
substituteInPlace ./net.h --replace /usr/sbin/smbd smbd
'';
postInstall =
''
# extboot.bin isn't installed due to a bug in the Makefile.
cp pc-bios/optionrom/extboot.bin $out/share/qemu/
'';
meta = {
homepage = http://www.linux-kvm.org/;
description = "A full virtualization solution for Linux on x86 hardware containing virtualization extensions";
};
}