Description of problem: ARM block device modules need to be explicitly added to the initramfs but should be found automatically. Currently we need to either add the 'sunxi-mmc' module to support All-Winner devices or fix block device module detection for ARM.
Created attachment 898064 [details] patch to add mmc/sdhci drivers to generic initfs to enable boot from SD cards This patch uses a more generic means of detecting which drivers are needed for MMC/SD booting on devices that have SD cards that aren't attached by USB like most ARM devices and tablets
Created attachment 898155 [details] patch to add mmc/sdhci drivers to generic initfs to enable boot from SD cards fixes a typo on the last patch
Created attachment 898652 [details] ahci/mmc/sdhci patch that was sent upstream This was the final patch the I've sent upstream too (vger seems to be slow so I don't have an link yet) Currently the block driver detection for generic initrd doesn't include the SD/MMC drivers so we fail to boot generic images on any device using those platforms as boot devices when using a generic initrd. Add logic to detect those modules. This primarily fixes embedded ARM devices but also likely intel tablets/dev boards and enterprise hypervisors that have the ability to boot from SD. Also the ahci_init_controller misses a number of drivers that use the libahci_platform module for the init so this fixes some missing achi moduless too. Finally it cleans up the ARM storage module hacks that the above now deals with in a more generic manner.
This was fixed in dracut 38 upstream, now in rawhide