Hi,everyone.
These days, I have been working on android porting. But cannot launch
the file of /init in the ramdisk.img.

I have found that the ramdisk.img has been unpacked and mounted to
rootfs.
In the kernel , I can list the entry of the initial ramdisk by printk
function.
But when run the first process /init on the rootfs ,Nothing has
happened.
And I printk the return value of do_execve, the value is correct.

The process is executed as follows.

start_kernel->rest_init->kernel_init->init_post->run_init_process-
>kernel_execve

In the kernel_execve ,printk the return value of do_execve. And the
value is zero. I think that is right.
But why the screen has nothing to export?
int kernel_execve(const char *filename, char *const argv[], char
*const envp[])
{
   struct pt_regs regs;
   int ret;

   memset(&regs, 0, sizeof(struct pt_regs));
   ret = do_execve((char *)filename, (char __user * __user *)argv,
(char __user * __user *)envp, &regs);
   if (ret < 0)
       goto out;

   /*
    * Save argc to the register structure for userspace.*/
   regs.ARM_r0 = ret;
   printk("ret:%d\n",ret);
...
All suggestions will be appreciated.

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to