DEBEFIVM-RUN(1)

πŸ“¦
version 0.5.2ubuntu1 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– DEBEFIVM-RUN(1) πŸ’–

okay so bestie, welcome to debefivm-run β€” it's a manual page from the User Contributed Perl Documentation corner of the world, and it's literally just here to help you boot a whole virtual machine. no cap. πŸ¦‹


✨ 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]

(yes that bracket situation is exactly how it's written, we do not touch it, we respect it πŸ’…)


πŸŽ€ DESCRIPTION πŸŽ€

so like. debefivm-run is essentially a thin wrapper around qemu β€” the manpage says "thing wrapper" and honestly? iconic typo, we keep it β€” for running a virtual machine off an UEFI bootable raw disk image. πŸ”₯

you can make one of those images with debefivm-create, or with literally any other image creator you vibe with. but β€” and this is the important part β€” its use is limited to architectures that support EFI booting. so if your arch doesn't do EFI, this is not the party for you. 🫢


πŸ’… OPTIONS πŸ’…

  • -a architecture, --architecture=architecture β€” override the Debian architecture of the image you're handing over. here's the tea: if the image uses architecture-specific type UUIDs for the root partition, the architecture can be detected automatically. otherwise, the host's architecture is just assumed. the images that debefivm-create makes do use these UUIDs. this value gets used to figure out the correct emulator binary and suitable EFI firmware. ✨
  • --efi-vars=variablefile β€” EFI variables can be changed and retained across reboots of a virtual machine, but only if you supply a separate variable file. if the file you pass doesn't exist yet, it gets created from a template. and if you don't pass one at all? the virtual machine gets a read-only variable store. sad but true. πŸ™ˆ
  • -i image, --image=image β€” this one says where your virtual machine image file lives. default vibe is vm.img in the working directory. πŸ“
  • --netopt=option β€” debefivm-run sets up a user mode network by default, which means it passes a -netdev option to qemu. with 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, so go off. 🌈
  • --skip=task β€” skip a particular task or feature. you can specify this option multiple times, or list multiple tasks to skip by separating them with a comma. by default, no tasks are skipped. here's what you can skip:
    • network β€” do not configure a network card. use this if you want to configure the network on your own. also, you should pass this in addition to passing -nic none when you want to disable networking. both. together. πŸ’€
    • 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. but when you specify a different machine such as -machine microvm, a different transport such as device may be needed. iykyk. 🧚
  • -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

this option is a shorthand for --netopt hostfwd=tcp:127.0.0.1:sshport-:22. πŸ’œ

  • -- qemu options β€” everything beyond a double dash gets passed straight to qemu. this is how you configure additional hardware components. one possible use of this method is passing -snapshot to avoid modifying the virtual machine image. main character energy tbh. ⭐

πŸ‘‘ SEE ALSO πŸ‘‘

debefivm-create(1) debvm-run(1) qemu(1)


bestie reminder: this whole thing is perl v5.40.1 energy, dated 2026-03-23. that's the source and version, and that's the whole page. slay, go boot something. πŸ’–πŸ¦‹πŸŒΈ
πŸ“¦ where this page comes from