trying to debug my failure to start "init"

Robert P. J. Day rpjday at mindspring.com
Thu Jun 10 23:00:30 EST 2004


On Thu, 10 Jun 2004, Mark Chambers wrote:

> >   for more feedback, i added a printk() call to the run_init_process()
> > function in init/main.c to see what it thought it was doing.
>
> Maybe you should add a printout of errno, which the execve() inside of
> run_init_process() will set - might give an important clue.

did that, here are the results:

Freeing unused kernel memory: 52k init
Trying run_init_process with /sbin/minit
Error code from execve: -1
Errno: 2
Trying run_init_process with /sbin/init
Error code from execve: -1
Errno: 14
Trying run_init_process with /etc/init
Error code from execve: -1
Errno: 14
Trying run_init_process with /bin/init
Error code from execve: -1
Errno: 14
Trying run_init_process with /bin/sh
Error code from execve: -1
Errno: 14
Kernel panic: No init found.  Try passing init= option to kernel.


  if i read the include files correctly (include/asm-generic/errno*.h), i
read this as:

#define ENOENT           2      /* No such file or directory */
#define EFAULT          14      /* Bad address */

note that the error for minit is different from all the busybox errors.
the man page for execve() tells me this:

ENOENT The file filename or a script or ELF interpreter does not exist,
or a shared library needed for file or interpreter cannot be found.

EFAULT filename points outside your accessible address space.

  so, i guess the next step is to compile minit statically and see what
happens.

rday


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list