Re: 2.6.12 initrd module loading seems parallel on bootup
From: Christian Trefzer
Date: Wed Jun 29 2005 - 18:41:56 EST
Hi Darry,
first of all thanks for your questions, and sorry for answering late,
I've been away for some time.
Darryl L. Miles schrieb:
Are we sure we are not talking about two different problems here.
I'm using RedHat and mkinitrd, in the initrd image there is already a
skeleton /dev tree that contains my real-root device. udev also exists
in the initrd image. I don't think any /dev device magic was necessary
for me too mount root.
It is not clear Chris which tools you are using on initrd, standard
Gentoo methods or a home brew setup ? What shell is calling modprobe ?
Can you confirm at what point you are seeing modprobe exit ?
I am using a self-made initramfs setup using the "standard" binaries
from the live system, usable for instance as rescue system with tools
identical to anything I have installed, including bash as shell for the
init script, udev, module-init-tools, lvm2, mdadm, and so on and so
forth. There are only the most basic device nodes in the supplied /dev
tree, like null, console, etc.
Unfortunately, I don't really "see" modprobe exit, it just takes less
time until the "modprobe $mod && e_done" prints its "done." yet related
device nodes are still missing. Waiting for any required nodes fixes the
problem so far, but maybe bash-3.00 is having a similar issue as nash.
I'll try using sash or busybox ASAP to check if the problem is somewhere
else.
The funny thing is that with kernels up to 2.6.11.12, I don't see this
problem. The patch mentioned further up this thread was against
2.6.11-rc1 and should have been applied long before I even touched
2.6.11, so I just don't understand why I have problems now.
* Immediatly (before device driver has detected hardware and reported /
registered its findings). This is the symptom I was seeing, but the
cause was incorrect shell handling. * After detection but before device
node creation.
Well, so far I cannot distinguish both of these cases, but it definitely
is _not_ the third one:
* After device node creation.
Otherwise I would not run into problems like mdadm failing trying to
assemble arrays while disk nodes are still missing in action.
FYI - This looks like the snippet from nash.c
[snip]
Thanks for the patch, I'll look into similarities in the bash code if
the shell really is the cause of my trouble.
Attachment:
signature.asc
Description: OpenPGP digital signature