Provided by: sbuild-qemu_0.88.3ubuntu3_all 

NAME
sbuild-qemu-create - QEMU image creator for sbuild
SYNOPSIS
sbuild-qemu-create [-h] [--arch=ARCH] [--install-packages=INSTALL_PACKAGES] [--extra-deb=EXTRA_DEB]
[--components=COMPONENTS] [--skel=SKEL] [--authorized-keys=FILE] [--size=SIZE] [-o=OUT_FILE] [--noexec]
[RELEASE] [MIRROR]
Build an image for use with sbuild-qemu and autopkgtest. RELEASE will be debootstrapped from MIRROR.
This mirror will also be used for the sources.list file within the VM. See MIRROR below.
Note that sbuild-qemu-create is just a simple wrapper around autopkgtest-build-qemu(1) that automates a
few additional steps commonly performed for package-building images.
OPTIONS
-h, --help
Show this help message and exit.
--arch=ARCH
Architecture to use. Default is the host architecture. Currently supported architectures are:
amd64, arm64, armhf, i386, ppc64el.
--install-packages=INSTALL_PACKAGES
Comma-separated list of additional packages to install using apt-get install from within the
image.
--extra-deb=EXTRA_DEB
Package file (.deb) from the local filesystem to install. Can be specified more than once.
--components=COMPONENTS
Comma-separated list of components to use with sources.list entries. Default: main.
--skel=SKEL
Skeleton directory to use for /root.
--authorized-keys=FILE
Install this file as /root/.ssh/authorized_keys within the guest. This will automatically install
the openssh-server package. This supersedes any copying of this file by the --skel option.
--size=SIZE
Image size to use. Note that the images will be created in qcow2 format, so they won't consume
that space right away. Default: 10G.
-o=OUT_FILE, --out-file=OUT_FILE
Output filename. If not supplied, then DIST-autopkgtest-ARCH.img will be used.
--noexec
Don't actually do anything. Just print the autopkgtest-build-qemu(1) command string that would be
executed, and then exit.
--boot=auto,bios,efi,ieee1275,none
How the image should boot. Default is BIOS on amd64 and i386, EFI on arm64 and armhf, and IEEE1275
on ppc64el.
MIRROR
It is highly recommended that you use an APT cache, like approx(8) or apt-cacher-ng(8), on the local
machine (so that the VM can access that cache without much hassle) as a mirror. This will dramatically
speed up the package build process. On the author's local machine, installing the build dependencies of
even larger packages takes only a few seconds.
If you use a local cache, then ensure that the mirror is accessible from within the guest. Using
http://localhost:9999/debian or similar will successfully build the image, but APT will fail within the
running VM, because to the VM, ``localhost'' is something else. An easy workaround is to use an IP
address instead, for example http://192.168.0.123:9999/debian, assuming the host system has the IP
192.168.0.123.
SPECIAL CASES
If RELEASE is experimental, sources.list will contain entries for both experimental and unstable.
If RELEASE ends with -backports, sources.list will contain entries for both RELEASE and for the
distribution it is based upon. In other words, specifying bullseye-backports will also add an entry for
bullseye.
SHARING FILES
Among other things, autopkgtest-virt-qemu(1) has built-in support for sharing a directory on the host
with the guest, so no further configuration should be necessary when accessing the VM using autopkgtest.
In additon to that, a mount point for a 9p filesystem is added to the VM's /etc/fstab. This is for cases
where the VM is launched via QEMU directly, rather than going through autopkgtest-virt-qemu.
To share a directory on the host with the VM, QEMU should be started with the following additional
options:
-virtfs local,path=/path/to/host/dir,id=sbuild-qemu,mount_tag=sbuild-qemu,security_model=none
TTY GEOMETRY
sbuild-qemu-creates a file /etc/profile.d/sbuild-qemu-terminal-settings.sh within the VM. This file reads
terminal column and row geometry passed on through from the host, and sets the geometry within the guest
using stty(1).
EXAMPLES
$ sudo sbuild-qemu-create unstable http://deb.debian.org/debian
This will create an image unstable-autopkgtest-amd64.img (assuming that the host architecture is amd64)
with the unstable distribution.
$ sudo sbuild-qemu-create bullseye-backports http://deb.debian.org/debian
This will create an image bullseye-backports-autopkgtest-amd64.img, with sources.list entries for both
bullseye and bullseye-backports.
$ sudo sbuild-qemu-create --skel DIR unstable http://deb.debian.org/debian
The files in DIR will be copied into /root (that is, root's $HOME). This can be used, for example, to
copy an .ssh/authorized_keys file, so that one can connect to the running image using SSH (assuming
openssh-server is installed).
$ sudo sbuild-qemu-create --install-packages openssh-server unstable http://deb.debian.org/debian
This would install openssh-server. The package will be downloaded in the target environment using 'apt-
get'.
A popular package to pre-install this way would be debhelper, as it is a build dependency of the vast
majority of Debian packages.
$ sudo sbuild-qemu-create --extra-deb FOO.deb unstable http://deb.debian.org/debian
This would install the package FOO.deb from the local filesystem. Useful, for example, to install
additional keyring packages.
COPYRIGHT
Copyright © 2020-2022 Christian Kastner <ckk@debian.org>
SEE ALSO
sbuild(1), sbuild-qemu(1), sbuild-qemu-update(1).
Version 0.88.3ubuntu3 02 May 2025 SBUILD-QEMU-CREATE(1)