Alon Bar-Lev wrote:
Hello, I am trying to build a basic initramfs image into the kernel, using the CONFIG_INITRAMFS_SOURCE. The required result is a single image loaded into a target containing usermode application (busybox). I use cross compile mipsel-unknown-linux-uclibc in order to build the kernel and the initramfs's usermode. The cpio image is created using cpio -o -H newc command. The same configuration works with i586-pc-linux-uclibc cross compile. printk at init/main.c::run_init_process() shows that the kernel_execve() returns -2 (ENOENT) for /init and -14 (EFAULT) for /*/init. Looking at the initramfs /init is available and executable. Any reason why I get ENOENT? Any special procedure should be performed for mips arch?
Make sure your /init doesn't depend on an interpreter or library which isn't available.
-hpa