hooks/live, scripts/live: Add USB modules, workaround udevtrigger (?) bug
This patch goes some way towards fixing USB-backed persistence by
configuring the live initramfs to contain the "sd_mod" module and adding
a hacky workaround to a udev-related race condition.
For some reason, the usual udevtrigger/udevsettle pairing does not block
after we have loaded our USB modules and /dev/sda1 (for example) is ready.
Because of this, we sleep for a little while and break if a new block
device appears.
This seems to be a bug either in udev or in my understanding of how the
tool is meant to work. Some information may be gained from the casper bug:
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591
Sleep-based hacks like this are really ugly, but I take some comfort in
finding them elsewhere in the source.