linux/init
Michael Opdenacker ba24762bd5 init: make init failures more explicit
This patch proposes to make init failures more explicit.

Before this, the "No init found" message didn't help much.  It could
sometimes be misleading and actually mean "No *working* init found".

This message could hide many different issues:
 - no init program candidates found at all
 - some init program candidates exist but can't be executed (missing
   execute permissions, failed to load shared libraries, executable
   compiled for an unknown architecture...)

This patch notifies the kernel user when a candidate init program is found
but can't be executed.  In each failure situation, the error code is
displayed, to quickly find the root cause.  "No init found" is also
replaced by "No working init found", which is more correct.

This will help embedded Linux developers (especially the newcomers),
regularly making and debugging new root filesystems.

Credits to Geert Uytterhoeven and Janne Karhunen for their improvement
suggestions.

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Janne Karhunen <Janne.Karhunen@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-11-13 12:09:26 +09:00
..
calibrate.c kernel: delete __cpuinit usage from all core kernel files 2013-07-14 19:36:59 -04:00
do_mounts_initrd.c usermodehelper: split remaining calls to call_usermodehelper_fns() 2013-04-30 17:04:06 -07:00
do_mounts_md.c
do_mounts_rd.c init/do_mounts_rd.c: fix NULL pointer dereference while loading initramfs 2013-11-13 12:09:26 +09:00
do_mounts.c init/do_mounts.c: add maj:min syntax comment 2013-11-13 12:09:12 +09:00
do_mounts.h
init_task.c sched/rt: Move rt specific bits into new header file 2013-02-07 20:51:08 +01:00
initramfs.c init, block: try to load default elevator module early during boot 2013-01-18 14:05:56 -08:00
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:36:00 +09:00
main.c init: make init failures more explicit 2013-11-13 12:09:26 +09:00
Makefile
noinitramfs.c
version.c proc: Split the namespace stuff out into linux/proc_ns.h 2013-05-01 17:29:39 -04:00