[BusyBox] Please Help: Kernel Panic : busybox " init not found try passing parameter init="

Brent Roman brent at mbari.org
Mon Mar 28 06:10:41 UTC 2005


I was stuck at the same place you described.

After a couple hours I noticed that
the /lib files were not "executable" on the failing system,
but were on the one I'd generated (a few days before)
that booted correctly.  So,
I mounted the failing flash image, made its .so's in /lib executable
and rebooted.

Viola!

Problem solved.

I'm quite sure I changed nothing else.

It may be only ld-*.so that must be executable.
(because the dynamic loader itself IS a static executable)
So, in the interests of Science:

root at ESPhost:/lib# l
-rwxr-xr-x    1 root     root        80880 Mar 19 01:26 ld-2.2.5.so
-rwxr-xr-x    1 root     root        80880 Mar 19 01:26 ld-linux.so.2
...
root at ESPhost:/lib# chmod a-x ld-2.2.5.so
root at ESPhost:/lib# ls
-sh: ls: Permission denied
root at ESPhost:/lib# ls
-sh: ls: Permission denied
root at ESPhost:/lib# chmod a+x ld-2.2.5.so
-sh: chmod: Permission denied
root at ESPhost:/lib#

The system is now effectively wedged.
When I get into work tomorrow, I'll repair the damage ;-)

BTW -- The busybox binary does not need to be suid root.
Only a few select programs (previously part of the tinylogin
package) require this.  /sbin/init is not one of them.
After all, it is always executed by the root user.  So, why
would it need to have its suid set to make it euid root?

It's typically utilities like passwd, ping, and su that need suid set.


- brent




More information about the busybox mailing list