Re: dracut is too "clever" at identifying modules to exclude.

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

 



On 12.10.2015 05:02, Neil Brown wrote:
> 
> If I have booted a kernel with md/raid built in (no modules) and
> I use dracut to build the initramfs for a different kernel which
> has the md code compiled as separate modules, then it does not include
> the required md modules in the initramfs.
> 
> As a particular instance this happen when the root filesystem is on
> RAID0.  The 'raid0.ko' module is not included and boot fails.
> 
> https://bugzilla.opensuse.org/show_bug.cgi?id=935993
> 
> This only happens when 'host-only' is selected (which is the default for
> openSUSE).
> 
> the modules.d/90mdraid/module-setup.sh code calls
> 
>     instmods =drivers/md
> 
> instmods calls
>    module_is_host_only "raid0"
> and this incorrectly fails.
> 
> If raid0.ko didn't have any alias this would succeed, but it does.
> 
> $ modinfo -F alias raid0
> md-level-0
> md-raid0
> md-personality-2

Huh? Is the module not loaded?

> 
> However these aliases don't appear in any modalias file in /sys/devices,
> in /proc/crypto, or in /proc/modules.
> 
> Maybe you could parse /proc/mdstat..
> 
> if [ -f /proc/mdstat ]; then
>   while read _d _c _a _m _x; do
>    if [ "$_c" = ':' -a "$_a" = 'active' ]; then
>       host_modalias["md-$_m"]=1
>    fi
>   done < /proc/mdstat
> fi
> 
> but it all seems rather fragile.  There are probably other modules that
> might miss out accidentally. dm?
> 
> Do we really need the host_modalias stuff?
> 
> Thanks,
> NeilBrown
> 

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux