On 3/16/07, Rajat Jain <rajat.noida.india@xxxxxxxxx> wrote:
Hi, I am using Linux kernel 2.6.15 on a MIPS embedded box. I am booting up successfully using an initramfs compressed cpio archieve as my root, but only after MANUALLY COMMENTING the call to prepare_namespace() in init/main.c:init(). I referred to the following text in Documentation/early-userspace/README: ========================================== 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 <...snip...>. It must be called "/init". This binary is responsible to do all the things prepare_namespace() would do. <...snip...>, 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. ========================================== I understand that /init in initramfs is suuposed to mount the real root, but in my case, I don't want to mount any other real root - I just want the initramfs to remain the root. 1) Is there any command line option (like root=/dev/ram0 as in case of initrd) to let the initramfs continue as the root file system? 2) The above README text suggests that the call to prepare_namespace() will automatically be skipped if /init (in initramfs) mounts a real root. Can somebody please point out in code how / where this is done?
OOPS ... found it! It was right there before my eyes ....its done int init(). got the answer to my query no 2, however, my query 1 is still open. Thanks, Rajat - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs