One of my notebooks is a Compaq nc4200 (Mobile Intel 915GM Express). All Ubuntu kernels > 2.6.32-20 don't boot on that machine. Instead I get an error message:
error: unexpectedly disconnected from boot status daemon
Begin: Waiting for root file system ...
After some googling I found Bug #574755 in Debians BTS. In this case plymouth had some bug. So I tried to add i915 modeset=1
to /etc/initramfs-tools/modules
. This made the boot screen complete lack. I saw no output anymore. Second I tried to remove the plymouth-package. After purging it I got the same message again.
I dug a bit further. From my point of view this must be some kind of file system thing. Output from boot:
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Waiting for root file system ...`
After some time there is a timeout and a BusyBox shell appears:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! r/dev/disk/by-uuid/(UUID-of-my-sda1) does not exist. Dropping to a shell!
BusyBox v1.19.3 (Ubuntu 1:1.10.3-7ubuntu1.1) built-in shell (ash)
Enter 'help' for a lost of built-in commands.
(initramfs)
Now I'm out of ideas. What can be the cause of it? How I resolve this issue?
If you are still having this problem: 1. Go to launchpad and file a bug. A new bug. Don't add a "me too" to an existing bug. 2. Go to #ubuntu-kernel on freenode (this is an irc channel on an irc server). The Ubuntu kernel team hangs out there almost 24 hours per day, Monday through Friday. Please, don't pop in, ask a question and if you don't get an answer right away, disconnect. If you are patient, you can get someones attention and they will try to help. Really, they are not scary people :-)
Have you tried to use the old notation /dev/sdxn instead of using UUID?.
It's possible that your drive is not coming online fast enough and the kernel is giving up on it before it is ready. There's a way to test this to work around it.
The instructions below assume you are running Ubuntu 9.10 or later. If you are running an earlier release, you can see https://help.ubuntu.com/community/GrubHowto for instructions on performing the edits below.
When rebooting your system, select the kernel to boot (you may need to hold shift while the system is booting to see the GRUB bootloader menu, depending on your setup). Then press 'E' to edit the boot options.
Scroll to the line that starts with "kernel" and move the cursor to the end of the line. At the end of that line, add a space and "rootdelay=60". This will tell the kernel to wait up to 60 seconds for your drive to become ready. Then press Control-X to boot.
If all goes well, your system will boot. If this is the case, you can make the changes permanent by adding them to the default boot options. To do this, open a terminal (Applications - Accessories - Terminal) and type:
Find the line that looks like:
and change it to
Finally, run
sudo update-grub
to make sure your changes are properly picked up.
For more information about the options available in the bootloader, you can see https://help.ubuntu.com/community/Grub2 . (There is a bug report about this delay for specific hardware at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/482327 .)