70 lines
2.2 KiB
Plaintext
70 lines
2.2 KiB
Plaintext
|
MfgTools Howto
|
||
|
==============
|
||
|
|
||
|
1. Build your mfgtool image
|
||
|
|
||
|
Make sure to enable the following Buildroot options:
|
||
|
|
||
|
BR2_PACKAGE_FREESCALE_IMX=y
|
||
|
BR2_PACKAGE_IMX_UUC=y
|
||
|
BR2_TARGET_ROOTFS_CPIO=y
|
||
|
BR2_TARGET_ROOTFS_CPIO_GZIP=y
|
||
|
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
|
||
|
|
||
|
Also modify your kernel configuration to have:
|
||
|
|
||
|
CONFIG_USB_GADGET=y
|
||
|
CONFIG_USB_MASS_STORAGE=y
|
||
|
CONFIG_FSL_UTP=y
|
||
|
CONFIG_MMC_BLOCK_MINORS=16
|
||
|
|
||
|
2. Go into the output and create the necessary folders
|
||
|
|
||
|
$ cd output
|
||
|
$ mkdir -p "Profiles/Linux/OS Firmware/firmware"
|
||
|
|
||
|
3. Create your XML update script named ucl2.xml
|
||
|
|
||
|
You can find a sample XML at:
|
||
|
|
||
|
$ wget https://storage.googleapis.com/boundarydevices.com/ucl2.xml \
|
||
|
-O Profiles/Linux/OS\ Firmware/ucl2.xml
|
||
|
|
||
|
4. Copy the U-Boot, Kernel and initramfs images to the appropriate
|
||
|
folder
|
||
|
|
||
|
$ cp images/u-boot.imx images/zImage images/imx6q-sabrelite.dtb \
|
||
|
images/rootfs.cpio.uboot Profiles/Linux/OS\ Firmware/firmware/
|
||
|
|
||
|
5. Copy the prebuilt binaries to be flashed
|
||
|
|
||
|
Depending on your ucl2.xml file, the sample doesn't flash anything.
|
||
|
|
||
|
6. Run the MfgTools client:
|
||
|
|
||
|
$ ./host/usr/bin/mfgtoolcli -l mmc -s uboot_defconfig=imx \
|
||
|
-s dtbname=imx6q-sabrelite.dtb -s initramfs=rootfs.cpio.uboot \
|
||
|
-s mmc=1 -p 1
|
||
|
|
||
|
For more information about the tools options, please read the
|
||
|
"Manufacturing Tool V2 Quick Start Guide.docx" documentation contained
|
||
|
in every mfgtools package from NXP website[1].
|
||
|
|
||
|
Note: All the above commands require your Linux host user to have
|
||
|
permissions to access the USB devices. Please make sure to have udev
|
||
|
rules that allow the user to communicate with the BootROM IDs
|
||
|
(Freescale USB recovery) as well as the one used for the UTP Linux
|
||
|
image (0x066F:0x37FF). Using 'sudo' in front of the mfgtoolcli
|
||
|
command would also grant you the necessary permission but it is *not*
|
||
|
recommended.
|
||
|
|
||
|
Also, if your U-Boot environment doesn't include mfgtools bootargs,
|
||
|
make sure to set the following:
|
||
|
|
||
|
setenv bootargs "console=${console},${baudrate} g_mass_storage.stall=0 \
|
||
|
g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F \
|
||
|
g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=\"\" \
|
||
|
g_mass_storage.file=/fat"
|
||
|
|
||
|
[1] http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx-6-series-software-and-development-tool-resources:IMX6_SW
|