[Pkg-libvirt-maintainers] Bug#958751: libguestfs-tools: guestfish fails on arm64
Johannes 'josch' Schauer
josch at debian.org
Fri Apr 24 23:40:56 BST 2020
Package: libguestfs-tools
Version: 1:1.40.2-7+b1
Severity: important
Hi,
running guestfish on arm64 fails. See for example the result of my
genext2fs autopkgtest on arm64:
https://ci.debian.net/data/autopkgtest/testing/arm64/g/genext2fs/5128192/log.gz
I was able to reproduce the problem on the arm64 porterbox and re-ran
guestfish with LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1. Probably relevant
output:
/usr/bin/qemu-system-aarch64 \
-global virtio-blk-pci.scsi=off \
-no-user-config \
-enable-fips \
-nodefaults \
-display none \
-machine virt,gic-version=host,accel=kvm:tcg \
-cpu host \
-m 1024 \
-no-reboot \
-rtc driftfix=slew \
-kernel /var/tmp/.guestfs-3341/appliance.d/kernel \
-initrd /var/tmp/.guestfs-3341/appliance.d/initrd \
-object rng-random,filename=/dev/urandom,id=rng0 \
-device virtio-rng-pci,rng=rng0 \
-device virtio-scsi-pci,id=scsi \
-drive file.file.filename=/tmp/libguestfs6x5WRv/overlay1.qcow2,file.driver=qcow2,file.backing.file.locking=off,cache=unsafe,id=hd0,if=none \
-device scsi-hd,drive=hd0 \
-drive file=/var/tmp/.guestfs-3341/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none,format=raw \
-device scsi-hd,drive=appliance \
-device virtio-serial-pci \
-serial stdio \
-chardev socket,path=/tmp/libguestfs6AGQyv/guestfsd.sock,id=channel0 \
-device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
-append "panic=1 console=ttyAMA0 earlyprintk=pl011,,0x9000000 ignore_loglevel efi-rtc=noprobe edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=/dev/sdb selinux=0 guestfs_verbose=1 TERM=linux"
WARNING: Image format was not specified for '/tmp/libguestfs6x5WRv/overlay1.qcow2' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
Could not access KVM kernel module: No such file or directory
qemu-system-aarch64: failed to initialize KVM: No such file or directory
qemu-system-aarch64: Back to tcg accelerator
qemu-system-aarch64: gic-version=host requires KVM
According to this output, the problem seems to be, that guestfish calls
qemu with -machine virt,gic-version=host,accel=kvm:tcg but without kvm,
the gic-version=host argument seems to be invalid.
This seems to be the relevant part in the source code:
https://sources.debian.org/src/libguestfs/1:1.40.2-7/lib/launch-direct.c/?hl=509#L509
Accordingly, the problem vanishes if I run guestfish with
LIBGUESTFS_BACKEND_SETTINGS=force_tcg.
Thanks!
cheers, josch
More information about the Pkg-libvirt-maintainers
mailing list