[Libguestfs] Guestfish errors (Running in VirtualBox)

Richard W.M. Jones rjones at redhat.com
Thu May 12 15:21:14 UTC 2011


On Thu, Apr 07, 2011 at 05:33:39PM +0100, Richard W.M. Jones wrote:
> > execl: /init: No such file or directory
[...]
> I've seen this error before somewhere, but for the life of me I can't
> exactly remember what caused it.

I've seen this error on Debian today.  However it was caused by a bug
introduced in the Debian libc6 package yesterday so it was unlikely to
be the cause of your problem.  Nevertheless the reason is instructive
so read on.

Yesterday a broken libc6 package was uploaded which omitted the /lib64
directory[1].  All Debian binaries on x86-64 use
/lib64/ld-linux-x86-64.so.2 as the ELF interpreter, so of course this
broke absolutely everything.

It broke febootstrap because when it tries to run /init, it has to run
/bin/sh which in turn has to load the ELF interpreter and all shared
libraries that /bin/sh needs.  If the ELF interpreter or any shared
library is missing, then execl returns errno == ENOENT and you would
see the precise error above.

This means that if the error above is seen, we need to look carefully
to check that /bin/sh exists (or is a symlink to something that
exists), _and_ that all dependent stuff it needs exists.

I have added[2] a bunch of debugging into febootstrap so that it
should be simpler in future to diagnose this sort of error.

Rich.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626447

[2] http://git.annexia.org/?p=febootstrap.git;a=commitdiff;h=6ab9465001dfaa52edc5992ee71f2e9aecc2085d

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora




More information about the Libguestfs mailing list