i don't think this has been mentioned in a while, so i wanted to quickly jot down a few tricks for looking at a "hung" machine.
there are three main things that can hang things up on initial boot that aren't related to the kernel misbehaving - unclean shutdown forcing a fs check. this can take 15-20 minutes on a big drive, or slow vm disk. - dhcp (should be limited to 5-10 minutes on sources, and ~30s on atom) - timesync. i saw this issue one in 2008, so i don't remember much about it. - interrupts incorrectly mapped. (even acpi can get it wrong.) if you can hit enter on the console, and have it recognized, you can have some confidence that interrupts are working. if you can type ^T^Tp and get a process listing, that's even better. you may (especially if you have a serial console) be able to figure out who is misbehaving. if you can type ^T^Tq and get the scheduler dump that might tell you if you have a lot of runnable processes. if you can type ^T^Ti and get the interrupt dump, that might tell you if a some hardware isn't interrupting. if your machine isn't making it this far, there isn't too much that can be easily done, unless you can pxe boot. i usually put prints in the boot to see where things are going wrong. i had the pleasure of doing that yesterday putting new locks in the pae kernel. (i really need to use charles' GS: extern register trick to avoid this MACHP nonsense.) - erik