* 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