启动期间没有 /dev/mmcblk0

启动期间没有 /dev/mmcblk0

我正在尝试在 eMMC 驱动器上安装 CentOS-6。由于 CentOS-6 支持的 2.6.xx 内核不支持 mmc,因此我编译了一个更新的内核 (4.2.6),它更新了 mmc 驱动程序。我尝试使用此内核启动,但仍然看不到/dev/mmcblk0.

当引导退出到 shell 而没有找到 时/dev/mmcblk0,我会看到mmc_coremmc_block并且sdhci_acpi模块已加载。有谁知道如何在启动期间使其可用?

相同的过程适用于具有 4.2.x 内核的 FC22/23。我在这里缺少什么?感谢您的任何提示。

*** 编辑

这是 dmesg 输出。 http://pastebin.com/STq4LuwK

*** 更正

mmc_block模块未加载。只有mmc_coresdhci-acpi并且sdhci

*** 编辑-1

更改 initrd 映像内的 udev 规则,我可以加载mmc_block,但这仍然不能解决问题。

答案1

事实证明,对于我的特定系统,缺少内核配置。这就是英特尔对 LPSS 的支持。CONFIG_X86_INTEL_LPSS它特别支持80860F14acpi 外设,并且是我的三星 eMMC 驱动器所需要的。包含此内容后,mmc 块和核心驱动程序可以看到/dev/mmcblk0.

答案2

  1. 不同的内核可能不会对块设备使用相同的名称。最好将标签添加到块设备并查找它/dev/disk/by-label

  2. 如果您怀疑您的内核配置中缺少 Fedora 内核中启用的某些模块,您可以获取 Fedora 的内核配置并从那里开始:

    zcat /proc/config.gz > 配置

相关内容