Fix for Raspberry Pi / ODROID silently failing to boot

April 14, 2014 Linux ODROID U3 Raspberry PI

If you have USB drives in your /etc/fstab and your Linux system fails to boot after registering in the network, try this:

Remove the drives from fstab, or add nobootwait to mount flags.

To do this you’ll have to attach the root storage drive to another linux system; if you don’t have one at home, do not despair and use VirtualBox.

Explanation

Sometimes, especially on a cold boot, USB drives don’t have time to initialize before fstab kicks in, and when fstab sees a drive is missing, Linux enters an “emergency mode” with no indication, no keyboard input, nothing. The boot just hangs. The computer had already connected to DHCP, but no network services have started yet. For me this was super confusing and I’ve already reflashed the device a couple times on similar occasions. (Fortunately, when it’s provisioned by Chef, reflashing is no big deal.)

Nobootwait tells the system to ignore such errors on non-mission-critical drives. However, I don’t think they will automount later. I’m working on a more reliable solution to this issue.