How to load images created with iMX6 platform SDK to sabresd board?

cancel
Showing results for 
Search instead for 
Did you mean: 

How to load images created with iMX6 platform SDK to sabresd board?

2,030 Views
abraham_v
Contributor IV

I've downloaded the iMX6 platform SDK, compiled it using code-sorcery's lite toolchain and have created a few binary files like "sdk_unit_test_uart.bin". Does anyone know how to load this on the sabresd board? All I have with me is the MFG tool and I can't figure out how to configure it.

For the record, I do have MFG tool working - as in, I'm able to load up (in its default configuration) Freescale's android image on the sabresd. But I can't figure out how to do the same with the platform-sdk images. :smileysad:

Puzzled,

Abraham V.

Labels (1)
Tags (2)
0 Kudos
6 Replies

233 Views
LeonardoSandova
Specialist I

HI Abraham,

Check the README.pdf for more info, but the way in Linux is with 'dd', for example

dd if=output/mx6dq/sdk_unit_test/evb rev_a/sdk_unit_test_ALL.bin of=/dev/sdx seek=2 skip=2 bs=512 && sync

Leo

0 Kudos

233 Views
tongchunyang
Contributor III

Hi Leo

Glad to see you again in community.

About Platform SDK. I have a little question want to confirmed with you.

Just is: Could Platform SDK booted and run from other storage media, such as norflash/nand and so on?

            And if could not, just as so far done.

            And if could be, please tell the detail about this

------

Best Wishes

Tong

0 Kudos

233 Views
LeonardoSandova
Specialist I

Hi Tong, I have not tried it but I see no reason why it shouldn't... Can you try flashing a SDK binary using the manufacturing tool? Just clone a profile (<LIST>...</LIST>) and instead of flashing u-boot , flash the binary and Ignore the rest of the profile.

0 Kudos

233 Views
tongchunyang
Contributor III

Hi Leo

Thanks for your advice.

I will try it by mfgtools at free time.

0 Kudos

233 Views
9crkzhou
Contributor III

you need to learn to use the MFG tool , it's easy to use.

mention two files:

cfg.ini

Profiles\MX6Q Linux Update\OS Firmware\ucl2.xml

the second one is easy to read .

what you download into the board is decided with this file.

Good Luck.

0 Kudos

233 Views
abraham_v
Contributor IV

I think I've identified what part of "ucl2.xml" I'm using, but have no clue how to edit it. Here's what I use,

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

  <!-- Android Profile: -->

  <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabresd.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>

  <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>

  <CMD state="Updater" type="push" body="$ echo 1 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">access boot partition 1</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/mmcblk0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>

  <CMD state="Updater" type="push" body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">access user partition and enable boot partion 1 to boot</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="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</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/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 -b 4096 -m 0 /dev/mmcblk0p4">Formatting data partition</CMD>

  <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p5">Formatting system partition</CMD>

  <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p6">Formatting cache partition</CMD>

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

  <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p7">Formatting device 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/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/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>

Instead of all that, think I could get away with only 'BootStrap' the .bin file I created with the platform sdk? Or will I need a 'jump' as well?

-Abraham

0 Kudos