Waiting for root device /dev/mmcblk3p2

本文介绍了开发板使用8G EMMC启动失败的问题及其解决方法。故障原因是内核不支持8G EMMC,通过修改源码文件mmc.c中的限制条件解决了问题。
AI助手已提取文章相关产品:

出错原因:启动时遇到这个问题,原因可能有多种。我这里的原因是,开发板的emmc为8G,内核不支持所以报错。

处理方法:vim ./drivers/mmc/core/mmc.c

   定位到下图箭头所指处,修改为card->ext_csd.rev > 8。


您可能感兴趣的与本文相关内容

系统提示 “Waiting for root device /dev/mmcblk1p3” 通常意味着系统在启动过程中等待根文件系统所在的设备就绪,但该设备未能及时准备好。这与引用[2]中描述的 “Waiting for root device /dev/mmcblk0p1” 情况类似,可能的原因和解决办法如下: ### 可能的原因 - **驱动问题**:设备的驱动程序未正确加载或初始化,导致 `driver_probe_done()` 函数返回非零值,进而使系统无法识别设备。就像引用[2]中提到的,如果驱动没有 probe ok,`driver_probe_done()` 执行结果非零,`name_to_dev_t` 获取到的设备号为 0,程序就会陷入循环等待 [^2]。 - **设备硬件问题**:物理设备本身存在故障,如 SD 卡损坏、连接不稳定等,使得系统无法访问该设备。 - **设备节点问题**:设备节点可能未正确创建,或者设备节点的主号和次号与实际设备不匹配。块设备与设备节点相关联,主号用于识别设备驱动程序,次号用于识别分区,如果节点信息错误,系统将无法找到对应的设备 [^1]。 - **内核配置问题**:内核可能未正确配置支持该设备,导致无法识别或访问。 ### 解决办法 - **检查驱动程序**: - 确保设备的驱动程序已正确编译并加载到内核中。可以查看内核日志文件(如 `/var/log/syslog` 或 `/var/log/dmesg`),确认驱动是否正常加载。 - 尝试重新加载驱动程序,使用命令 `modprobe <驱动模块名>` 重新加载相关驱动。 - **检查硬件连接**: - 检查设备(如 SD 卡)是否正确插入,连接是否稳定。可以尝试重新插拔设备,确保连接正常。 - 检查硬件设备是否损坏,可以将设备连接到其他系统上进行测试。 - **检查设备节点**: - 使用 `ls -l /dev` 命令查看设备节点是否存在,以及节点的主号和次号是否正确。如果节点缺失或信息错误,可以尝试手动创建或修复节点。 - 可以使用 `mknod` 命令手动创建设备节点,例如: ```bash mknod /dev/mmcblk1p3 b <主号> <次号> ``` - **检查内核配置**: - 确保内核已正确配置支持该设备。可以使用 `make menuconfig` 重新配置内核,启用相关设备的支持选项,然后重新编译和安装内核
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值