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

2010-07-08 Thread Stephen Powell
Package: initramfs-tools
Version: 0.97

"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.

-- 
  .''`. Stephen Powell
 : :'  :
 `. `'`
   `-



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/922649436.38679.1278600800110.javamail.r...@md01.wow.synacor.com



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

2010-07-08 Thread Michael Prokop
* Stephen Powell  [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-


signature.asc
Description: Digital signature


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

2010-07-08 Thread Stephen Powell
On Thu, 08 Jul 2010 12:03:39 -0400 (EDT), Michael Prokop wrote:
> 
> 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.

Output of the above command on my system:

   /lib/modules/2.6.32-custom5b-s390x/kernel/drivers/s390/block/dasd_mod.ko
   /lib/modules/2.6.32-custom5b-s390x/kernel/drivers/s390/block/dasd_eckd_mod.ko

In other words, it list only the module itself plus hard dependencies.

-- 
  .''`. Stephen Powell
 : :'  :
 `. `'`
   `-



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1294535410.43811.1278611163548.javamail.r...@md01.wow.synacor.com