[Libguestfs] virt-builder error

Richard W.M. Jones rjones at redhat.com
Sat Aug 16 10:34:07 UTC 2014


On Fri, Aug 15, 2014 at 04:33:57PM -0700, pixelfairy wrote:
> to the point, maybe your supermin appliance should have its own
> kernel? or bug ubuntu devs to make the kernel world readable.

We have repeatedly, to no effect:

  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725

> more detail, as requested
> 
> Trying to build an image of ubuntu.
> 
> exact command
> 
> virt-builder ubuntu-14.04
> 
> exact output,
> 
> $ virt-builder ubuntu-14.04
> [   0.0] Downloading: http://libguestfs.org/download/builder/ubuntu-14.04.xz
> [   1.0] Creating disk image: ubuntu-14.04.img
> [   1.0] Uncompressing: http://libguestfs.org/download/builder/ubuntu-14.04.xz
> [  22.0] Running virt-resize to expand the disk to 4.2G
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> libguestfs: create: flags = 0, handle = 0x2428ec0, program = virt-resize
> libguestfs: trace: add_drive "/tmp/vbsrcbe72ee.img" "readonly:true"
> "format:raw" "protocol:file"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: add_drive "ubuntu-14.04.img" "readonly:false"
> "format:raw" "cachemode:unsafe"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: launch
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> libguestfs: trace: version
> libguestfs: trace: version = <struct guestfs_version *>
> libguestfs: trace: get_backend
> libguestfs: trace: get_backend = "direct"
> libguestfs: launch: program=virt-resize
> libguestfs: launch: version=1.24.5
> 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/libguestfsySDyNP
> libguestfs: launch: umask=0002
> libguestfs: launch: euid=1000
> libguestfs: command: run: /usr/bin/supermin-helper
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ -f checksum
> libguestfs: command: run: \ --host-cpu x86_64
> libguestfs: command: run: \ /usr/lib/guestfs/supermin.d
> supermin helper [00000ms] whitelist = (not specified)
> supermin helper [00000ms] host_cpu = x86_64
> supermin helper [00000ms] dtb_wildcard = (not specified)
> supermin helper [00000ms] inputs:
> supermin helper [00000ms] inputs[0] = /usr/lib/guestfs/supermin.d
> supermin helper [00000ms] outputs:
> supermin helper [00000ms] kernel = (none)
> supermin helper [00000ms] dtb = (none)
> supermin helper [00000ms] initrd = (none)
> supermin helper [00000ms] appliance = (none)
> checking modpath /lib/modules/3.13.0-24-generic is a directory
> checking modpath /lib/modules/3.13.0-32-generic is a directory
> checking modpath /lib/modules/3.13.0-33-generic is a directory
> checking modpath /lib/modules/3.13.0-34-generic is a directory
> picked kernel vmlinuz-3.13.0-34-generic
> supermin helper [00000ms] finished creating kernel
> supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d
> supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/daemon.img.gz
> supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/init.img
> supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/udev-rules.img
> supermin helper [00000ms] adding kernel modules
> supermin helper [00028ms] finished creating appliance
> libguestfs: checksum of existing appliance:
> 91a71afb6469a54392edcc914ff8a641915f545c14683266905f8f7ce855a8fd
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> libguestfs: [00033ms] begin building supermin appliance
> libguestfs: [00033ms] run supermin-helper
> libguestfs: command: run: /usr/bin/supermin-helper
> libguestfs: command: run: \ --verbose
> 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: \ --output-kernel /var/tmp/guestfs.br7JCi/kernel
> libguestfs: command: run: \ --output-initrd /var/tmp/guestfs.br7JCi/initrd
> libguestfs: command: run: \ --output-appliance /var/tmp/guestfs.br7JCi/root
> supermin helper [00000ms] whitelist = (not specified)
> supermin helper [00000ms] host_cpu = x86_64
> supermin helper [00000ms] dtb_wildcard = (not specified)
> supermin helper [00000ms] inputs:
> supermin helper [00000ms] inputs[0] = /usr/lib/guestfs/supermin.d
> supermin helper [00000ms] outputs:
> supermin helper [00000ms] kernel = /var/tmp/guestfs.br7JCi/kernel
> supermin helper [00000ms] dtb = (none)
> supermin helper [00000ms] initrd = /var/tmp/guestfs.br7JCi/initrd
> supermin helper [00000ms] appliance = /var/tmp/guestfs.br7JCi/root
> checking modpath /lib/modules/3.13.0-24-generic is a directory
> checking modpath /lib/modules/3.13.0-32-generic is a directory
> checking modpath /lib/modules/3.13.0-33-generic is a directory
> checking modpath /lib/modules/3.13.0-34-generic is a directory
> picked kernel vmlinuz-3.13.0-34-generic
> /usr/bin/supermin-helper: open: /boot/vmlinuz-3.13.0-34-generic:
> Permission denied

Yup.  Unfortunately the only way around this at the moment is
to do:

  sudo chmod a+r /boot/vmlinuz*

and you have to repeat this command every time after installing a new
kernel.

> libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /var/tmp/guestfs.br7JCi
> libguestfs: trace: launch = -1 (error)
> Fatal error: exception Guestfs.Error("/usr/bin/supermin-helper exited
> with error status 1, see debug messages above")
> libguestfs: trace: close
> libguestfs: closing guestfs handle 0x2428ec0 (state 0)
> libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /tmp/libguestfsySDyNP
> virt-builder: error: virt-resize failed
> pixel at akaran:~$ exit
> 
> guestfstools version 1.24.5-1 installed via apt from ubuntu repo
> host ubuntu 14.04
> kernel 3.13.0-34-generic x86_64
> hardware  vmware-fusion 6.04 with vt enabled. (on mavericks)

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list