请选择 进入手机版 | 继续访问电脑版
查看: 380|回复: 0

[求助] imx6q android_M6.0.1_2.1.0 , 燒錄卡在 Jumping to OS image

[复制链接]

该用户从未签到

1

主题

1

帖子

0

金豆

新手上路

Rank: 1

积分
19
最后登录
2018-8-9
发表于 2018-6-13 13:48:17 | 显示全部楼层 |阅读模式
請教前輩,
               我將編譯好的 android_M6.0.1_2.1.0 imx6 sabresd_6dq 燒錄至開 發板SCH-27392 C4 emmc(SD4),可燒錄成功並動作正常.
                但燒錄到我們自己 layout 的板子,  MFG tool 燒錄卡在 Jumping to OS image. 我們的 emmc 是在 SD3, 我嘗試修改

1. 修改 sabresd_6dq.mk
# setup dm-verity configs.
ifneq ($(BUILD_TARGET_DEVICE),sd)
#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/mmcblk3p5
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/mmcblk2p5
$(call inherit-product, build/target/product/verity.mk)
else
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/mmcblk2p5
$(call inherit-product, build/target/product/verity.mk)

endif


2. 修改mfgtool2-android-mx6q-sabresd-emmc.vbs

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=2"" -s ""data_type="""
Set wshShell = Nothing

3.置換 mfgtool 檔案, 依上列編譯出來的檔案.

boot-imx6q.img
recovery-imx6q.img
u-boot-imx6q.imx
system.img

u-boot-imx6qsabresd_sd.imx
zImage
zImage-imx6q-sabresd.dtb

結果還是卡在 Jumping to OS image .

請教各位前輩,有可能哪邊沒設定好,或還需提供哪些資訊, 感謝~

PS. 不知如何上傳檔案, MFGtool log 及 ucl2.xml 內容如下.

/****************************************************************/
MFG log
DLL version: 2.6.2
Wednesday, June 13, 2018 11:11:28   Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[001F7BB8]
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[2] LevelID[1]: Can't set m_hStopEvent before it initialized or it already stop

ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is Z:\homeshare\mfgtool-m601100-imx6qsabresd-emmc-core\Profiles\linux\OS Firmware\firmware\u-boot-imx6qsabresd_sd.imx
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is Z:\homeshare\mfgtool-m601100-imx6qsabresd-emmc-core\Profiles\linux\OS Firmware\firmware\zImage, address is 0x12000000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is Z:\homeshare\mfgtool-m601100-imx6qsabresd-emmc-core\Profiles\linux\OS Firmware\firmware\fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot, address is 0x12C00000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is Z:\homeshare\mfgtool-m601100-imx6qsabresd-emmc-core\Profiles\linux\OS Firmware\firmware\zImage-imx6q-sabresd.dtb, address is 0x18000000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: ExecuteCommand--Jump[WndIndex:0]
ModuleID[2] LevelID[10]: *********MxHidDevice[001F7BB8] Jump to Ramkernel successfully!**********
ModuleID[2] LevelID[10]: CmdOperation[0], current state command has been finished and the last command is successful, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is Z:\homeshare\mfgtool-m601100-imx6qsabresd-emmc-core\Profiles\linux\OS Firmware\firmware\u-boot-imx6qsabresd_sd.imx
ModuleID[2] LevelID[1]: MxHidDevice::Write() Error writing to device 0x1f.
ModuleID[2] LevelID[1]: Failed to initialize memory!
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MxHidDevice--Command Boot excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: DeviceManager:evChangeWnd::OnDeviceChange() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&id_0054#6&10576b04&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager:evChangeWnd::OnDeviceChange() - end
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&id_0054#6&10576b04&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 1
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, devInstPathToFind: USB\VID_15A2&ID_0054\6&10576B04&0&2, _deviceInstanceID: USB\VID_15A2&ID_0054\6&10576B04&0&2
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, Find the device
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0054, Hub:2-Port:2
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT, Notify
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Remove
ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceRemoveEvent.
ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device remove1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-DEVICE_REMOVAL_EVT, hDevCanDeleteEvent has been set
ModuleID[2] LevelID[10]: delete MxHidDevice[001F7BB8]
/******************************************************************************************/



/************************<!--
* Copyright (C) 2012, Freescale Semiconductor, Inc. All Rights Reserved.
* The CFG element contains a list of recognized usb devices.
*  DEV elements provide a name, class, vid and pid for each device.
*
* Each LIST element contains a list of update instructions.
*  "Install" - Erase media and install firmware.
*  "Update" - Update firmware only.
*
* Each CMD element contains one update instruction of attribute type.
*  "pull" - Does UtpRead(body, file) transaction.
*  "push" - Does UtpWrite(body, file) transaction.
*  "drop" - Does UtpCommand(body) then waits for device to disconnect.
*  "boot" - Finds configured device, forces it to "body" device and downloads "file".
*  "find" - Waits for "timeout" seconds for the "body" device to connect.
*  "show" - Parse and show device info in "file".
-->

/********************************************************************************************/
ucl2.xml


<UCL>
  <CFG>
    <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
    <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="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/%initramfs%" address="0x12C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">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="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=600M 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>
</UCL>
/********************************************************************************************/



我知道答案 目前已有0人回答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|恩智浦技术社区   

GMT+8, 2018-10-18 14:19 , Processed in 0.526320 second(s), 10 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表