Bug#312213: initrd-tools: excessive amount of modules included in initrd
On Mon, Jun 06, 2005 at 12:27:31PM +0200, Andreas Schultz wrote:
> Package: initrd-tools
> Version: 0.1.81.1
> Severity: important
> Tags: patch
>
>
> While hunting for a solution to my bug #312207, i came accross a problem in
> module_exists(). The shell replacement in there causes the find statement
> to search for to much files. A invocation like:
>
> module_exists drivers/md/dm-mod
>
> should result in a:
>
> find $MODULEDIR/kernel/drivers/md -name "dm-mod.ko"
>
> but i generates instead
>
> find $MODULEDIR/kernel/drivers -name "dm-mod.ko"
>
> This becomes a problem when mkinitrd tests whether a give modules is a scsi
> or ide module. It will conclude that modules like thermal or fan are scsi
> modules and needlessly include them into the initrd.
>
> The fix is simple and obvious:
>
> --- mkinitrd.orig 2005-06-06 11:38:19.000000000 +0200
> +++ mkinitrd 2005-06-06 12:06:49.000000000 +0200
> @@ -415,7 +415,7 @@
> }
>
> module_exists() {
> - [ -n "$(find "$MODULEDIR/kernel/${1%%/*}" -name "${1##*/}.$o")" ]
> + [ -n "$(find "$MODULEDIR/kernel/${1%/*}" -name "${1##*/}.$o")" ]
> }
>
> print_module() {
That seems fine enough to me.
Does anyone object?
--
Horms
Reply to: