On Thu, 6 Dec 2007, Wolfgang Wegner wrote:

> Hi David (and others),
>
> I finally found what causes the initramfs not to work:
>
> I have to have /init in the initramfs filesystem, else the kernel does
> not use it.
>
> The Makefiles do install /bin/init and /linuxrc as a symbolic link to
> /bin/init, but no /init and the kernel needs exactly this.
>
> I do not know if this a kernel or Makefile bug, but finally it is
> somlved (for me).

i'm not sure if this addresses what you're talking about here, but in
the kernel source tree, in Documentation/early-userspace/README, you
can read:

c) using initramfs.  The call to prepare_namespace() must be skipped.
   This means that a binary must do all the work.  Said binary can be stored
   into initramfs either via modifying usr/gen_init_cpio.c or via the new
   initrd format, an cpio archive.  It must be called "/init".  This binary
   is responsible to do all the things prepare_namespace() would do.

   To maintain backwards compatibility, the /init binary will only run if it
   comes via an initramfs cpio archive.  If this is not the case,
   init/main.c:init() will run prepare_namespace() to mount the final root
   and exec one of the predefined init binaries.


so, if i read that correctly, you can't supply /init via an external,
filesystem-format initrd.  was that what you were trying to do?  or
were you simply missing a /init entirely?

rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca
========================================================================
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to