I'm really disappointed that this bug hasn't been resolved yet.
What's the status of this?

* Martin Michlmayr <[email protected]> [2009-12-04 23:27]:
> Package: cryptsetup
> Version: 2:1.1.0~rc2-1
> Severity: important
> Tags: patch
> 
> After installing cryptsetup on my armel machine, the initramfs grew
> from 4.5 MB to 15 MB, causing an error because the ramdisk no longer
> fit in flash.  All modules were copied to the ramdisk!
> 
> This is because armel (and some other arches) don't have a kernel/arch
> directory, and you do:
> 
>   archcrypto="$(find "$MODULESDIR/kernel/arch" -type d -name "crypto")"
>   copy_modules_dir "${archcrypto##*${MODULESDIR}/}"
> 
> In my case, copy_modules_dir is executed with an empty argument,
> apparently leading to all modules being copied.
> 
> The fix is to check if $archcrypto is empty.
> 
> I also added some checks for the kernel/arch dir because otherwise
> your find calls generate "No such file or directory" messages.
> 
> --- cryptroot~        2009-12-04 23:13:44.319569469 +0000
> +++ cryptroot 2009-12-04 23:13:39.679818772 +0000
> @@ -442,12 +442,14 @@
>       #
>       #   d) /lib/modules/$VERSION/kernel/drivers/crypto/$specific-$mod.ko
>  
> -     for file in $(find "$MODULESDIR/kernel/arch/" -name "$mod-*.ko"); do
> -             altmod="${file##*/}"
> -             altmod="${altmod%.ko}"
> -             manual_add_modules "$altmod"
> -             found="yes"
> -     done
> +     if [ -e "$MODULESDIR/kernel/arch/" ]; then
> +             for file in $(find "$MODULESDIR/kernel/arch/" -name 
> "$mod-*.ko"); do
> +                     altmod="${file##*/}"
> +                     altmod="${altmod%.ko}"
> +                     manual_add_modules "$altmod"
> +                     found="yes"
> +             done
> +     fi
>  
>       for file in $(find "$MODULESDIR/kernel/crypto/" -name 
> "${mod}_generic.ko"); do
>               altmod="${file##*/}"
> @@ -499,8 +501,12 @@
>       setup="yes"
>  
>       if [ "$MODULES" = "most" ]; then
> -             archcrypto="$(find "$MODULESDIR/kernel/arch" -type d -name 
> "crypto")"
> -             copy_modules_dir "${archcrypto##*${MODULESDIR}/}"
> +             if [ -e "$MODULESDIR/kernel/arch" ]; then
> +                     archcrypto="$(find "$MODULESDIR/kernel/arch" -type d 
> -name "crypto")"
> +                     if [ -n "$archcrypto" ]; then
> +                             copy_modules_dir 
> "${archcrypto##*${MODULESDIR}/}"
> +                     fi
> +             fi
>               copy_modules_dir "kernel/crypto"
>       else
>               for mod in $modules; do
> 
> -- 
> Martin Michlmayr
> http://www.cyrius.com/
> 
> 
> 

-- 
Martin Michlmayr
http://www.cyrius.com/



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to