SBUILD-QEMU-BOOT(1)

πŸ’– SBUILD-QEMU-BOOT πŸ’–

okay bestie, so this is sbuild-qemu-boot from the Debian sbuild manual pages, and it's genuinely one of my faves β€” it's the little tool that boots a VM from a QEMU image straight into a console. yes. that's the whole vibe. let's get into it 🫢


✨ NAME ✨

sbuild-qemu-boot β€” boot a VM using a QEMU image 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

sbuild-qemu-boot [-h] [--read-write] [--snapshot] [--shared-dir]
[--arch=ARCH] [--ram-size=MiB] [--cpus=CPUs] [--ssh-port=PORT]
[--noexec] IMAGE

πŸ’… DESCRIPTION πŸ’…

So sbuild-qemu-boot boots a QEMU VM using IMAGE and drops you into a console. that's it, that's the gig. and here's the part that lowkey matters a lot: the image is in read-only mode by default, because the whole goal here is supporting experimentation. you're meant to poke at stuff, not commit to it. periodt. πŸŽ€

Now, the architecture? it auto-guesses it, and the way it does that is honestly iconic in a chaotic way: it strips any file suffix, then splits the image name on dashes -, and then goes looking for a Debian architecture name in there. so sid-amd64.img, amd64-temporary.image, or even just amd64 would all be assumed to be amd64 images β€” but amd64.rebuild-tests.img would not be. the guessing is not the moment for that one, bestie. 😭 if it guesses wrong, just use the --arch option and move on.

also, heads up: you might need to invoke stty(1) inside the VM to match your host terminal's settings. it's giving "the terminal doesn't know what you want yet", iykyk.


🌈 OPTIONS 🌈

  • -h, --help β€” shows this help message and dips out. πŸ’–
  • --read-write β€” writes changes back to the image instead of keeping it in read-only mode. this is the "okay I actually mean it" flag. πŸ”₯
  • --snapshot β€” makes a snapshot of the image before changing it. super useful for reproducibility purposes. ignored if the image isn't booted in read-write mode, which is the default β€” so if you didn't ask for read-write, this does nothing. no cap.
  • --shared-dir β€” shares this directory on the host with the guest. ⚠️ this will only work when the image was created with sbuild-qemu-create(1). no create, no share, that's the deal.
  • --arch=ARCH β€” the architecture to use, instead of attempting to auto-guess. (auto-guess trauma is real, we've all been there.)
  • --ram-size=MiB β€” VM memory size in MB. Default: 2048. 🌸
  • --cpus=CPUs β€” VM CPU count. Default: 2. πŸ’…
  • --ssh-port=PORT β€” forwards local port PORT to port 22 within the guest. for this to be useful, the package openssh-server must be installed within the guest. so like, install it first or this is just a decorative port. πŸ™ˆ
  • --boot=auto,bios,efi,ieee1275,none β€” how to boot the image. Default is BIOS on amd64 and i386, EFI on arm64 and armhf, and IEEE1275 on ppc64el. ⭐
  • --noexec β€” doesn't actually do anything. it just prints the command string that would be executed, and then exits. the "read it, don't run it" girlie. 🧚

πŸ“ EXAMPLES πŸ“

$ sbuild-qemu-boot --shared-dir /tmp/foo unstable-autopkgtest-amd64.img

This will update the image unstable-autopkgtest-amd64.img in the current directory. If no such file exists there, then $IMAGEDIR/unstable-autopkgtest-amd64.img is tried. πŸ‘‘


πŸ’œ ENVIRONMENT πŸ’œ

If $IMAGEDIR is unset, then ~/.cache/sbuild is used. so that's the fallback home for your images, bestie. πŸŒ™


Copyright Β© 2020-2022 Christian Kastner <ckk@debian.org> πŸ’–


πŸ’€ SEE ALSO πŸ’€

sbuild(1), sbuild-qemu(1), sbuild-qemu-create(1).


and that's the whole page, fr fr. this was Debian sbuild, Version 0.91.10ubuntu1, dated 29 June 2026 β€” slay, go boot something, and remember: read-only by default because we're just experimenting, main character energy only πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from