On 4/6/06, Fredrik Tolf <[EMAIL PROTECTED]> wrote: > I'll give you the data you requested anyway, though. Please tell me if > something is strange.
Actually, I forgot a question, that is "what version of baselayout are you using?". There are 2 possible race conditions that I see in your current setup: 1. As you mention, I believe the detection of disks and partitions happens asynchronously after the module is loaded. I haven't checked the kernel source to be sure however. Since these volumes are on different buses than your root filesystem, loads of modules (dm_mod for example) or the programs (lvm2), are not going to block waiting for the IOs on these buses to complete. Still, the detection happens pretty quick, and I'm not convinced this is the problem. 2. The second case for a race condition is with udev. Since each disk and partition detected is going to generate a hotplug event to udev, and again these events are handled asynchronously to anything else on the system, there could be a small delay between the detection of the device and when the node actually appears in /dev. The mechanism used for the kernel and udev to communicate varies depending upon the kernel and udev version, so one kernel may exhibit this problem while another would not. I am assuming at this point that you are running the stable baselayout, 1.11.14-r6. Because with the current ~x86 baselayout, I don't see how your setup could work at all. The call to start_volumes has been moved from checkfs to the /sbin/rc script, right after udev is started, but before the critical boot services are run (e.g, modules). I really think the right thing to do would be to recompile your kerrnel and build the bus and sd_mod drivers into your kernel. This should ensure that all of the drives and partitions are detected before the /sbin/rc script runs, and the device nodes will be created when udev starts. If you are reallly against building those into your kerrnel, I would make a /etc/modules.d/lvm file that contains: install dm_mod /sbin/modprobe sd_mod pdc202xx_new sata_sil; \ /sbin/modprobe --ignore-install dm_mod; \ /bin/sleep 0.2 Then run modules-update to recreate /etc/modules.conf. This will cause those modules to be loaded before dm_mod, give some time for the devices to be detected and nodes to be created, and ensure that your system survives a baselayout change. -- gentoo-user@gentoo.org mailing list