NAME
debefivm-run - Run a virtual machine from an EFI-bootable raw disk image
SYNOPSIS
-debefivm-run [-a] architecture] [-i image] [-s sshport] [-- qemu options]
DESCRIPTION
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-create employ 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-run sets up a user mode network by default. It therefore passes a -netdev option to qemu. Using this option, you can customize the value of that -netdev option. 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-run adds devices to qemu, it has to select a transport and it most often guesses pci. When specifying a different machine such as -machine microvm, a different transport such as device may be needed.
- -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 [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 -snapshot to avoid modifying the virtual machine image.
SEE ALSO
debefivm-create(1) debvm-run(1) qemu(1)