I'm working on a custom i.MX6SL board and want to know how to customize MFGtool to flash Android images onto it.
So far, I've been working on the i.MX6SL EVK and have used the MFGtool to flash Android images using the "SDCard-Android-IMX6SL-EVK" profile in the default ucl2.xml supplied by Freescale. I see that the MFGtool first loads several files into RAM, namely firmware/u-boot-imx6slevk_sd.imx, firmware/zImage, firmware/fsl-image-mfgtool-initramfs-imx6qdlsolo.cpio.gz.u-boot, firmware/zImage-imx6sl-evk.dtb. It then jumps to the u-boot and starts executing it. As I understand, this is a minimal linux system that is then used to load the Android images onto the boot media. Is this correct?
Do I have to modify/rebuild the above minimal linux system images for our custom board? What other changes do I need to make to flash Android images onto the custom board?
Bumping this thread.
Hi Joyce
yes your understanding is correct, these images should be rebuild for custom board to
take account for new ddr settings and differencies from reference board (MFG Tool is built for
specific reference board). For changes one can refer to presentation below
The Yocto Project™ and Linux® Software Development for i.MX Application Processors
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thank you for replying.
I see you've mentioned the following changes:
1) Rebuilding the initial linux image: Has Freescale released the sources for generating this? If yes, could you please tell me where I can download it?
2) Rebuilding MFGtool - why is this needed? Can I not use the same MFGtool I currently use (mfgtool for kk_4_4_3)?
3) Other changes to the rest of the system - Do you have a guide specific to Android development on imx processors?
Thank you once again.
Regards,
Joyce
Hi Joyce,
The only thing you need to do it to update the uboot and kernel in the mfg tool as we called firmware.
In the KK4.4.3 :
uboot is shared the same image for the normal boot uboot and mfg tool firmware uboot.
and the kernel is to use the imx_v7_mfg_defconfig.
Make sure you have change the uboot and kernel for your board. such as iomux in uboot and iomux in kernel(in dts file)
Hi Biyong,
Thank you for your valuable input. I decided to try to generate uboot& kernel for mfgtool to run on MX6SLEVK. The aim of this experiment is to find out the steps which are needed to generate uboot& kernel images for a standard board before attempting on my custom board.
As per your reply, I rebuilt the u-boot and kernel for mfgtool, following instructions supplied in Manufacturing Tool V2 Linux or Android Firmware Development Guide V2.pdf. However, when I use these images in MFGtool, everything goes fine until the following message and the console is just stuck there (MFGtool reports "No device connected" and no device is shown in Windows Device Manager)
Console output:
Starting UTP
uuc 0.5 [built Jan 5 2015 14:47:13]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
As per my understanding, once Linux is started, the board must present itself as "USB mass storage device" with VID=0x066F & PID=0x37FF to Windows machine. At this point, MFGtool can then start issuing "Updater" commands. Which is not happening in my case.
Can Freescale please answer how exactly we can customise a u-boot and kernel images for mfgtool? I'm attaching my config files here, can you please have a look if I've missed something? Going through the forums, I've seen that many people have faced similar issues but there is no resolution on this yet, so your answer will help many others in the same boat as me.
Have you changed the device tree for your board?
Hi Biyong,
Since I am currently working on MX6SLEVK, I am using the default dtb file which came with the MFGtools zImage-imx6sl-evk.dtb. Do I need to modify the dts and rebuild the dtb specifically to work with MFGTool? if yes, what changes do I need to make? Having separate dts for MFGtool and normal operation doesn't seem to make sense to me as it is the same hardware...
When I work on my custom board, I will definitely need to change the dts file to match the on-board hardware.
Thanks,
Joyce
Joyce,
Yes.
Cause the iomux is in the device tree now. In the device tree technology, called pinctl.
Hi Joyce
1. p.72 presentation shows how to build mfg tools
bitbake fsl-image-manufacturing
Form yocto tutorial one can know how to obtain sources
Freescale Yocto Project main page
2. Mfg Tools was built for fsl reference boards, if you use own board
it may differ from reference board (for example different memory).
So it should be rebuilt. If you exactly copied reference board one
can use mfg tools files without changes (though still it is not guaranteed
that it will work fine, due to fact that custom board materials can slightly
differ from reference board).
3. I am not aware of such documents
Best regards
igor
Hi Igor,
Thank you for your reply. I'm using Android on my custom board, so would prefer to have a single way of building images for it. Thus, I'm not planning to use Yocto at this point.
Thank you once again!
Regards,
Joyce