Re: problem startup

From: Andy Valencia <vandys_at_nospam.org>
Date: Thu Sep 03 1998 - 08:54:13 PDT

[Helmi Zain <helmi@NII.itb.ac.id> writes:]

>I have same problem when I try boot vsta from floppy with GRUB.
>The error messege is:
>init can't find root, sleeping !
>init can't find root, sleeping !

Since you didn't drop into the debugger, none of the processes exited. Init
is trying to mount the DOS root filesystem, and this filesystem is trying to
open the FD disk device.

>and than i can't do anything, i loss control my machine :-)

Can you ^Z (control key, and Z) to get into the kernel debugger?

>Anyone can help me ? what should i do ?

Assuming you can get into the kernel debugger, do a "pr" to see which
processes exist. Then work your way back. Find the FD task, and do "pr
<pid>" for it. You'll see each thread, and do "bt <thread-id>" for each, to
see what they're blocked on. Then do the same thing for the DOS filesystem
task, and for grins, init. Hopefully you'll find one of them blocked on
something unexpected. Normally you'd expect to see the FD thread blocked on
a msg_receive(), and maybe one on timed_sleep(). The DOS one should show
threads in msg_receive() (if it's idle, waiting for work) or down in
msg_send() (if it has a request outstanding to the disk). For msg_send(),
the first argument is the port # it's talking to. You can then do "pr
<pid>" and look at the "ports: " and count over for this port #, then do
"ref <addr>" (which looks up a port reference, i.e., an open port) for this
port. The "state" is of interest, and also "port". You can then do "port
<addr>" for the latter, and it'll tell you about the port, including the PID
which serves that port. You can then do some sanity cross checking.

We can work this offline if you get some more data and can't find the
problem.

                                                        Andy
Received on Thu Sep 3 04:54:10 1998

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:43 PDT