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