0

i recently started with Qemu/KVM and libvirtd/virt-manager/virsh etc. One the many cryptc "guides" for installation told me to install libguestfs, and so I did. I note that i never used the default storage pool; I defined the EFI system partition and the boot partition of my windows install to be two raw disks of the domain. So there are no virtual disks to manage.

The xml file for the machine I define here is at https://pastebin.com/tk5X9d2i.lsk

If I start virt-manager and look at the details of the VM domain i have defined via xml.then when i click on the "OS Information" tab of the console I see:

Error launching libguestfs appliance: guestfs_launch failed. This usually means the libguestfs appliance failed to start or crashed. Do: export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 and run the command again. For further information, read: http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs You can also run 'libguestfs-test-tool' and post the complete output into a bug report or message to the libguestfs mailing list.

Before I ask about what causes the error, I would like to ask why libguestfs makes an appearance here at all? True, I did install the package from AUR, but I wasn't aware of any automatic involvement of libguestfs in my libvirt. Is the easiest / best way to avoid this error simply to unsinstall Libguestfs? Or is it somehow required for the basic operation of libvirt? That seems unlikely, because it's not a dependency of libvirt.

OK, whether i light up the flags _DEBUG and _TRACE, or run the libguestfs-test-tool, the diagnostic output seem almost identical. Here is the complete out output of libguestfs-test-tool:

[scott@scott-dell7577 virt-manager]$ libguestfs-test-tool
     ************************************************************
     *                    IMPORTANT NOTICE
     *
     * When reporting bugs, include the COMPLETE, UNEDITED
     * output below in your bug report.
     *
     ************************************************************
LIBVIRT_DEFAULT_URI=qemu:///system
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/scott/.gem/ruby/2.7.0/bin:
XDG_RUNTIME_DIR=/run/user/1000
SELinux: sh: getenforce: command not found
guestfs_get_append: (null)
guestfs_get_autosync: 1
guestfs_get_backend: direct
guestfs_get_backend_settings: []
guestfs_get_cachedir: /var/tmp
guestfs_get_hv: /usr/bin/kvm
guestfs_get_memsize: 768
guestfs_get_network: 0
guestfs_get_path: /usr/lib/guestfs
guestfs_get_pgroup: 0
guestfs_get_program: libguestfs-test-tool
guestfs_get_recovery_proc: 1
guestfs_get_smp: 1
guestfs_get_sockdir: /run/user/1000
guestfs_get_tmpdir: /tmp
guestfs_get_trace: 0
guestfs_get_verbose: 1
host_cpu: x86_64
Launching appliance, timeout set to 600 seconds.
libguestfs: launch: program=libguestfs-test-tool
libguestfs: launch: version=1.42.0
libguestfs: launch: backend registered: unix
libguestfs: launch: backend registered: uml
libguestfs: launch: backend registered: libvirt
libguestfs: launch: backend registered: direct
libguestfs: launch: backend=direct
libguestfs: launch: tmpdir=/tmp/libguestfsdBVN72
libguestfs: launch: umask=0022
libguestfs: launch: euid=1000
libguestfs: begin building supermin appliance
libguestfs: run supermin
libguestfs: command: run: /usr/bin/supermin
libguestfs: command: run: \ --build
libguestfs: command: run: \ --verbose
libguestfs: command: run: \ --if-newer
libguestfs: command: run: \ --lock /var/tmp/.guestfs-1000/lock
libguestfs: command: run: \ --copy-kernel
libguestfs: command: run: \ -f ext2
libguestfs: command: run: \ --host-cpu x86_64
libguestfs: command: run: \ /usr/lib/guestfs/supermin.d
libguestfs: command: run: \ -o /var/tmp/.guestfs-1000/appliance.d
supermin: version: 5.2.0
supermin: package handler: arch/pacman
supermin: acquiring lock on /var/tmp/.guestfs-1000/lock
supermin: if-newer: output does not need rebuilding
libguestfs: finished building supermin appliance
libguestfs: begin testing qemu features
libguestfs: checking for previously cached test results of /usr/bin/kvm, in /var/tmp/.guestfs-1000
libguestfs: loading previously cached test results
libguestfs: qemu version: 5.0
libguestfs: qemu mandatory locking: yes
libguestfs: qemu KVM: enabled
libguestfs: finished testing qemu features
libguestfs: command: run: file
libguestfs: command: run: \ -- /var/tmp/.guestfs-1000/appliance.d/root
/usr/bin/kvm \
    -global virtio-blk-pci.scsi=off \
    -no-user-config \
    -enable-fips \
    -nodefaults \
    -display none \
    -machine accel=kvm:tcg \
    -cpu host \
    -m 768 \
    -no-reboot \
    -rtc driftfix=slew \
    -no-hpet \
    -global kvm-pit.lost_tick_policy=discard \
    -kernel /var/tmp/.guestfs-1000/appliance.d/kernel \
    -initrd /var/tmp/.guestfs-1000/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=/tmp/libguestfsdBVN72/scratch1.img,cache=unsafe,format=raw,id=hd0,if=none \
    -device scsi-hd,drive=hd0 \
    -drive file=/var/tmp/.guestfs-1000/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none,format=raw \
    -device scsi-hd,drive=appliance \
    -device virtio-serial-pci \
    -serial stdio \
    -device sga \
    -chardev socket,path=/run/user/1000/libguestfsOHS6U5/guestfsd.sock,id=channel0 \
    -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
    -append "panic=1 console=ttyS0 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=UUID=6850566e-3b73-42a4-8221-741ed6765ae0 selinux=0 guestfs_verbose=1 TERM=xterm"
qemu-system-x86_64: console=ttyS0: Could not open 'console=ttyS0': No such file or directory
libguestfs: error: appliance closed the connection unexpectedly, see earlier error messages
libguestfs: child_cleanup: 0x55e8756a5280: child process died
libguestfs: sending SIGTERM to process 168395
libguestfs: error: /usr/bin/kvm exited with error status 1, see debug messages above
libguestfs: error: guestfs_launch failed, see earlier error messages
libguestfs: closing guestfs handle 0x55e8756a5280 (state 0)
libguestfs: command: run: rm
libguestfs: command: run: \ -rf /tmp/libguestfsdBVN72
libguestfs: command: run: rm
libguestfs: command: run: \ -rf /run/user/1000/libguestfsOHS6U5

[scott@scott-dell7577 virt-manager]$

Now I truly am hopeless confused: who asked libguestfs to do ANY of this? that is, to turn my xml into some convoluted backing+overlay images to "protect" my drives. That's not what I defined at all!! ANd why did it decide to make a machine with console=ttyS0 at all?? My host machine does have /dev/ttyS[0-3], but they are not physically attached to anything. I can attach the xml that defines the single domain I"ve tried to make, and no where do I rely on /dev/ttyS0. As a final confusion, surely the expression console=/dev/ttys0 means that the that serial device is at the guest, not the host, correct? Does the xml file somehow define it as belonging to the console, but not in fact as existing?

Bottom line is just "how can i make this problem go away??

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.