Re: 2.6.12 initrd module loading seems parallel on bootup

Christian Trefzer
2005-06-29T23:40:27Z

[-- Attachment #1: Type: text/plain, Size: 2383 bytes --]

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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 894 bytes --]