EasyInstaller Colibri iMX6ULL MTD partitions, why U-boot1 and U-boot2?

In the Toradex Easyinstaller image.json file there is a description of the MTD partition layout.
Under the “mtddevs” there is an u-boot1 and an u-boot2 partition with both containing the same u-boot-nand.imx file.

If we store another file inside the u-boot2 (in our case a splash screen) everything seems to works fine.

Is there any reason for the system to require the double u-boot file?

HI @HJO

U-Boot2 is a copy of U-Boot1. The bootloader will first check the starting address of U-Boot1 and boot U-Boot from this partition. In the case, if U-Boot1 is empty or corrupt, then the bootloader will boot for U-Boot2.

It is not recommended to delete U-boot2 or use it for other purposes than a copy of U-Boot1.

Best regards,
Jaski

Thanks for the information!
For the splash screen we tried adding an extra mtd partition in the image.json file after the u-boot2 but Easyinstaller then gives us an error when trying to install the image:
“Erasing flash failed flash_erase: error!: /dev/ error 21 (is a directory)”

Our image.json mtddevs is as follows:

"mtddevs": [
    {
        "name": "u-boot1",
        "content": {
            "rawfile": {
                "filename": "u-boot-nand.imx",
                "size": 1
            }
        }
    },        
{
        "name": "u-boot2",
        "content": {
            "rawfile": {
                "filename": "u-boot-nand.imx",
                "size": 1
            }
        }
    },
{
        "name": "splash",
        "content": {
            "rawfile": {
                "filename": "splash.bmp",
                "size": 1
            }
        }
    },
    {
        "name": "ubi",
        "ubivolumes": [ <snip>
        ]
    }
]

HI @HJO

I can reproduce your issue and I created an internal ticket for this.
I will come back to you once I have more Information.

Do you have any deadline for the solution?

Best regards,
Jaski

Hi @jaski.tx,

For now we simply overwrite the u-boot2 partition with the splash screen which works fine, but it is not the recommended solution. For our production units I’d like to fix this correctly and then we need to have a solution before the end of march.

Best regards,

HJO

Hi @HJO

Thanks for your feedback.

Best regards,
Jaski

HI @HJO

We found a solution for your issue. Actually for creating an extra MTD Partition, you need to pass the new partition as argument from U-Boot to Kernel in Toradex Easy Installer and in your Linux Image.

In order to do this, you change the boot.scr and boot-sdp.scr Files in Toradex Easy Installer as Files in attachment. To know how to create the .scr Files have a look here.
Additionally you need to change the mtdparts variable in uEnv.txt File of your Linux Image to the following:

mtdparts=mtdparts=gpmi-nand:512k(mx6ull-bcb),1536k(u-boot1)ro,1536k(u-boot2)ro,1024k(splash),512k(u-boot-env),-(ubi) 

Best regards,
Jaski

Hi @jaski.tx

When we order Toradex SOMs they come with Easyinstall pre-installed, right? For us production is then as easy pluggin in new SOMs into a development board that contains an easyinstall image on an SDcard with ‘autoinstall=true’ and have production wait for the install to finish.

If we need to modify Toradex Easyinstaller, all modules will first need to be re-installed with the correct Easyinstall image and then production can add the correct production firmware, correct?

This would create a lot of extra production steps, in that case I prefer our current solution,

Best regards,

HJO

Hi @HJO

Actually you just need to boot the Tezi with custom bootscript from SD Card and install your custom image. This should not change anything.

You are free to keep you solution. This is just not recommended by Toradex.

Best regards,
Jaski