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

Other Parts Discussed in Thread: AM3354

各位好:

SoC : AM3354

SDK : TI-Android-JB-4.2.2-DevKit-4.1.1

设备将 FLash 更换为 EMMC 了,让安卓系统从 SD 卡启动,从  /dev/block/mmcblk1 下已经找到 EMMC 设备了。

问题是 : 在 linux 的时候,是使用 fdisk  进行分区之后,再使用分区工具,将设备分区为 fat 和 EXT4 分区。最后将文件拷贝到相应分区并从分区启动系统。但是,现在是安卓了,我应该如何完成这些工作呢。设备现在没有网卡的功能(网卡的 IO口全部复用为其他 IO 口了)。

  •  您好,这个问题解决了,使用了 busybox 提供的工具完成了功能;

    将 安卓烧写 SD 卡,让设备从 SD 卡驱动,启动之后,完成下面步骤

    1、分区

    busybox fdisk  /dev/block/mmcblk1 

    将 EMMC 分为两个分区,第一个分区为 fat 32,第二个分区为 EXT4

     2、fat 操作

    busybox mkfs.vfat -F 32 -n "boot" /dev/block/mmcblk1p1
    mount -t vfat /dev/block/mmcblk1p1 /mnt/tmp_boot

    cp MLO u-boot.mg uImage  /mnt/tmp_boot

    3、ext4 操作

    ./mke2fs -t ext4 /dev/block/mmcblk1p2 -L "rootfs"
    mount -t ext4 /dev/block/mmcblk1p2 /mnt/tmp_rootfs/

    busybox tar -xf rootfs.tar.gz -C /mnt/tmp_rootfs/ 

    上面的步骤,应该是没错了,参考了 debrick.sh ,而 debrick 里面是使用 sfdisk 进行分区,而我这边使用 fdisk 进行分区。

    现在问题是 : 

    将 SD 卡拔掉,重新上电,设备不能从 EMMC 启动。而且连 MLO 都没有被加载,一直打印"CCCCCCCCCC"。

    设备参考了 BBB 进行设计,且启动选择设置为 11100b,所以第一优先启动项是 EMMC 没错。EMMC 的大小为 4GB,接在 MMC 1。 UBOOT 可以找到 EMMC,

    U-Boot# mmc dev 0
    switch to partitions #0, OK
    mmc0 is current device
    U-Boot#
    U-Boot#
    U-Boot# mmc dev 1
    switch to partitions #0, OK
    mmc1(part 0) is current device