David Konerding
2011-Aug-11 00:16 UTC
[Libguestfs] appliance VM won't start, can't find /init, but /init is in the image.
Hi,
Still trying to get libguestfs appliance test to work on Ubuntu Lucid. I
figured out my umask was causing problems and fixed that. now I'm on to a
new problem. libguestfs-test-tool reports the following:
febootstrap: mounting new root on /root
febootstrap: chroot
/proc/uptime: No such file or directory
execl: /init: No such file or directory
febootstrap: debug: listing directory /
2 d . 040755 4096 88619:5000
2 d .. 040755 4096 88619:5000
11 d lost+found 040700 16384 0:0
12 d bin 040755 4096 23083:5000
13 d boot 040755 4096 23083:5000
14 d etc 040755 4096 23083:5000
109 d lib 040755 4096 23083:5000
156 d sbin 040755 4096 23083:5000
157 d usr 040755 4096 23083:5000
534 d var 040755 4096 23083:5000
3701 - init 100750 3264 23083:5000
Note, init is indeed a file (a shell script). I checked the root and initrd
images, and they both have init (the initrd has an init binary, the root has
a shell script that starts udev etc).
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://listman.redhat.com/archives/libguestfs/attachments/20110810/b5a74d6a/attachment.htm>
Richard W.M. Jones
2011-Aug-11 18:10 UTC
[Libguestfs] appliance VM won't start, can't find /init, but /init is in the image.
On Wed, Aug 10, 2011 at 05:16:13PM -0700, David Konerding wrote:> Hi, > Still trying to get libguestfs appliance test to work on Ubuntu Lucid. I > figured out my umask was causing problems and fixed that. now I'm on to a > new problem. libguestfs-test-tool reports the following: > > febootstrap: mounting new root on /root > febootstrap: chroot > /proc/uptime: No such file or directory > execl: /init: No such file or directory > febootstrap: debug: listing directory / > 2 d . 040755 4096 88619:5000 > 2 d .. 040755 4096 88619:5000 > 11 d lost+found 040700 16384 0:0 > 12 d bin 040755 4096 23083:5000 > 13 d boot 040755 4096 23083:5000 > 14 d etc 040755 4096 23083:5000 > 109 d lib 040755 4096 23083:5000 > 156 d sbin 040755 4096 23083:5000 > 157 d usr 040755 4096 23083:5000 > 534 d var 040755 4096 23083:5000 > 3701 - init 100750 3264 23083:5000 > > Note, init is indeed a file (a shell script). I checked the root and initrd > images, and they both have init (the initrd has an init binary, the root has > a shell script that starts udev etc).The problem is that the kernel gives the same error "execl: /init: No such file or directory" for a whole variety of reasons. These include: - /init missing (obviously not the case here) - /bin/sh missing - any library that /bin/sh needs is missing - ld-linux missing So you need to make sure /bin/sh is there. If it's a symlink (eg. to dash) then the destination file is there. Then do 'ldd /bin/sh' and make sure all of the required libraries and ld-linux are there. 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