This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EMMC 和 SD 卡 启动关联

设备从 SD 卡,完成 EMMC 的烧录。设备可以从 EMMC起来,执行 MLO--->UBOOT-> 内核,但是一直卡在了: Waiting for root device /dev/mmcblk1p2...
就不能继续执行下去了。


但是,为只要随便插上一张 SD 卡,还是从 EMMC 启动(环境变量可以确定,是从 EMMC 启动),就可以成功挂载文件系统,并进入系统。
感觉很神奇,MMC0 和 MMC1 启动之间,存在什么关联么?

  • 你之前的帖子说EMMC启动不了,现在看起来解决了,是什么原因造成的?

    现在这个问题按照下面这个修改下:

    Linux 系统从 eMMC 上启动,需要修改 u-boot 的 mmcdev 参数,将其由默认的 0 改为
    1,也可以直接修改/include/configs/am335x_evm.h 中的 73 行为"mmcdev=1\0" \,然后重
    新编译。

  • 嗯,是解决了,但是是走了其他的方法。

    板子是根据 BBB 制作的,但是没有 EEPROM 的。

    使用 BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img.xz ,制作 SD 卡启动,发现是将SD 卡制作了两个分区,VFAT 和 EXT4 分区。将符合自己板子的 MLO、u-boot.img、uImage、uExt.txt、 进行替换。并将我们自己制作的安卓文件系统放到 vfat 分区(打包)。

    因为 MLO 和 uboot 是我们自己修改且进行替换,所以可以在顺利启动。完成启动之后,在 /opt/script/too/ 下执行制作脚本(默认是自动执行的,但是被我修改了名字,改手动执行)。

    脚本完成了 EMMC 的 fat 和 emmc 格式化并且完成 boot 分区的拷贝。最后将自己的文件系统进行替换

     tar -xvf /android_rootfs.tar.gz -C /tmp/rootfs

    属于曲线救国吧。

  • 我比较疑惑,你之前不是说在BBB上测试的么?现在又说是基于BBB自己做的板子。

  • 是的,当初是拿  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。发现是可以实现的。

    最后,验证通过