Description of problem: I can't figure out how to run guestfish, virt-builder, etc., on an arm image without libguestfs asking qemu to use KVM acceleration. Version-Release number of selected component (if applicable): libguestfs 1.25.37 Steps to Reproduce: LIBGUESTFS_HV=/usr/bin/qemu-system-arm guestfish --ro -a my.img -v config -machine accel='' Actual results: Verbose output shows this qemu command: /usr/bin/qemu-system-arm \ [...] -machine accel=kvm:tcg \ [...] Expected results: No KVM acceleration.
(In reply to Daniel Lipsitt from comment #0) > Description of problem: > > I can't figure out how to run guestfish, virt-builder, etc., on an arm image > without libguestfs asking qemu to use KVM acceleration. > > Version-Release number of selected component (if applicable): > > libguestfs 1.25.37 > > Steps to Reproduce: > > LIBGUESTFS_HV=/usr/bin/qemu-system-arm guestfish --ro -a my.img -v config > -machine accel='' > > Actual results: > > Verbose output shows this qemu command: > > /usr/bin/qemu-system-arm \ > [...] > -machine accel=kvm:tcg \ > [...] > > Expected results: > > No KVM acceleration. I'm a little confused about what you're trying to achieve here. If the disk image is from an ARM guest, and you just want to change files in the disk image, then you don't need to change the hypervisor. If the host is ARM, then you need to build libguestfs for ARM, and it should automatically use the right version of qemu. If you're trying to run commands inside the guest (eg. virt-builder --run-command / --install ...) and the host is x86 but the guest is ARM, then it's plausible that setting the HV may let you do this, although it's completely untested. You might try instead using a firstboot script. If you don't want to use a firstboot script for some reason, then you can use the following environment variable to disable KVM: http://libguestfs.org/guestfs.3.html#force_tcg
The goal is to do a full build of an ARM image on an x86 host.
(In reply to Daniel Lipsitt from comment #2) > The goal is to do a full build of an ARM image on an x86 host. Certainly be interesting to see if it works. In theory it should work: the library<->daemon protocol is designed to be architecture, bit-size and endianness independent (it uses XDR). You'll need to arrange that supermin builds or uses an ARM-based appliance. Likely the easiest thing is to copy an appliance from an ARM machine and use the fixed appliance method (see: http://libguestfs.org/libguestfs-make-fixed-appliance.1.html )