[Libguestfs] libguestfs on Debian 6 squeeze problems

Richard W.M. Jones rjones at redhat.com
Mon May 21 13:15:37 UTC 2012


[Hilko is in the best position to answer these questions.  My own
comments below]

On Mon, May 21, 2012 at 02:04:40PM +0200, Zoltan wrote:
> I'm trying to install libguestfs on Debian squeeze installed from
> http://people.debian.org/~bengen/libguestfs/
> It does not work. Here are the details:
> 
> I was able to install libguestfs-tools and its dependencies.
> However, aptitude removed the following two packages: qemu and
> qemu-system. I'm not sure if it's okay or not. If I try to install
> those packages back, I get the following:
> 
> # aptitude install qemu qemu-system
> The following NEW packages will be installed:
>   qemu qemu-system{b}
> 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
> Need to get 16.6 MB of archives. After unpacking 50.9 MB will be used.
> The following packages have unmet dependencies:
>   qemu-system: Depends: openbios-ppc (>= 1.0+svn1018) but
> 1.0+svn640-1 is installed.
>                Depends: openbios-sparc (>= 1.0+svn1018) but
> 1.0+svn640-1 is installed.
> 
> My first question is, is this normal? Do I need the qemu and
> qemu-system packages installed? What about these openbios
> dependencies?

libguestfs requires a recent qemu, and kernel >= 2.6.34.

Specifically it needs the virtio-serial feature of qemu and the
kernel.  You can check if qemu has virtio-serial by doing:

  $ qemu -device \? 2>&1 | grep virtio-serial
  name "virtio-serial-pci", bus PCI, alias "virtio-serial"
  name "virtserialport", bus virtio-serial-bus
  name "virtconsole", bus virtio-serial-bus

where you may need to replace 'qemu' by whatever name your qemu/KVM
binary is really called.

You can check if your kernel was compiled with virtio-serial by
looking at /boot/config-* and checking for CONFIG_VIRTIO_CONSOLE=(y|m)

> The next problem I have encountered: When I installed
> libguestfs-tools, aptitude also installed the cryptsetup (
> cryptsetup/squeeze uptodate 2:1.1.3-4squeeze2 ) package as a
> dependency. Since then, every time I run update-initramfs, I get
> this:

libguestfs uses host tools (such as cryptsetup) to process disk images
(encrypted disk images in this case).  So it depends on many host
tools of this sort.

> # update-initramfs -u
> update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
> cryptsetup: WARNING: failed to detect canonical device of /dev/md1
> cryptsetup: WARNING: could not determine root device from /etc/fstab
> 
> I use RAID1 arrays md1 and md3 on my system. I googled "cryptsetup:
> WARNING: failed to detect canonical device" and "cryptsetup:
> WARNING: could not determine root device" to no avail. I mean, some
> other people get these warnings too, but I haven't find any solution
> to get rid of these warning messages. Since these are just warnings,
> I guess I can just ignore these?
> 
> 
> Now, back to the main issue: libguestfs does not work! When I run
> libguestfs-test-tool, it stops with the following error:
> 
> Failed to connect to virtio-serial channel.
> 
> This is a fatal error and the appliance will now exit.
> 
> Usually this error is caused by either QEMU or the appliance
> kernel not supporting the vmchannel method that the
> libguestfs library chose to use.  Please run
> 'libguestfs-test-tool' and provide the complete, unedited
> output to the libguestfs developers, either in a bug report
> or on the libguestfs redhat com mailing list.

This indicates too old qemu and/or kernel.

> When I try to use the virt-filesystems tool, after about 2-3 seconds
> it stops with an error message that says:
> 
> # virt-filesystems -a myimagefile.img
> libguestfs: error: guestfs_launch failed, see earlier error messages
> 
> Then in the log files I see these:
> 
> libvirtd: 04:49:11.561: warning : qemudStartup:1832 : Unable to
> create cgroup for driver: No such device or address
> libvirtd: 04:49:11.729: warning : lxcStartup:1900 : Unable to create
> cgroup for driver: No such device or address
> 
> Basically, none of the libguestfs tools work on my Debian squeeze
> system... What can I do to make libguestfs install properly?

You need to get newer qemu and/or kernel.

> I thought that maybe I should install a newer Linux kernel from
> backports? Currently I use the following squeeze kernel:
> linux-image-2.6.32-5-amd64/squeeze uptodate 2.6.32-45
> 
> Do I need to install 3.x kernel for libguestfs ?
> 
> BTW, the following packages are installed from the squeeze-backports
> (or Bengen's) repository on my system:
> 
> febootstrap/squeeze uptodate 3.14-2~bpo60+1
> ipxe/squeeze uptodate 1.0.0+git-2.149b50-1~bpo60+1
> kvm/squeeze uptodate 1:0.14.1+dfsg-4~bpo60+1
> libguestfs0/squeeze uptodate 1:1.16.17-1~bpo60+1
> libguestfs-perl/squeeze uptodate 1:1.16.17-1~bpo60+1
> libguestfs-tools/squeeze uptodate 1:1.16.17-1~bpo60+1
> qemu-keymaps/squeeze uptodate 0.14.1+dfsg-3~bpo60+1
> qemu-kvm/squeeze uptodate 0.14.1+dfsg-4~bpo60+1
> qemu-user/squeeze uptodate 0.14.1+dfsg-3~bpo60+1
> qemu-utils/squeeze uptodate 0.14.1+dfsg-3~bpo60+1
> seabios/squeeze uptodate 1.6.3-2~bpo60+1
> vgabios/squeeze uptodate 0.7a-1~bpo60+1
> 
> Do I miss something?
> 
> I would really appreciate if someone can point me to the right
> direction! Thanks!

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v




More information about the Libguestfs mailing list