AnsweredAssumed Answered

It's failed to download Android5.1.1 on MCIMX6Q-SDB

Question asked by Ray He on Feb 18, 2016

Hi all,

My question is download the android version 5.1.1 failed.

My board is MCIMX6Q-SDB, it's a standard board.

sch version: sch-27516 REV C4

hardware version: 700-27516 REV B

 

When I used the mfgtools(android_kk4.4.2_1.0.0-ga_tools) to download official demo android4.4.2(android_kk4.4.2_1.0.0-ga_images_6qsabresd), it's OK.

Now, I use the latest mfgtools(IMX6_L5.1_2.1.0_MFG_TOOL) to download official demo android5.1.1(android_L5.1.1_2.1.0_image_6dqsabresd), but it's unsuccessful.

 

The phenomenon is after display Loading Uboot,Loading Kernel,Loading Initramfs,Jumping to OS image,it displays "No Device Connected", and it always stop on the interface——No Device Connected.

I found the new mfgtool(IMX6_L5.1_2.1.0_MFG_TOOL) is different from mfgtools(android_kk4.4.2_1.0.0-ga_tools), it adds many scripts, I choose the script "mfgtool2-android-mx6q-sabresd-emmc.vbs", it's content is:

Set wshShell = CreateObject("WScript.shell")

wshShell.run "mfgtool2.exe -c ""linux"" -l ""eMMC-Android"" -s ""board=sabresd"" -s ""folder=sabresd"" -s ""soc=6q"" -s ""mmc=3"" -s ""ldo=-ldo"" -s ""data_type="""

Set wshShell = Nothing

 

the file cfg.ini is:

[profiles]

chip = Linux

 

[platform]

board = SabreSD

 

[LIST]

name = eMMC-Android

 

[variable]

board = sabresd

mmc = 3

sxuboot=17x17arm2

sxdtb=17x17-arm2

7duboot=sabresd

7ddtb=sdb

6uluboot=14x14ddr3arm2

6uldtb=14x14-ddr3-arm2

ldo=

plus=

initramfs=fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot

seek = 1

sxnor=qspi2

7dnor=qspi1

6ulnor=qspi1

nor_part=0

 

the ucl2.xml file about eMMC-Android

<CFG>

    <STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/>

    <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>

    <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>

    <STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/>

    <STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>

    <STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/>

    <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>

  </CFG>

 

<LIST name="eMMC-Android" desc="Choose eMMC as media">

    <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6q%plus%%board%_sd.imx" ifdev="MX6Q">Loading U-boot</CMD>

    <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6dl%board%_sd.imx" ifdev="MX6D">Loading U-boot</CMD>

    <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6sx%board%_emmc.imx" ifdev="MX6SX">Loading U-boot</CMD>

    <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx7d%7duboot%_sd.imx" ifdev="MX7D">Loading U-boot</CMD>

    <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%_emmc.imx" ifdev="MX6UL">Loading U-boot</CMD>

       

    <CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD>

    <CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL">Loading Kernel.</CMD>

 

    <CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD>

    <CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL">Loading Initramfs.</CMD>

 

    <CMD state="BootStrap" type="load" file="firmware/zImage-imx6q%plus%-%board%%ldo%.dtb" address="0x18000000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading device tree.</CMD>

    <CMD state="BootStrap" type="load" file="firmware/zImage-imx6dl-%board%%ldo%.dtb" address="0x18000000"

        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6D">Loading device tree.</CMD>

 

    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

 

      <!-- create partition -->

    <CMD state="Updater" type="push" body="send" file="mksdcard-android%data_type%.sh.tar">Sending partition shell</CMD>

    <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>

    <CMD state="Updater" type="push" body="$ sh mksdcard-android%data_type%.sh /dev/mmcblk%mmc%"> Partitioning...</CMD>

   

    <!-- burn uboot -->

    <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=384 conv=fsync count=129">clear u-boot arg</CMD>

    <CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk%mmc%boot0/force_ro">access boot partition 1</CMD>

   

    <CMD state="Updater" type="push" body="send" file="files/android/%folder%/u-boot-imx%soc%%plus%.imx" >Sending u-boot.bin</CMD>

   

    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2">write U-Boot to sd card</CMD>

    <CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk%mmc%boot0/force_ro"> re-enable read-only access </CMD>

    <CMD state="Updater" type="push" body="$ mmc bootpart enable 1 1 /dev/mmcblk%mmc%">enable boot partion 1 to boot</CMD>

 

    <CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>

 

    <CMD state="Updater" type="push" body="send" file="files/android/%folder%/boot-imx%soc%%plus%%ldo%.img" >Sending and writting boot.img</CMD>

   

    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%p1">write boot.img</CMD>

 

    <CMD state="Updater" type="push" body="$ mkfs.ext4  -E nodiscard /dev/mmcblk%mmc%p5">Formatting system partition</CMD>

    <CMD state="Updater" type="push" body="$ mkfs.ext4  -E nodiscard /dev/mmcblk%mmc%p6">Formatting cache partition</CMD>

 

    <CMD state="Updater" type="push" body="$ mkfs.ext4  -E nodiscard /dev/mmcblk%mmc%p7">Formatting device partition</CMD>

    <CMD state="Updater" type="push" body="$ mount -o remount,size=512M rootfs /">change size of tmpfs</CMD>

    <CMD state="Updater" type="push" body="send" file="files/android/%folder%/system.img" >Sending system.img</CMD>

    <CMD state="Updater" type="push" body="$ simg2img $FILE /dev/mmcblk%mmc%p5">writting sparse system.img</CMD>

   

    <!-- Write userdata.img is optional, for some customer this is needed, but it's optional. -->

    <!-- Also, userdata.img will have android unit test, you can use this to do some auto test. -->

    <!--    <CMD state="Updater" type="push" onError="ignore" body="pipe dd of=/dev/mmcblk0p7" file="file/android/userdate.img"> Sending userdata.img(optional) </CMD>

    <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>  -->

    <CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk%mmc%p2 bs=512" file="files/android/%folder%/recovery-imx%soc%%plus%%ldo%.img">Sending and writting recovery.img</CMD>

   

    <CMD state="Updater" type="push" body="$ sync">Sync file system</CMD>

    <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>

 

    <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>

   

</LIST>

 

I think the problem is the configure files cfg.ini and mfgtool2-android-mx6q-sabresd-emmc.vbs and ucl2.xml, but

I don't see any problem. If someone know it, please help me, thank you!

 

Attachment is the three file above and the serial port information.

Original Attachment has been moved to: FILES_FIY.rar

Outcomes