| 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/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 |