summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelmut Grohne <helmutg@debian.org>2023-06-19 12:45:11 +0000
committerHelmut Grohne <helmutg@debian.org>2023-06-19 12:45:11 +0000
commit81f9e7abf9329da14f664c12625864bff2e85f25 (patch)
tree89084e393300445fab4888a9fa7d5295b5bff5ae
parent8ce786ab8f39f2d7570355a5bbf26bc0669258d3 (diff)
parente36f7f1d7b8b2e41154dd07981129bace2293403 (diff)
downloaddebvm-81f9e7abf9329da14f664c12625864bff2e85f25.tar.gz
Merge branch 'qemu8exp' into 'main'
bin/debvm-run: qemu provides symlinks for qemu-system- starting with 1:8.0~rc4+dfsg-2 See merge request helmutg/debvm!31
-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: