我正在尝试在 eMMC 驱动器上安装 CentOS-6。由于 CentOS-6 支持的 2.6.xx 内核不支持 mmc,因此我编译了一个更新的内核 (4.2.6),它更新了 mmc 驱动程序。我尝试使用此内核启动,但仍然看不到/dev/mmcblk0
.
当引导退出到 shell 而没有找到 时/dev/mmcblk0
,我会看到mmc_core
,mmc_block
并且sdhci_acpi
模块已加载。有谁知道如何在启动期间使其可用?
相同的过程适用于具有 4.2.x 内核的 FC22/23。我在这里缺少什么?感谢您的任何提示。
*** 编辑
这是 dmesg 输出。 http://pastebin.com/STq4LuwK
*** 更正
mmc_block
模块未加载。只有mmc_core
和sdhci-acpi
并且sdhci
*** 编辑-1
更改 initrd 映像内的 udev 规则,我可以加载mmc_block
,但这仍然不能解决问题。
答案1
事实证明,对于我的特定系统,缺少内核配置。这就是英特尔对 LPSS 的支持。CONFIG_X86_INTEL_LPSS
它特别支持80860F14
acpi 外设,并且是我的三星 eMMC 驱动器所需要的。包含此内容后,mmc 块和核心驱动程序可以看到/dev/mmcblk0
.
答案2
不同的内核可能不会对块设备使用相同的名称。最好将标签添加到块设备并查找它
/dev/disk/by-label
。如果您怀疑您的内核配置中缺少 Fedora 内核中启用的某些模块,您可以获取 Fedora 的内核配置并从那里开始:
zcat /proc/config.gz > 配置