Skip to content

Instantly share code, notes, and snippets.

@lheckemann
Created January 5, 2018 22:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lheckemann/9703edff98f92bef5f41bee6765f72b2 to your computer and use it in GitHub Desktop.
Save lheckemann/9703edff98f92bef5f41bee6765f72b2 to your computer and use it in GitHub Desktop.
#! /nix/store/hqi64wjn83nw4mnf9a5z9r4vmpl72j3r-bash-4.4-p12/bin/bash
NIX_DISK_IMAGE=$(readlink -f ${NIX_DISK_IMAGE:-./sudoku.qcow2})
if ! test -e "$NIX_DISK_IMAGE"; then
/nix/store/xrfv11vy8by8p6ixksv49ay17h8dj2sx-qemu-x86-only-for-vm-tests-2.9.1/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
512M || exit 1
fi
# Create a directory for storing temporary data of the running VM.
if [ -z "$TMPDIR" -o -z "$USE_TMPDIR" ]; then
TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)
fi
# Create a directory for exchanging data with the VM.
mkdir -p $TMPDIR/xchg
cd $TMPDIR
idx=2
extraDisks=""
# Start QEMU.
exec /nix/store/xrfv11vy8by8p6ixksv49ay17h8dj2sx-qemu-x86-only-for-vm-tests-2.9.1/bin/qemu-kvm \
-name sudoku \
-m 384 \
-smp 1 \
-cpu kvm64 \
-net nic,vlan=0,model=virtio -net user,vlan=0${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} \
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
-virtfs local,path=${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
-kernel /nix/store/dcb7yzlyhm5fkfjjny9b2ba5pkvi8bjd-nixos-system-sudoku-17.09.2610.d83c8080d1e/kernel \
-initrd /nix/store/dcb7yzlyhm5fkfjjny9b2ba5pkvi8bjd-nixos-system-sudoku-17.09.2610.d83c8080d1e/initrd \
-append "$(cat /nix/store/dcb7yzlyhm5fkfjjny9b2ba5pkvi8bjd-nixos-system-sudoku-17.09.2610.d83c8080d1e/kernel-params) init=/nix/store/dcb7yzlyhm5fkfjjny9b2ba5pkvi8bjd-nixos-system-sudoku-17.09.2610.d83c8080d1e/init regInfo=/nix/store/dla0dngnzbn99v7d4pbigh0wpirj2b1k-reginfo $QEMU_KERNEL_PARAMS" \
\
$extraDisks \
\
-vga std -usbdevice tablet \
$QEMU_OPTS \
$@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment