fastboot/async and initramfs: How am I supposed to know when devicesare finished initializing?

From: Thomas Bächler
Date: Sun Mar 29 2009 - 12:02:56 EST


Okay, I have this problem in 2.6.29 with the "fastboot" option and in today's linux-2.6.git.

In initramfs, we run the following commands:
/sbin/udevd --daemon
/sbin/udevadm trigger
/sbin/udevadm settle
Among other things, this loads the ata_piix on my machine. On older kernels I could assume that after these commands, /dev/sda* existed and I could immediately access them (in my case, I run cryptsetup on /dev/sda6). But now, the devices don't exist here, but are only created a second or so later. As a result, the initramfs script has already bailed out as it couldn't find /dev/sda6 and assumed that the hard drive didn't exist.

So my question is, if udevadm settle doesn't wait for the devices anymore, how am I supposed to know when the devices have been created? If there is no way to know, I would consider this a regression, as it is no longer possible to cleanly write initramfs scripts.

Thanks for you replies
Thomas Bächler
Arch Linux Developer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/