且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

I.MX6Q MfgTool2 ucl2.xml eMMC

更新时间:2022-08-12 20:02:49

/****************************************************************************
 *                    I.MX6Q MfgTool2 ucl2.xml eMMC
 * 说明:
 *     记录修改MfgTool2来完成I.MX6Q芯片的烧录。
 *
 *                                          2016-7-9 深圳 南山平山村 曾剑锋
 ***************************************************************************/



<LIST name="Android-MYZR-SPI_NOR-SD" desc="Choose SPI-NOR and SD Rootfs as media"> 
  
    <CMD state="BootStrap" type="boot" body="BootStrap" file ="myzr_u-boot.bin" >Loading U-boot</CMD>
    <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD> 
    
    <!--
    Please use "cat /proc/mtd" to check the right partitions for NAND
    ,mtd0 and mtd1 are for SPI-NOR; mtd2 - mtd6 are for NAND
    -->
<!--    <CMD state="Updater" type="push" body="mknod class/mtd,mtd0,/dev/mtd0"/>
    <CMD state="Updater" type="push" body="mknod block,mtdblock0,/dev/mtdblock0,block"/> -->
    <!--
    <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd0 0 0">Erasing Boot partition</CMD>
    <CMD state="Updater" type="push" body="send" file="files/android/u-boot.bin">Sending U-Boot</CMD>
    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512">write U-Boot to SPI-NOR</CMD>
    -->
    <CMD state="Updater" type="push" body="send" file="mksdcard-android.sh.tar">Sending partition shell</CMD>
    <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
    <CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>
    <CMD state="Updater" type="push" body="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</CMD>
    <CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>
    <!-- burn the uboot: -->
    <CMD state="Updater" type="push" body="send" file="files/android/u-boot.bin">Sending U-Boot</CMD>
    <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=2 count=2000">Clean U-Bootenvironment</CMD>
    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2">write U-Boot to sdcard</CMD>
    <!-- burn the uImage: -->
    <CMD state="Updater" type="push" body="send" file="files/android/boot.img">Sending kernel uImage</CMD>
    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0p1">write boot.img</CMD>
    <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
    <CMD state="Updater" type="push" body="$ mkfs.ext4 -L data /dev/mmcblk0p4">Formatting sd partition</CMD>
    <CMD state="Updater" type="push" body="$ mkfs.ext4 -L system /dev/mmcblk0p5">Formatting system partition</CMD>
    <CMD state="Updater" type="push" body="$ mkfs.ext4 -L cache -O^extent /dev/mmcblk0p6">Formatting cache partition</CMD>
    <CMD state="Updater" type="push" body="$ mkfs.ext4 -L vender /dev/mmcblk0p7">Formatting data partition</CMD>
    <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
    <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p8">Formatting misc partition</CMD>
    <CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk0p5 bs=512" file="files/android/system.img">Sending and writting system.img</CMD>
    <CMD state="Updater" type="push" body="frf">flush the memory.</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/mmcblk1p7" 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/mmcblk0p2 bs=512" file="files/android/recovery.img">Sending and writting recovery.img</CMD>
    <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
    <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD> 
</LIST>