Hi All,
I need some advice on flashing my Yocto 4.1 kernel to a custom iMx283 board via mfgtool.
Having obtained the latest mfgtool download my main issue is updater_ivt.sb and/or updater.sb isn't compatible with my new nand. Mfgtool is still stuck in the past using the 2.6.35 kernel and is built fixed nand parameters/type hence updater_ivt.sb/updater.sb fails with my new nand around the ubi writing stage.
What I need is some advice on how to get around this initial issue and program my custom board using mfgtool ( if an alternative usb / manufacturing /programming tool is available please let me know ).
So:
1) Can a updater*.sb binary be built or cobbled together based on 4.1.xx Yocto for MfgTool? Note: u-boot-imx-mfgtoo andfsl-image-mfgtool-initramfs are both unavailable for the iMx28.
2) Mfgtools *sb appears to be built from a 2.6 kernel LTIB, Is there an 4.1.xx Linux build for LTIB so I could generate the MfgTools from that?
Thanks.
Solved! Go to Solution.
Solved, for those in the same boat.. I had a specific nand type.
Mfgtool side:
Grab L2.6.35_1.1.0_130130_source.tar.gz LTIB from NXP
Grab L2.6.35_1.1.1_UPDATER_PATCH_UP.tar.gz boot patch from NXP
Test build
Add or modify your custom nand into LTIB's nand_device_info.c this will ensure the next stage work with your custom board
Test build
Configure LTIB to build the initramfs blob for mfgtool based on your new nand
./ltib --selectype => Selection (mfg firmware profile)
Build
In ltib root copy over the new updater.sb / updater_ivt.sb into mfgtool
* At this stage you will have half the programming process based on your new nand. Try on your board, it should now at least program your board with what ever files come with mfgtool.
Yocto side:
1) Rebuild uboot
Find uboot's nand_ids.c and add/modify to suit your new nand
Bitbake the new uboot
Add the new uboot e.g. u-boot-nand-v2016......sb to mfgtool /files. Rename to match the current one or change the name in your ucl.xml file.
Run Mfgtool, after programming your board should at least get to uboot.
2) Add new nand to Yocto build system ( kernel and rootfs )
In /linux/drivers/mtd/nand/nand_ids.c do the same changes that you did for uboot.
( select zImage in sources/meta-fsl-arm/conf/machine/imx23evk.conf )
Bitbake kernel and image
Copy zImage.....bin, zImage....dtb and core-image....rootfs.tar.bz2 to mfgtool /files
*** Be sure to open the rootfs.tar.bz2 and delete boot folder
Add zImage name and rootfs.tar.bz2 name to mfgtool ucl file
For device tree, in ucl file after zImage line, copy the two zImage lines ( file="file... and nandwrite .. $FILE ) and rename to zImage....dtb with an offset ox 0x800000
Save and try programming board.
You may have to adjust the uboot args like
setenv bootcmd run nandboot
setenv boot_fdt yes
saveenv
You may also refer to the following "Building for i.MX Mature Boards" App Note:
https://www.nxp.com/docs/en/application-note/AN12024.pdf?fsrch=1&sr=1&pageNum=1
Solved, for those in the same boat.. I had a specific nand type.
Mfgtool side:
Grab L2.6.35_1.1.0_130130_source.tar.gz LTIB from NXP
Grab L2.6.35_1.1.1_UPDATER_PATCH_UP.tar.gz boot patch from NXP
Test build
Add or modify your custom nand into LTIB's nand_device_info.c this will ensure the next stage work with your custom board
Test build
Configure LTIB to build the initramfs blob for mfgtool based on your new nand
./ltib --selectype => Selection (mfg firmware profile)
Build
In ltib root copy over the new updater.sb / updater_ivt.sb into mfgtool
* At this stage you will have half the programming process based on your new nand. Try on your board, it should now at least program your board with what ever files come with mfgtool.
Yocto side:
1) Rebuild uboot
Find uboot's nand_ids.c and add/modify to suit your new nand
Bitbake the new uboot
Add the new uboot e.g. u-boot-nand-v2016......sb to mfgtool /files. Rename to match the current one or change the name in your ucl.xml file.
Run Mfgtool, after programming your board should at least get to uboot.
2) Add new nand to Yocto build system ( kernel and rootfs )
In /linux/drivers/mtd/nand/nand_ids.c do the same changes that you did for uboot.
( select zImage in sources/meta-fsl-arm/conf/machine/imx23evk.conf )
Bitbake kernel and image
Copy zImage.....bin, zImage....dtb and core-image....rootfs.tar.bz2 to mfgtool /files
*** Be sure to open the rootfs.tar.bz2 and delete boot folder
Add zImage name and rootfs.tar.bz2 name to mfgtool ucl file
For device tree, in ucl file after zImage line, copy the two zImage lines ( file="file... and nandwrite .. $FILE ) and rename to zImage....dtb with an offset ox 0x800000
Save and try programming board.
You may have to adjust the uboot args like
setenv bootcmd run nandboot
setenv boot_fdt yes
saveenv
Any tip where to find L2.6.35_1.1.1_UPDATER_PATCH_UP.tar.gz nowadays?