diff options
-rw-r--r-- | .gitlab-ci.yml | 4 | ||||
-rwxr-xr-x | bin/debvm-run | 17 | ||||
-rw-r--r-- | debian/control | 3 |
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: |