Provided by: debvm_0.2.8_all
NAME
debvm-run - Run a VM image created by debvm-create
SYNOPSIS
debvm-run [-g] [-i image] [-s sshport] [-- qemu options]
DESCRIPTION
debvm-run is essentially a thin wrapper around qemu for running a virtual machine image created by debvm-create or something compatible. The virtual machine image is expected to be a raw ext4 image with a non-empty file system label. The architecture of the machine is detected from the contained /bin/true. It must contain a symbolic link pointing to a kernel image at one of (|/boot)/vmlinu[xz] a symbolic link pointing to an initrd image at initrd.img in the same directory as the kernel image. Both are extracted and passed to qemu. A net interface configured for user mode is added automatically.
OPTIONS
-g, --graphical By default, the option -nographic is passed to qemu and one interacts with the serial console of the machine. This configuration is skipped in the presence of this option. -i image, --image=image This option specifies the location of the virtual machine image file. By default rootfs.ext4 in the working directory is used. -s sshport, --sshport=sshport If given, qemu is configured to pass connections to 127.0.0.1:sshport to port 22 of the virtual machine. You can connect to your virtual machine without updating your known hosts like this: ssh -o NoHostAuthenticationForLocalhost=yes -p $sshport root@127.0.0.1 -- qemu options All options beyond a double dash are passed to qemu. This can be used to configure additional hardware components. One possible use of this method is passing -snapshot to avoid modifying the virtual machine image.
EXAMPLES
Run a virtual machine stored in the image rootfs.ext4 (the default) with local port 8022 routed to port 22 of the virtual machine. The -snapshot argument is passed to QEMU and prevents any permanent changes to rootfs.ext4, resulting in an ephemeral run. debvm-run -s 8022 -i rootfs.ext4 -- -snapshot
FAQ
The debvm-run console renders wrong. Make sure $TERM is set to a value known inside the VM. You may need to install ncurses-term for more definitions. It also helps to run "setterm --resize" after boot and when resizing the terminal emulator. How can I kill debvm-run? The wrapped qemu can be terminated by pressing Ctrl-a x. Refer to the qemu manual page for more escape sequences.
LIMITATIONS
Due to the way kernel and bootloader are being extracted before running qemu, one cannot upgrade a kernel and then just reboot. Attempting to do so, will still use the old kernel. Instead, qemu must be terminated and debvm-run should be launched again to pick up the new kernel. In order to avoid accidental reboots, one may pass -no-reboot to qemu.
SEE ALSO
debvm-create(1) qemu(1)