mfgtool updater_ivt.sb for iMx28 ( custom ) using Yocto 4.1.xx Kernel + advice

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

mfgtool updater_ivt.sb for iMx28 ( custom ) using Yocto 4.1.xx Kernel + advice

Jump to solution
1,500 Views
edwardtyrrell
Senior Contributor I

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.

Labels (2)
0 Kudos
1 Solution
953 Views
edwardtyrrell
Senior Contributor I

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

   

  

View solution in original post

0 Kudos
3 Replies
953 Views
art
NXP Employee
NXP Employee

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 

0 Kudos
954 Views
edwardtyrrell
Senior Contributor I

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

   

  

0 Kudos
953 Views
danielgloeckner
Contributor I

Any tip where to find L2.6.35_1.1.1_UPDATER_PATCH_UP.tar.gz nowadays?

0 Kudos