table of contents
DEBEFIVM-RUN(1) | User Contributed Perl Documentation | DEBEFIVM-RUN(1) |
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.
- --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.
SEE ALSO¶
debefivm-create(1) debvm-run(1) qemu(1)
2025-06-18 | perl v5.40.1 |