diff --git a/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch b/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch new file mode 100644 index 0000000..efd1688 --- /dev/null +++ b/0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch @@ -0,0 +1,52 @@ +From 827ec27a9c36755095dda899eff75cdae78b2120 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Fri, 23 May 2014 11:54:01 +0100 +Subject: [PATCH] kernel-modules: Fix storage module selection for + sdhci/mmc/ahci + +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. + +Signed-off-by: +--- + modules.d/90kernel-modules/module-setup.sh | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 2378663..5271438 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -6,7 +6,7 @@ + installkernel() { + if [[ -z $drivers ]]; then + block_module_filter() { +- local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect' ++ local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_pltfm_init' + # subfunctions inherit following FDs + local _merge=8 _side2=9 + function bmf1() { +@@ -51,9 +51,7 @@ installkernel() { + + if [[ "$(uname -p)" == arm* ]]; then + # arm specific modules +- hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm \ +- omap_hsmmc panel-tfp410 sdhci_dove ahci_platform pata_imx sata_mv \ +- ehci-tegra mmc_block usb_storage ++ hostonly='' instmods omapdrm panel-tfp410 + fi + + # install virtual machine support +-- +2.2.0 + diff --git a/dracut.changes b/dracut.changes index cf289d3..b84c2ed 100644 --- a/dracut.changes +++ b/dracut.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Dec 17 09:15:56 UTC 2014 - schwab@suse.de + +- 0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch: fix + storage module selection for sdhci/mmc/ahci + ------------------------------------------------------------------- Sat Nov 22 06:26:37 UTC 2014 - arvidjaar@gmail.com diff --git a/dracut.spec b/dracut.spec index 0368972..b8a062b 100644 --- a/dracut.spec +++ b/dracut.spec @@ -31,6 +31,7 @@ Source4: purge-kernels Source5: purge-kernels.service Source6: dracut-installkernel Patch1: dracut_v37_to_HEAD.patch +Patch2: 0001-kernel-modules-Fix-storage-module-selection-for-sdhc.patch Patch11: 0011-Correct-paths-for-openSUSE.patch Patch12: 0012-Check-for-plymouth-lib-directories.patch Patch13: 0013-mkinitrd-suse-do-not-update-bootloader-if-no-kernel-.patch @@ -239,6 +240,7 @@ and its cryptography during startup. %prep %setup -q %patch1 -p1 +%patch2 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1