debefivm-run - Run a virtual machine from an EFI-bootable raw disk
image
-debefivm-run [-a] architecture] [-i
image] [-s sshport] [-- qemu options]
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.
- -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 root@127.0.0.1
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.