Basic MfgTool questions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Basic MfgTool questions

Jump to solution
4,386 Views
bdp42
Contributor IV

Hi,

I have a few basic questions about the MfgTool used to program devices.

We have a custom iMX53 based platform, running Android 2.3.3 and are using Freescale iMX Android R10.2 release as our code base.

Is there anywhere that clearly describes the steps required to build the various images required by the MfgTool? Are these just the normal images or special versions for the MfgTool? The "Mfgtool Linux or Android Firmware Development Guide" doc mentions building Uboot and kernel with different configs to the normal builds so it appears these are manufacturing-specific images. Does this document describe all the changes necessary to the configs?

The iMX Android R10.2 documentation mentions putting u-boot.bin, uImage, uramdisk.img, system.img, recovery.img files that are generated as part of the build to the profile directory. Do these refer to the normal images or the manufacturing images?


Other references to the MfgTool say it needs the file initramfs.cpio.gz.uboot but no reference to this is made in the iMX Android R10.2 user guide documentation. However this file is used a lot in the ucl.xml under the MfgTool profiles directory. Is this file required? Is this board-specific? How is it built using the iMX Android R10.2 build system? There is no mention of it in the user guide.


Thanks,

Bruno

Labels (2)
Tags (3)
1 Solution
2,499 Views
mbp
Contributor V

igorpadykov,

From your statement I infer the following:  All one needs to do is modify the appropriate files for your Reference design (whether MX53 or Mx51) - per any changes in bsp you may have made.  e.g. If the only difference to a Babbage design is DDR then you must modify MX51_DDR.xml for your DDR specifics.  And you must insert your images into Linux Update\Files\ and OS firmware\files\android\.

No uboot, kernel or Android modifications or build would be required. 

If you desire different partitioning: then you must modify the mksdcard shell scripts and recompress into archive.

The MfgTool then loads a mini Kernel into your DDR which partitions, formats and writes the images to the SD card.

Correct?

<I never really found any consolidated description of the process/requirments....it's a bit muddy, I thank Bruno for initiating this Q>


View solution in original post

0 Kudos
16 Replies
2,499 Views
igorpadykov
NXP Employee
NXP Employee

Hi Bruno

initramfs.cpio.gz.uboot building is described in

attached Linux Guide sect.2.8 2.8 Build Manufacturing Firmware.

u-boot.bin, uImage, uramdisk.img, system.img, recovery.img files are

files which will be written to SD card. For example in attached ucl.xml

file profile "MX53SMD-Android-SD" : first, small image (small linux image)

is loaded to DDR - rows from "Read from DDR script from U-Boot to init DDR Memory"

to "Jumping to OS image".

Then this small linux image is running and executing commands from

"Updater", "mknod" ..e.t.c. to the end - these commands write android files to SD card.


Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

2,500 Views
mbp
Contributor V

igorpadykov,

From your statement I infer the following:  All one needs to do is modify the appropriate files for your Reference design (whether MX53 or Mx51) - per any changes in bsp you may have made.  e.g. If the only difference to a Babbage design is DDR then you must modify MX51_DDR.xml for your DDR specifics.  And you must insert your images into Linux Update\Files\ and OS firmware\files\android\.

No uboot, kernel or Android modifications or build would be required. 

If you desire different partitioning: then you must modify the mksdcard shell scripts and recompress into archive.

The MfgTool then loads a mini Kernel into your DDR which partitions, formats and writes the images to the SD card.

Correct?

<I never really found any consolidated description of the process/requirments....it's a bit muddy, I thank Bruno for initiating this Q>


0 Kudos
2,499 Views
bdp42
Contributor IV

Mike,

It's still not totally clear to me. When you say "insert your images into Linux Update\Files\ and OS firmware\files\android\." can you clarify this? Which files go where?

For example in the manufacturing tool directory the \OS Firmware directory contains a number of u-boot...bin files and a uImage file. The \OS Firmware\files directory also contains a number of u-boot...bin files and a uImage file. The OS Firmware\files\android directory contains u-boot, uImage and .img files. The are presumably the actual files you want to program. 

Bruno

0 Kudos
2,499 Views
mbp
Contributor V

Bruno,

...from my understanding (igorpadykov please confirm my statements are correct);

The images that you created when you built for your variant: 

  • If LINUX system:     uImage  ---> into Linux Update\Files\ 
  • If Android system:   uImage, system, recovery and uramdisk ---> into OS Firmware\files\android\

The binary files, which are the mini-boot and kernel code, (do not change unless you've made massive changes to the bsp) and are temporarily used to load your images into the SD card.

Mike

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mike, yes in general you are right.

Small linux image (MFG Tool initramfs.cpio.gz.uboot) should be rebuild, if

there is intention to run MFG Tool on custom board.

~igor

2,499 Views
mbp
Contributor V

igor,

Can you highlight what changes to a custom board would require a uboot rebuild?   (or what changes would not - if that's easier)

Thank Igor,

mike

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

Hi MIKE

one can refer to attached Porting Guide, also for new board one needs to change

Uboot flash_header.S with new DDR settings found from

https://community.freescale.com/docs/DOC-96412

~igor

0 Kudos
2,499 Views
mbp
Contributor V

So if any changes to the board which precipitates changes to the uBoot will require the same set of changes to this mini-uboot.

I suspected that DDR changes were addressed by the "MX51_DDR.xml"  file, but the Flash_header.S must also be changed?   Or does one only need to update the flash_header.S file?

Thanks Bruno - for clarifying these remaining points.

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

In latest MFG Tools for i.MX53 Linux profile there is no file similar to  "MX51_DDR.xml"  file" :

IMX_MFG_TOOL : Tool and documentation for downloading OS images to the i.MX53, i.MX51, i.MX50, i.MX28 and i.MX23.

Size (K): 241193 Format: zip Rev #: 1.6.2.048 Modified: 4/22/2013

For MFG Tool customizations can look at presentations on links below

How to create your own Mfgtool firwmare

Re: Re: MFG firmware which built from latest source codes(L3.0.35_4.1.0_130816_source) can  not  wor...

Best regards

igor

0 Kudos
2,499 Views
mbp
Contributor V

In regard to "MX51_DDR.xml"  ...I was referring to an Mx51 BBG-based design.

mike

...appreciate the links.

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

this is only for i.MX51 "RamKernel" case, refer to attached document p.7

/51 RKL MMC Linux Update

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

Hi MIKE

yes your understanding is correct.

Best regards

igor

2,499 Views
bdp42
Contributor IV

Hi Igor,

So is initramfs.cpio.gz.uboot used only by the manufacturing tool? Why is this? It is not generated as part of the normal Android build?


The document describes generation of initramfs.cpio.gz.uboot using LTIB. We are using the Android build procedure and not LTIB. Can I build it using the Android build environment?


I'm not that familiar with these issues so excuse the basic questions.


Bruno

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

Hi Bruno

yes initramfs.cpio.gz.uboot is used only by the manufacturing tool.

It can not be built in Android.


Best regards

igor

2,499 Views
bdp42
Contributor IV

Why is initramfs.cpio.gz.uboot required by the manufacturing tool and not by the regular boot mechanisms?


Bruno

0 Kudos
2,499 Views
igorpadykov
NXP Employee
NXP Employee

It is convenient, because it is small linux image, fully fitted to DDR memory,

so SD/NAND or other external memory is not required.

~igor

0 Kudos