The problem is that sometimes, when init calls
fsck, /dev/exthd1 has not appeared yet, fsck bombs and init drops me to
an emergency shell. This happens about 50% of the times. Then I use the
emergency prompt to check if /dev/exthd1 actually exists, and, again,
50% of the times it doesn't; the /dev/sd?1 file is always there,
though. When /dev/exthd1 doesn't exist, a "udevadm trigger" will bring
it up.
This looks like some kind of race condition between kernel and
udev, but I don't really understand why udev doesn't pick on the new
devices automatically, as soon as the kernel creates them. I have tried
to add WAIT_FOR="/dev/exthd1" to my udev rule, but it didn't help.