[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