设备从 SD 卡,完成 EMMC 的烧录。设备可以从 EMMC起来,执行 MLO—>UBOOT-> 内核,但是一直卡在了: Waiting for root device /dev/mmcblk1p2…
就不能继续执行下去了。
但是,为只要随便插上一张 SD 卡,还是从 EMMC 启动(环境变量可以确定,是从 EMMC 启动),就可以成功挂载文件系统,并进入系统。
感觉很神奇,MMC0 和 MMC1 启动之间,存在什么关联么?
Jian Zhou:
你之前的帖子说EMMC启动不了,现在看起来解决了,是什么原因造成的?
现在这个问题按照下面这个修改下:
Linux 系统从 eMMC 上启动,需要修改 u-boot 的 mmcdev 参数,将其由默认的 0 改为1,也可以直接修改/include/configs/am335x_evm.h 中的 73 行为"mmcdev=1\0" \,然后重新编译。
Jian Zhou:
回复 user4725089:
我比较疑惑,你之前不是说在BBB上测试的么?现在又说是基于BBB自己做的板子。
user4725089:
回复 Jian Zhou:
是的,当初是拿 BBB 做的验证。
我们的板子,是根据 BBB 制作的,因为一直 EMMC 不能启动,所以想根据官方的文档,先确定从 BBB 是否可以成功制作 EMMC,如果成功了,就用同样的方法实现在我们的板子上。但是失败了。
最后,我们从BBB 官网下载 了 BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img 去制作SD 卡启动卡,在 BBB 上是可以制作 EMMC 的。接着在 /opt/script/tool 下找到了制作 EMMC 的脚本。于是乎,我们修改了脚本,并替换启动文件(sd卡的 vfat 分区),去我们自己的板子,去制作 EMMC。发现是可以实现的。
最后,验证通过