Provided by: sbuild-qemu_0.85.2ubuntu1_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.
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).