USB and fast booting
Posted May 3, 2009 16:36 UTC (Sun) by giraffedata
In reply to: USB and fast booting
Parent article: USB and fast booting
also, waiting for the USB driver to initialize isn't enough. you need to wait an unknown amount of time after the driver is initialized for all the devices to announce themselves.
The suggestion was that the driver not consider itself initialized until it had waited a prescribed amount of time for devices to announce themselves.
the problem is that you have _no_ way of knowing if you have waited long enough. all you can do is to pick a number and guess.
That's a problem, and a big one, but it's not the immediate one. The immediate problem is that Linux already picked a number (100 ms) and it works for many people, but the new decoupling of USB driver initialization from mounting the root filesystem makes even that strategy fail. Hence the suggestion that the wait somehow be made part of mounting the USB root filesystem.
I think even if you could know when every device had reported in, it wouldn't solve the problem. Who says the root device has to be plugged in before the kernel begins running? The reason USB doesn't provide for definitive enumeration of devices is that it is designed for a fluid network, so maybe mount needs to wait for the operator to get around to plugging in the device as well.
to post comments)