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

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

 



On 13.11.2015 13:37, Harald Hoyer wrote:
> On 12.10.2015 22:30, Neil Brown wrote:
>> Harald Hoyer <harald@xxxxxxxxxx> writes:
>>
>>> 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?
>>
>> No, because the running kernel has "md/raid built in (no modules)".
>>
>> Thanks,
>> NeilBrown
>>
>>>
>>>>
>>>> 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
>>>>
> 
> Interesting... so we have to blow up the initramfs with the entire drivers/md
> in the case, where you switch from "compiled in" to "not compiled in"..
> 
> I guess that happens not that often, so better be safe than sorry.

remove host_modalias

<https://github.com/haraldh/dracut/commit/07a081f352497258862ae164d11d9e6dc2c5b959>
--
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