[已解决] DM8148开发板插入SD卡从EMMC启动问题
[复制链接]
用的是DM8148的开发板,现在的应用场景是:系统固话到emmc从emmc启动,插入空的SD卡作为视频存储。
问题:如果插上SD卡,SD卡的设备节点是/dev/mmcblk0(被系统挂载到/media/mmcblk0p1),emmc的设备节点是/dev/mmcblk1(被挂载到/media/mmcblk1p1 /media/mmcblk1p2),这样uboot设置环境变量:setenv emmcroot /dev/mmcblk1p2 rw rootwait,系统能正常启动;
拔掉SD卡,emmc的设备节点是/dev/mmcblk0(被挂载到/media/mmcblk0p1 /media/mmcblk0p2),这样系统就不能正常启动。由于插拔SD卡导致的EMMC设备节点变化,使uboot的环境变量不匹配导致系统找不到文件系统不能启动。
在SD卡和emmc同时使用的情况下,如何固定emmc设备节点。
DM8148的引导确实存在该问题。如要规避该问题,建议:
方案一:选用nand flash版本;
方案二:配置u-boot环境变量为emmcargs,然后要确认系统启动必须插入sd卡,不然系统会启动失败(下图有详细说明);
方案三:修改内核的emmc和sd的默认挂载节点(该方案在该版本的内核暂无测试确认)
修改内核源码排查思路:
修改以下文档:
arch/arm/mach-omap2/board-ti8148evm.c
arch/arm/mach-omap2/hsmmc.c
|