New release of sbuild-qemu Utilities
I just released a new version of the sbuild-qemu
utilities as part of
sbuild
. Notable changes are support for new architectures, and a new
sbuild-qemu-boot
utility to start a VM and interact with its console
directly through the terminal.
As a reminder, these utilities leverage functionality in vmdb2
,
autopkgtest
, and sbuild
to use QEMU VM images for building and
testing packages in strongly isolated environments and/or on foreign
architectures and/or that might break the system. For example, the
following would create an image for sid on the ppc64el
architecture,
and then use that image to build a package:
# Creating an image still requires root, unfortunately $ sudo sbuild-qemu-create --arch ppc64el -o simple.img unstable http://deb.debian.org/debian $ sudo chown <user>:<group> simple.img # Building a package doesn't $ sbuild-qemu --arch ppc64el --image simple.img -d unstable [<other sbuild options>] FOO.dsc # Neither does updating the image (runs apt-get update && dist-upgrade in the VM) $ sbuild-qemu-update --arch ppc64el simple.img
Since the sbuild-qemu
utilities build on top of the autopkgtest
utilities, the created images can also be used for running autopkgtests:
$ autopkgtest <test params> -- qemu --dpkg-architecture ppc64el simple.img
sbuild-qemu-boot
This new release now ships with sbuild-qemu-boot
which boots a VM
directly to a console, where it can be used as a porterbox, or to evaluate
changes that might break the system, etc. By default, the VM is started in
read-only mode, so changes are not saved when the VM is shut down. This
can be changed with the --read-write
option. With the --shared-dir
option, a directory can be shared with the host. It will be mounted at
/shared
within the VM.
$ sbuild-qemu-boot --arch ppc64el --shared-dir /path/to/folder simple.img
Note that the console in the VM is 24x80
by default. This can be changed
within the VM with stty
to match your host, e.g.:
$ stty rows M cols N
I'm still pondering whether to automate this in sbuild-qemu-create
.
New Architectures
Thanks to updates to vmdb2
and autopkgtest
, the sbuild-qemu
utilities now also support new architectures. Currently, amd64
,
i386
, arm64
, armhf
, and ppc64el
are supported, so most of the
official architectures.
However, there's an autopkgtest
issue
(#10031002)
with the host-guest communication bridge on armhf
and on multi-core
arm64
(single-core seems to work fine) that currently makes images
unusable for sbuild
and autopkgtest
. I haven't yet figured out what
the problem seems to be, but for the time being, the images can still be
used with sbuild-qemu-boot
.