Thanks for the quick response!
After running update-guestfs-appliance the error message changed, so I was probably hitting a bug that was fixed already.
Now the failure is:
hactar% LANG= libguestfs-test-tool ===== Test starts here ===== LIBGUESTFS_DEBUG=1 TMPDIR=(not set) libguestfs: new guestfs handle 0x808cd20 library version: 1.14.8 guestfs_get_append: (null) guestfs_get_attach_method: appliance guestfs_get_autosync: 1 guestfs_get_direct: 0 guestfs_get_memsize: 500 guestfs_get_network: 0 guestfs_get_path: /usr/lib/guestfs guestfs_get_pgroup: 0 guestfs_get_qemu: /usr/bin/kvm guestfs_get_recovery_proc: 1 guestfs_get_selinux: 0 guestfs_get_smp: 1 guestfs_get_trace: 0 guestfs_get_verbose: 1 host_cpu: i686 Launching appliance, timeout set to 600 seconds. libguestfs: [00000ms] febootstrap-supermin-helper --verbose -f checksum '/usr/lib/guestfs/supermin.d' i686 supermin helper [00000ms] whitelist = (not specified), host_cpu = i686, kernel = (null), initrd = (null), appliance = (null) supermin helper [00000ms] inputs[0] = /usr/lib/guestfs/supermin.d checking modpath /lib/modules/3.2.0-54-generic-pae is a directory picked vmlinuz-3.2.0-54-generic-pae because modpath /lib/modules/3.2.0-54-generic-pae exists checking modpath /lib/modules/3.2.0-55-generic-pae is a directory picked vmlinuz-3.2.0-55-generic-pae because modpath /lib/modules/3.2.0-55-generic-pae exists checking modpath /lib/modules/3.2.0-51-generic-pae is a directory picked vmlinuz-3.2.0-51-generic-pae because modpath /lib/modules/3.2.0-51-generic-pae exists checking modpath /lib/modules/3.2.0-57-generic-pae is a directory picked vmlinuz-3.2.0-57-generic-pae because modpath /lib/modules/3.2.0-57-generic-pae exists checking modpath /lib/modules/3.2.0-56-generic-pae is a directory picked vmlinuz-3.2.0-56-generic-pae because modpath /lib/modules/3.2.0-56-generic-pae exists checking modpath /lib/modules/3.2.0-52-generic-pae is a directory picked vmlinuz-3.2.0-52-generic-pae because modpath /lib/modules/3.2.0-52-generic-pae exists checking modpath /lib/modules/3.2.0-53-generic-pae is a directory picked vmlinuz-3.2.0-53-generic-pae because modpath /lib/modules/3.2.0-53-generic-pae exists supermin helper [00000ms] finished creating kernel supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/base.img supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/daemon.img supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d/hostfiles supermin helper [00026ms] visiting /usr/lib/guestfs/supermin.d/init.img supermin helper [00026ms] adding kernel modules supermin helper [00071ms] finished creating appliance libguestfs: [00073ms] begin testing qemu features libguestfs: [00102ms] finished testing qemu features libguestfs: accept_from_daemon: 0x808cd20 g->state = 1 [00103ms] /usr/bin/kvm \ -global virtio-blk-pci.scsi=off \ -drive file=/tmp/libguestfs-test-tool-sda-zaN1Cj,cache=off,format=raw,if=virtio \ -nodefconfig \ -machine accel=kvm:tcg \ -nodefaults \ -nographic \ -m 500 \ -no-reboot \ -no-hpet \ -device virtio-serial \ -serial stdio \ -chardev socket,path=/tmp/libguestfswgp32L/guestfsd.sock,id=channel0 \ -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \ -kernel /var/tmp/.guestfs-1000/kernel.16390 \ -initrd /var/tmp/.guestfs-1000/initrd.16390 \ -append 'panic=1 console=ttyS0 udevtimeout=300 no_timer_check acpi=off printk.time=1 cgroup_disable=memory selinux=0 guestfs_verbose=1 TERM=screen ' \ -drive file=/var/tmp/.guestfs-1000/root.16390,snapshot=on,if=virtio,cache=unsafeqemu: could not load kernel '/var/tmp/.guestfs-1000/kernel.16390': Permission denied libguestfs: error: unexpected end of file when reading from daemon. See earlier debug messages. Or you can run 'libguestfs-test-tool' and post the complete output into a bug report or message to the libguestfs mailing list. libguestfs: child_cleanup: 0x808cd20: child process died libguestfs-test-tool: failed to launch appliance libguestfs: closing guestfs handle 0x808cd20 (state 0)
Here's the kernel symlink and its target permissions:
hactar% LANG= ls -l /var/tmp/.guestfs-1000/kernel.16390 /boot/vmlinuz-3.2.0-57-generic-pae -rw------- 1 root root 4.8M Nov 12 21:00 /boot/vmlinuz-3.2.0-57-generic-pae lrwxrwxrwx 3 bauermann bauermann 34 Dec 24 19:57 /var/tmp/.guestfs-1000/kernel.16390 -> /boot/vmlinuz-3.2.0-57-generic-pae
So the problem is that vmlinuz is readable only by root. These are the permissions of the files in /boot on my system:
hactar% LANG= ls -l /boot total 201M -rw------- 1 root root 2.3M Jul 24 18:44 System.map-3.2.0-51-generic-pae -rw------- 1 root root 2.3M Jul 26 14:46 System.map-3.2.0-52-generic-pae -rw------- 1 root root 2.3M Aug 22 19:27 System.map-3.2.0-53-generic-pae -rw------- 1 root root 2.3M Sep 10 18:32 System.map-3.2.0-54-generic-pae -rw------- 1 root root 2.3M Oct 2 12:04 System.map-3.2.0-55-generic-pae -rw------- 1 root root 2.3M Oct 23 16:54 System.map-3.2.0-56-generic-pae -rw------- 1 root root 2.3M Nov 12 21:00 System.map-3.2.0-57-generic-pae -rw-r--r-- 1 root root 786K Jul 24 18:44 abi-3.2.0-51-generic-pae -rw-r--r-- 1 root root 786K Jul 26 14:46 abi-3.2.0-52-generic-pae -rw-r--r-- 1 root root 786K Aug 22 19:27 abi-3.2.0-53-generic-pae -rw-r--r-- 1 root root 786K Sep 10 18:32 abi-3.2.0-54-generic-pae -rw-r--r-- 1 root root 787K Oct 2 12:04 abi-3.2.0-55-generic-pae -rw-r--r-- 1 root root 787K Oct 23 16:54 abi-3.2.0-56-generic-pae -rw-r--r-- 1 root root 787K Nov 12 21:00 abi-3.2.0-57-generic-pae -rw-r--r-- 1 root root 145K Jul 24 18:44 config-3.2.0-51-generic-pae -rw-r--r-- 1 root root 145K Jul 26 14:46 config-3.2.0-52-generic-pae -rw-r--r-- 1 root root 145K Aug 22 19:27 config-3.2.0-53-generic-pae -rw-r--r-- 1 root root 145K Sep 10 18:32 config-3.2.0-54-generic-pae -rw-r--r-- 1 root root 145K Oct 2 12:04 config-3.2.0-55-generic-pae -rw-r--r-- 1 root root 145K Oct 23 16:54 config-3.2.0-56-generic-pae -rw-r--r-- 1 root root 145K Nov 12 21:00 config-3.2.0-57-generic-pae drwxr-xr-x 3 root root 7.0K Dec 24 17:47 grub/ -rw-r--r-- 1 root root 21M Aug 21 00:43 initrd.img-3.2.0-51-generic-pae -rw-r--r-- 1 root root 21M Aug 21 00:49 initrd.img-3.2.0-52-generic-pae -rw-r--r-- 1 root root 21M Sep 11 22:48 initrd.img-3.2.0-53-generic-pae -rw-r--r-- 1 root root 21M Oct 1 01:43 initrd.img-3.2.0-54-generic-pae -rw-r--r-- 1 root root 21M Oct 31 01:32 initrd.img-3.2.0-55-generic-pae -rw-r--r-- 1 root root 21M Nov 22 02:37 initrd.img-3.2.0-56-generic-pae -rw-r--r-- 1 root root 21M Dec 3 16:38 initrd.img-3.2.0-57-generic-pae drwx------ 2 root root 12K Feb 12 2012 lost+found/ -rw-r--r-- 1 root root 173K Nov 27 2011 memtest86+.bin -rw-r--r-- 1 root root 175K Nov 27 2011 memtest86+_multiboot.bin -rw------- 1 root root 4.8M Jul 24 18:44 vmlinuz-3.2.0-51-generic-pae -rw------- 1 root root 4.8M Jul 26 14:46 vmlinuz-3.2.0-52-generic-pae -rw------- 1 root root 4.8M Aug 22 19:27 vmlinuz-3.2.0-53-generic-pae -rw------- 1 root root 4.8M Sep 10 18:32 vmlinuz-3.2.0-54-generic-pae -rw------- 1 root root 4.8M Oct 2 12:04 vmlinuz-3.2.0-55-generic-pae -rw------- 1 root root 4.8M Oct 23 16:54 vmlinuz-3.2.0-56-generic-pae -rw------- 1 root root 4.8M Nov 12 21:00 vmlinuz-3.2.0-57-generic-pae
Changing vmlinuz's permission to 644 fixes guestfish for me.
Thanks for the quick response!
After running update- guestfs- appliance the error message changed, so I was probably hitting a bug that was fixed already.
Now the failure is:
hactar% LANG= libguestfs- test-tool get_attach_ method: appliance get_autosync: 1 get_memsize: 500 get_network: 0 get_recovery_ proc: 1 get_selinux: 0 get_verbose: 1 supermin- helper --verbose -f checksum '/usr/lib/ guestfs/ supermin. d' i686 guestfs/ supermin. d 3.2.0-54- generic- pae is a directory 3.2.0-54- generic- pae because modpath /lib/modules/ 3.2.0-54- generic- pae exists 3.2.0-55- generic- pae is a directory 3.2.0-55- generic- pae because modpath /lib/modules/ 3.2.0-55- generic- pae exists 3.2.0-51- generic- pae is a directory 3.2.0-51- generic- pae because modpath /lib/modules/ 3.2.0-51- generic- pae exists 3.2.0-57- generic- pae is a directory 3.2.0-57- generic- pae because modpath /lib/modules/ 3.2.0-57- generic- pae exists 3.2.0-56- generic- pae is a directory 3.2.0-56- generic- pae because modpath /lib/modules/ 3.2.0-56- generic- pae exists 3.2.0-52- generic- pae is a directory 3.2.0-52- generic- pae because modpath /lib/modules/ 3.2.0-52- generic- pae exists 3.2.0-53- generic- pae is a directory 3.2.0-53- generic- pae because modpath /lib/modules/ 3.2.0-53- generic- pae exists guestfs/ supermin. d guestfs/ supermin. d/base. img guestfs/ supermin. d/daemon. img guestfs/ supermin. d/hostfiles guestfs/ supermin. d/init. img blk-pci. scsi=off \ libguestfs- test-tool- sda-zaN1Cj, cache=off, format= raw,if= virtio \ path=/tmp/ libguestfswgp32 L/guestfsd. sock,id= channel0 \ chardev= channel0, name=org. libguestfs. channel. 0 \ .guestfs- 1000/kernel. 16390 \ .guestfs- 1000/initrd. 16390 \ disable= memory selinux=0 guestfs_verbose=1 TERM=screen ' \ tmp/.guestfs- 1000/root. 16390,snapshot= on,if=virtio, cache=unsafeqem u: could not load kernel '/var/tmp/ .guestfs- 1000/kernel. 16390': Permission denied test-tool' and post the complete output into test-tool: failed to launch appliance
===== Test starts here =====
LIBGUESTFS_DEBUG=1
TMPDIR=(not set)
libguestfs: new guestfs handle 0x808cd20
library version: 1.14.8
guestfs_get_append: (null)
guestfs_
guestfs_
guestfs_get_direct: 0
guestfs_
guestfs_
guestfs_get_path: /usr/lib/guestfs
guestfs_get_pgroup: 0
guestfs_get_qemu: /usr/bin/kvm
guestfs_
guestfs_
guestfs_get_smp: 1
guestfs_get_trace: 0
guestfs_
host_cpu: i686
Launching appliance, timeout set to 600 seconds.
libguestfs: [00000ms] febootstrap-
supermin helper [00000ms] whitelist = (not specified), host_cpu = i686, kernel = (null), initrd = (null), appliance = (null)
supermin helper [00000ms] inputs[0] = /usr/lib/
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
checking modpath /lib/modules/
picked vmlinuz-
supermin helper [00000ms] finished creating kernel
supermin helper [00000ms] visiting /usr/lib/
supermin helper [00000ms] visiting /usr/lib/
supermin helper [00000ms] visiting /usr/lib/
supermin helper [00000ms] visiting /usr/lib/
supermin helper [00026ms] visiting /usr/lib/
supermin helper [00026ms] adding kernel modules
supermin helper [00071ms] finished creating appliance
libguestfs: [00073ms] begin testing qemu features
libguestfs: [00102ms] finished testing qemu features
libguestfs: accept_from_daemon: 0x808cd20 g->state = 1
[00103ms] /usr/bin/kvm \
-global virtio-
-drive file=/tmp/
-nodefconfig \
-machine accel=kvm:tcg \
-nodefaults \
-nographic \
-m 500 \
-no-reboot \
-no-hpet \
-device virtio-serial \
-serial stdio \
-chardev socket,
-device virtserialport,
-kernel /var/tmp/
-initrd /var/tmp/
-append 'panic=1 console=ttyS0 udevtimeout=300 no_timer_check acpi=off printk.time=1 cgroup_
-drive file=/var/
libguestfs: error: unexpected end of file when reading from daemon.
See earlier debug messages.
Or you can run 'libguestfs-
a bug report or message to the libguestfs mailing list.
libguestfs: child_cleanup: 0x808cd20: child process died
libguestfs-
libguestfs: closing guestfs handle 0x808cd20 (state 0)
Here's the kernel symlink and its target permissions:
hactar% LANG= ls -l /var/tmp/ .guestfs- 1000/kernel. 16390 /boot/vmlinuz- 3.2.0-57- generic- pae 3.2.0-57- generic- pae .guestfs- 1000/kernel. 16390 -> /boot/vmlinuz- 3.2.0-57- generic- pae
-rw------- 1 root root 4.8M Nov 12 21:00 /boot/vmlinuz-
lrwxrwxrwx 3 bauermann bauermann 34 Dec 24 19:57 /var/tmp/
So the problem is that vmlinuz is readable only by root. These are the permissions of the files in /boot on my system:
hactar% LANG= ls -l /boot map-3.2. 0-51-generic- pae map-3.2. 0-52-generic- pae map-3.2. 0-53-generic- pae map-3.2. 0-54-generic- pae map-3.2. 0-55-generic- pae map-3.2. 0-56-generic- pae map-3.2. 0-57-generic- pae 0-51-generic- pae 0-52-generic- pae 0-53-generic- pae 0-54-generic- pae 0-55-generic- pae 0-56-generic- pae 0-57-generic- pae 3.2.0-51- generic- pae 3.2.0-52- generic- pae 3.2.0-53- generic- pae 3.2.0-54- generic- pae 3.2.0-55- generic- pae 3.2.0-56- generic- pae 3.2.0-57- generic- pae img-3.2. 0-51-generic- pae img-3.2. 0-52-generic- pae img-3.2. 0-53-generic- pae img-3.2. 0-54-generic- pae img-3.2. 0-55-generic- pae img-3.2. 0-56-generic- pae img-3.2. 0-57-generic- pae _multiboot. bin 3.2.0-51- generic- pae 3.2.0-52- generic- pae 3.2.0-53- generic- pae 3.2.0-54- generic- pae 3.2.0-55- generic- pae 3.2.0-56- generic- pae 3.2.0-57- generic- pae
total 201M
-rw------- 1 root root 2.3M Jul 24 18:44 System.
-rw------- 1 root root 2.3M Jul 26 14:46 System.
-rw------- 1 root root 2.3M Aug 22 19:27 System.
-rw------- 1 root root 2.3M Sep 10 18:32 System.
-rw------- 1 root root 2.3M Oct 2 12:04 System.
-rw------- 1 root root 2.3M Oct 23 16:54 System.
-rw------- 1 root root 2.3M Nov 12 21:00 System.
-rw-r--r-- 1 root root 786K Jul 24 18:44 abi-3.2.
-rw-r--r-- 1 root root 786K Jul 26 14:46 abi-3.2.
-rw-r--r-- 1 root root 786K Aug 22 19:27 abi-3.2.
-rw-r--r-- 1 root root 786K Sep 10 18:32 abi-3.2.
-rw-r--r-- 1 root root 787K Oct 2 12:04 abi-3.2.
-rw-r--r-- 1 root root 787K Oct 23 16:54 abi-3.2.
-rw-r--r-- 1 root root 787K Nov 12 21:00 abi-3.2.
-rw-r--r-- 1 root root 145K Jul 24 18:44 config-
-rw-r--r-- 1 root root 145K Jul 26 14:46 config-
-rw-r--r-- 1 root root 145K Aug 22 19:27 config-
-rw-r--r-- 1 root root 145K Sep 10 18:32 config-
-rw-r--r-- 1 root root 145K Oct 2 12:04 config-
-rw-r--r-- 1 root root 145K Oct 23 16:54 config-
-rw-r--r-- 1 root root 145K Nov 12 21:00 config-
drwxr-xr-x 3 root root 7.0K Dec 24 17:47 grub/
-rw-r--r-- 1 root root 21M Aug 21 00:43 initrd.
-rw-r--r-- 1 root root 21M Aug 21 00:49 initrd.
-rw-r--r-- 1 root root 21M Sep 11 22:48 initrd.
-rw-r--r-- 1 root root 21M Oct 1 01:43 initrd.
-rw-r--r-- 1 root root 21M Oct 31 01:32 initrd.
-rw-r--r-- 1 root root 21M Nov 22 02:37 initrd.
-rw-r--r-- 1 root root 21M Dec 3 16:38 initrd.
drwx------ 2 root root 12K Feb 12 2012 lost+found/
-rw-r--r-- 1 root root 173K Nov 27 2011 memtest86+.bin
-rw-r--r-- 1 root root 175K Nov 27 2011 memtest86+
-rw------- 1 root root 4.8M Jul 24 18:44 vmlinuz-
-rw------- 1 root root 4.8M Jul 26 14:46 vmlinuz-
-rw------- 1 root root 4.8M Aug 22 19:27 vmlinuz-
-rw------- 1 root root 4.8M Sep 10 18:32 vmlinuz-
-rw------- 1 root root 4.8M Oct 2 12:04 vmlinuz-
-rw------- 1 root root 4.8M Oct 23 16:54 vmlinuz-
-rw------- 1 root root 4.8M Nov 12 21:00 vmlinuz-
Changing vmlinuz's permission to 644 fixes guestfish for me.