debefivm-run1
Run a virtual machine from an efi-bootable raw disk image
Usage
-debefivm-run [-a] architecture] [-i image] [-s sshport] [-- qemu options]
Overview
debefivm-run is essentially a thing wrapper around qemu for running a virtual machine from an UEFI bootable raw disk image. Such an image may be created using debefivm-create or with another image creator, but its use is limited to architectures supporting EFI booting.
Options
-
-a architecture, --architecture=architecture -
Override the Debian architecture of the provided image. If the image uses architecture-specific type UUIDs for the root partition, the architecture can be detected. Otherwise, the host's architecture is assumed. The images created by
debefivm-createemploy these UUIDs. The value is used to determine the correct emulator binary as well as suitable EFI firmware.
-
--efi-vars=variablefile -
EFI variables can be changed and retained across reboots of a virtual machine if a separate variable file is supplied. The passed file is created from a template if absent. If absent, a read-only variable store will be supplied to the virtual machine.
-
-i image, --image=image -
This option specifies the location of the virtual machine image file. By default vm.img in the working directory is used.
-
--netopt=option -
debefivm-runsets up a user mode network by default. It therefore passes a-netdevoption toqemu. Using this option, you can customize the value of that-netdevoption. For instance, you can set up additional port forwards by passing e.g."--netopt hostfwd=:127.0.0.1:8080-:80". It can be used multiple times.
-
--skip=task -
Skip a particular task or feature. The option may be specified multiple times or list multiple tasks to be skipped by separating them with a comma. By default, no tasks are skipped. The following tasks may be skipped.
network-
Do not configure a network card. Use this if you want to configure network on your own. This should also be passed in addition to passing
"-nic none"when you want to disable networking.
rngdev-
Do not pass a random number generator device.
-
--transport=transport -
When
debefivm-runadds devices toqemu, it has to select a transport and it most often guessespci. When specifying a different machine such as -machine microvm, a different transport such asdevicemay be needed.
-
-s sshport, --sshport=sshport -
If given,
qemuis 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 [email protected]The option is a shorthand for
"--netopt hostfwd=tcp:127.0.0.1:sshport-:22".
--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-snapshotto avoid modifying the virtual machine image.