Matthew Garrett wrote:
This is something of a guess, but:
Building drivers into the kernel doesn't guarantee the order that they'll be initialised in, and the kernel won't block on enumerating the USB bus. If you have the camera module built-in, then it may end up altering timing in such a way that the USB device doesn't get bound until after the kernel has done IP config. The standard way around this is to have a ramdisk that loops until the expected devices are found.
I've also found a patch http://www.lammerts.org/software/kernelpatches/nfsroot-hotplug_ethernet.patc... which makes the kernel wait for a network device to appear. Seem to work too.
Matt