The ramdisk may void the rootwait option, thus it won't solve the
issue.

Several approaches can be used to solve the issue.
1. extract the ramdisk on your usb disk to a separate empty parition
and specify the root in the cmdline, be sure to add the rootwait (or
rootdelay) option.
2. I remembered that that some one has posted the usleep support in
init program on the code review site, but i don't know where it is now
and it seems the code is in current updated source yet.  Here is one
similar patch, and  with that, you can add one line in your init.rc:

on early-init
       sleep 7

diff -uNr init.orig/builtins.c init/builtins.c
--- init.orig/builtins.c        2008-12-20 01:16:51.000000000 +0800
+++ init/builtins.c     2008-12-24 23:07:10.000000000 +0800
@@ -496,3 +496,12 @@
                           decode_uid(args[4]), prefix);
     return 0;
 }
+
+int do_sleep(int nargs, char **args)
+{
+  if(nargs == 2) {
+       sleep(atoi(args[1]));
+       return 0;
+  } else
+       return -1;
+}

diff -uNr init.orig/keywords.h init/keywords.h
--- init.orig/keywords.h        2008-12-20 01:16:51.000000000 +0800
+++ init/keywords.h     2008-12-24 23:07:10.000000000 +0800
@@ -24,6 +24,7 @@
 int do_chown(int nargs, char **args);
 int do_chmod(int nargs, char **args);
 int do_loglevel(int nargs, char **args);
+int do_sleep(int nargs, char **args);
 int do_device(int nargs, char **args);
 #define __MAKE_KEYWORD_ENUM__
 #define KEYWORD(symbol, flags, nargs, func) K_##symbol,
@@ -56,6 +57,7 @@
     KEYWORD(setkey,      COMMAND, 0, do_setkey)
     KEYWORD(setprop,     COMMAND, 2, do_setprop)
     KEYWORD(setrlimit,   COMMAND, 3, do_setrlimit)
+    KEYWORD(sleep,       COMMAND, 1, do_sleep)
     KEYWORD(socket,      OPTION,  0, 0)
     KEYWORD(start,       COMMAND, 1, do_start)
     KEYWORD(stop,        COMMAND, 1, do_stop)
diff -uNr init.orig/parser.c init/parser.c
--- init.orig/parser.c  2008-12-20 01:16:51.000000000 +0800
+++ init/parser.c       2008-12-24 23:07:10.000000000 +0800
@@ -179,6 +179,7 @@
         if (!strcmp(s, "etkey")) return K_setkey;
         if (!strcmp(s, "etprop")) return K_setprop;
         if (!strcmp(s, "etrlimit")) return K_setrlimit;
+        if (!strcmp(s, "leep")) return K_sleep;
         if (!strcmp(s, "tart")) return K_start;
         if (!strcmp(s, "top")) return K_stop;

Hope it helps!
--
 Chen

On Dec 21, 4:00 pm, Huan Truong <[email protected]> wrote:
> I tried to install from the install USB disk to my other USB disk on
> my eeePC 900HA (with my hard drive taken out), and I am currently
> stuck shortly after the screen changed to 1024x600 
> fb:http://i43.tinypic.com/25p4cqc.jpg
>
> Looks like we need to wait a little bit more before we try to mount
> the USB drive because the USB drive is detected at 7sec, while the
> read process was started at 3sec. If I am right, how can I do that?
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to