[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#588452: "softdep" modules not included in initramfs when MODULES=dep is specified



* Stephen Powell <zlinuxman@wowway.com> [Thu Jul 08, 2010 at 10:53:20AM -0400]:

> "softdep" modules are not included in the initial RAM file system
> when MODULES=dep is specified.  Here's an example from the s390
> architecture:

> /etc/modprobe.d/dasd.conf:

>    options dasd_mod dasd=0.0.0200(diag),0.0.0201,0.0.0202-0.0.0203(diag)
>    softdep dasd_eckd_mod pre: dasd_diag_mod
>    softdep dasd_fba_mod pre: dasd_diag_mod

> (/etc/modprobe.conf does *not* exist)

> /etc/initramfs-tools/conf.d/driver-policy:

>    MODULES=dep

> /etc/initramfs-tools/modules:

>    (dasd_diag_mod is *not* listed)

> dasd_eckd_mod is included in the initial RAM file system.  I assume that
> that is due to matching on the alias "ccw:t3990m*dt3390dm*".  dasd_mod
> is also included in the initial RAM file system.  I presume that that
> is due to the fact that dasd_mod is a hard dependency of dasd_eckd_mod.
> But dasd_diag_mod is *not* included in the initial RAM file system,
> even though it is listed as a soft dependency of dasd_eckd_mod, which
> has already been selected for inclusion.

> On the system above, this prevents the system from booting, as the
> devices marked for use with the diag driver, including the root file
> system in this case, cannot be brought online.  Therefore, the permanent
> root file system cannot be mounted.

> I am able to circumvent the problem by explicitly listing dasd_diag_mod
> in /etc/initramfs-tools/modules, but this should not be necessary.

For MODULES=dep we use modprobe as interface to detect dependencies.
To display the dependencies of dasd_eckd_mod you could run:

 modprobe --set-version="$(uname -r)" --ignore-install --quiet --show-depends dasd_eckd_mod | awk '/^insmod/ { print $2 }'

which will not list dasd_diag_mod as a dependency AFAICS.

Quoting:

,---- [ modprobe.conf(5) ]
| COMPATIBILITY
|
|        A future version of module-init-tools will come with a strong
|        warning to avoid use of the install as explained above. This
|        will happen once  support for  soft  dependencies  in the
|        kernel is complete.  That support will complement the
|        existing softdep support within this utility by providing
|        such dependencies directly within the modules.
`----

I don't want to include any special support for softdep just inside
initramfs-tools, instead I'd like to get an interface from
module-init-tools's modprobe that we could use for dependency
resolution.

Any objections against reassigning this bugreport to
module-init-tools (maks?)?

regards,
-mika-

Attachment: signature.asc
Description: Digital signature


Reply to: