summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml4
-rwxr-xr-xbin/debvm-run17
-rw-r--r--debian/control3
3 files changed, 12 insertions, 12 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 63734c1..e8b7754 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,7 +27,7 @@ release_test:
script:
- apt-get update
- apt-get dist-upgrade --yes
- - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm
+ - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm dpkg-dev
- PATH=$(pwd)/bin:$PATH ./tests/create-and-run.sh $(dpkg --print-architecture) "$RELEASE"
arch_test:
@@ -46,6 +46,6 @@ arch_test:
- test -e /proc/sys/fs/binfmt_misc/status || mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- apt-get update
- apt-get dist-upgrade --yes
- - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-system arch-test qemu-user-static file systemd
+ - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-system arch-test qemu-user-static file systemd dpkg-dev
- /lib/systemd/systemd-binfmt
- PATH=$(pwd)/bin:$PATH ./tests/create-and-run.sh "$ARCHITECTURE" sid
diff --git a/bin/debvm-run b/bin/debvm-run
index f3811ad..406da39 100755
--- a/bin/debvm-run
+++ b/bin/debvm-run
@@ -270,25 +270,28 @@ set -- \
-object rng-random,filename=/dev/urandom,id=rng0 \
"$@"
-QEMU="qemu-system-$KERNELARCH"
+# Translate KERNELARCH (a Debian architecture) to a Debian CPU name.
+# This utilizes the QEMU Debian package symlink mapping that ensures that
+# calling qemu-system-${DEB_HOST_ARCH_CPU} will run the QEMU binary providing
+# the correct emulator for that CPU.
+KERNELARCHCPU="$(dpkg-architecture --force --host-arch "$KERNELARCH" --query DEB_HOST_ARCH_CPU)"
+QEMU="qemu-system-$KERNELARCHCPU"
CPU=
MACHINE=
MAX_SMP=
NIC_DEV=virtio-net-pci,netdev=net0
RNG_DEV=virtio-rng-pci,rng=rng0
-case "$KERNELARCH" in
+case "$KERNELARCHCPU" in
amd64)
- QEMU=qemu-system-x86_64
MACHINE="type=q35"
;;
- arm|armel|armhf)
+ arm)
CPU=max
MACHINE="type=virt"
MAX_SMP=8
;;
arm64)
- QEMU=qemu-system-aarch64
CPU=max,pauth-impdef=on
MACHINE="type=virt,gic-version=max"
;;
@@ -306,12 +309,8 @@ case "$KERNELARCH" in
MAX_SMP=1
;;
powerpc)
- QEMU=qemu-system-ppc
MAX_SMP=1
;;
- ppc64el)
- QEMU=qemu-system-ppc64
- ;;
riscv64)
MACHINE="type=virt"
;;
diff --git a/debian/control b/debian/control
index 60112be..0d63dff 100644
--- a/debian/control
+++ b/debian/control
@@ -13,11 +13,12 @@ Package: debvm
Architecture: all
Depends:
${misc:Depends},
+ dpkg-dev,
e2fsprogs,
genext2fs,
mmdebstrap (>= 1.3.0),
passwd,
- qemu-kvm | qemu-system-arm | qemu-system-mips | qemu-system-misc | qemu-system-ppc | qemu-system-sparc | qemu-system-x86,
+ qemu-kvm (>> 1:8.0) | qemu-system-any
# Required for -device virtio-net-pci,netdev=net0
ipxe-qemu,
Recommends: