---
name: "autopkgtest-build-qemu"
section: "1"
platform: "linux"
package: "autopkgtest"
version: "5.49"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/autopkgtest-build-qemu"
---

# autopkgtest-build-qemu(1)

Create autopkgtest virtual machine images for autopkgtest-virt-qemu

## NAME

autopkgtest-build-qemu - Create autopkgtest virtual machine images for autopkgtest-virt-qemu

## SYNOPSIS

**autopkgtest-build-qemu** \[*OPTIONS*\] *RELEASE* *IMAGE*

Deprecated form:

**autopkgtest-build-qemu** \[*OPTIONS*\] *RELEASE* *IMAGE* *MIRROR* \[*ARCHITECTURE*\] \[*SCRIPT*\] \[*SIZE*\]

## DESCRIPTION

**autopkgtest-build-qemu** creates virtual machine images suitable for use with autopkgtest's QEMU runner [**autopkgtest-virt-qemu**(1)](/autopkgtest-virt-qemu/1.md).

Under the hood, it uses [**vmdb2**(1)](/vmdb2/1.md) to create the images.

Note that you need to call this as root, unless [**fakemachine**(1)](/fakemachine/1.md) is available. fakemachine is currently only available on x86\_64.

## POSITIONAL PARAMETERS

- *RELEASE*

  The release to download from the *MIRROR*. This parameter is required.

- *IMAGE*

  The file to write, in qcow2 format. This parameter is required.

## OPTIONS

- **--mirror=***MIRROR*

  Specify which distribution to install. It defaults to  *http://deb.debian.org/debian* (i.e. Debian), but you can pass a mirror of any Debian derivative.

  The third positional parameter is a deprecated way to specify this.

- **--keyring=***KEYRING*

  Specify the path to a keyring used to verify the apt repository. By default, the choice of keyring will be left to debootstrap. This option is mainly useful for use with a Debian derivative in conjunction with the --mirror option.

- **--architecture=***ARCHITECTURE*

  Set the architecture for the virtual machine image, specified as a [**dpkg**(1)](/dpkg/1.md) architecture. If omitted, the host architecture is assumed.

  **--arch=***ARCH* is an alias for this option.

  The fourth positional parameter is a deprecated way to specify this.

- **--script=***SCRIPT*

  Specifies a user script that will be called with the root filesystem of the image as its first parameter. This script can them make any necessary modifications to the root filesystem.

  The script must be a POSIX shell script, and should not depend on bash-specific features. This script will be executed inside a [**chroot**(1)](/chroot/1.md) call in the virtual machine root filesystem.

  The fifth positional parameter is a deprecated way to specify this.

- **--size=***SIZE*

  Specifies the image size for the virtual machine, defaulting to 25G.

  The sixth positional parameter is a deprecated way to specify this.

- **--apt-proxy=***PROXY*

  Specify an apt proxy to use in the virtual machine. By default, if you have an apt proxy configured on the host, the virtual machine will automatically use this, otherwise there is no default.

  **--apt-proxy=DIRECT** can be used to force an apt proxy on the host to be ignored.

- **--boot=auto**\|**bios**\|**efi**\|**ieee1275**\|**none**

  Select the way the generated image will expect to be booted.

  **auto** chooses a suitable boot mode for the architecture, and is the default.

  **bios** installs an x86 BIOS bootloader on i386 or amd64. **auto** selects this mode on i386 or amd64.

  **efi** installs an EFI bootloader on any architecture for which **[vmdb2(1)](/vmdb2/1.md)** supports it, which currently means amd64, arm64, armhf or i386. The **--efi** option is an alias for this mode. **auto** selects this mode on arm64 or armhf.

  **ieee1275** installs an IEEE 1275 (OpenFirmware) bootloader on ppc64el. **auto** selects this mode on ppc64el.

  **none** does not do anything special. The image will not be bootable unless the specified **--script** arranges for a suitable bootloader to be installed, or the [**autopkgtest-virt-qemu**(1)](/autopkgtest-virt-qemu/1.md) **--qemu-options** boot the image specially (for example by specifying a kernel directly).

## ENVIRONMENT

If the **$AUTOPKGTEST\_KEEP\_APT\_SOURCES** environment variable is set to a non-empty value, **autopkgtest-build-qemu** will keep whatever **/etc/apt/sources.list** was created by **debootstrap**.

Otherwise, if the **$AUTOPKGTEST\_APT\_SOURCES\_FILE** environment variable is set to a non-empty value, for example **AUTOPKGTEST\_APT\_SOURCES\_FILE=/home/me/mydistro/sources.list**, then **autopkgtest-build-qemu** will read that file (on the host system) and use it to populate **/etc/apt/sources.list** in the virtual machine; or if the **$AUTOPKGTEST\_APT\_SOURCES** environment variable is set to a non-empty value, for example **AUTOPKGTEST\_APT\_SOURCES=$(cat /home/me/mydistro/sources.list)**, **autopkgtest-build-qemu** will write it directly into **/etc/apt/sources.list** in the virtual machine.

When **$AUTOPKGTEST\_APT\_SOURCES\_FILE** or **$AUTOPKGTEST\_APT\_SOURCES** contain sources in the deb822 format, then sources are written to **/etc/apt/sources.list.d/\<distro\>.sources** in the virtual machine, rather than **/etc/apt/sources.list.**

You can specify an apt proxy to use in the virtual machine in the **$AUTOPKGTEST\_APT\_PROXY** environment variable. If you have an apt proxy configured on the host, the virtual machine will automatically use this, otherwise there is no default.

## EXAMPLES

\# autopkgtest-build-qemu unstable /path/to/debian-unstable.img

$ sudo autopkgtest-build-qemu stable /path/to/debian-stable-i386.img i386

$ sudo autopkgtest-build-qemu bionic /path/to/ubuntu-bionic.img http://archive.ubuntu.com/ubuntu

## SEE ALSO

[**autopkgtest-virt-qemu**(1)](/autopkgtest-virt-qemu/1.md), [**vmdb2**(1)](/vmdb2/1.md), [**autopkgtest**(1)](/autopkgtest/1.md), **/usr/share/doc/autopkgtest/**.

## AUTHORS AND COPYRIGHT

**autopkgtest-build-qemu** was written by Antonio Terceiro \<terceirio@debian.org\>

This manpage is part of autopkgtest, a tool for testing Debian binary packages.  autopkgtest is Copyright (C) 2006-2018 Canonical Ltd and others.

See **/usr/share/doc/autopkgtest/CREDITS** for the list of contributors and full copying conditions.
