Toradex Easy Installer from BSP5 to BSP6 using pendrive

Hi,

We are working in the colibri iMX6 SOM with custom carrier board (similar to viola carrier board) for our development process. The application is running in the YOCTO BSP5 in weston wayland. The SOM had only the bootloader and the rootfs are flashed in SD-Card. Our OS configurations are below.

OS: YOCTO
Code Name: Dunfell
BSP: BSP-5
Version: 5.7.0-devel

Now we are planning to upgrade the YOCTO OS from BSP5 to 6 due to library need to change for application which is supporting only in the BSP6. For this, we are programming an automation script to flash the OS to SD-Card through pendrive and also for the SOM flashing via pendrive. The script to flash the SD-Card is working well. For SOM, we need to go to recovery mode for flashing bootloader through pendrive. 
As per the Toradex document, the Toradex Easy installer can flash to the SOM through the pendrive by copy the easy installer files to pendrive and change the value of "distro_bootcmd" to "usb0" as the first boot device in "uboot". This is working for the BSP-6 to BSP-6 upgrade. I'm trying for BSP-5 to BSP-6 which is not working. 

For BSP-5 SOM, I tried several combinations of easy installer version as below.
1. Toradex Easy Installer 5.7.0+build.12
2. Toradex Easy Installer 5.7.5+build.19
3. Toradex Easy Installer 6.6.0+build.6
As the document says, the Easy Installer in BSP6 will not work for BSP5 in SOM. But, the other Easy Installer versions needs to work. In my case, it is not working. It shows the below error message.

Industrial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1

U-Boot 2020.07-07894-g2a68bb1926-dirty (Aug 24 2022 - 16:47:43 +0530)

CPU: Freescale i.MX6DL rev1.4 at 792MHz
CPU: Industrial temperature grade (-40C to 105C) at 35C
Reset cause: POR
DRAM: 512 MiB
PMIC: device id: 0x10, revision id: 0x21, programmed
MMC: FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC… OK
In: serial
Out: serial
Err: serial
Model: Toradex Colibri iMX6 DualLite 512MB IT V1.1B, Serial# 11059543
Net: eth0: ethernet@2188000
Hit any key to stop autoboot: 0
gpio: pin 36 (gpio 36) value is 1
gpio: pin 40 (gpio 40) value is 1
gpio: pin 82 (gpio 82) value is 1
gpio: pin 11 (gpio 11) value is 0
gpio: pin 15 (gpio 15) value is 1
gpio: pin 88 (gpio 88) value is 1
Warning: value of pin is still 0
gpio: pin 89 (gpio 89) value is 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found U-Boot script /boot.scr
5998 bytes read in 15 ms (389.6 KiB/s)

Executing script at 17000000

Loading DeviceTree: imx6dl-colibri-cam-eval-v3.dtb
Booting from mmc failed!
SCRIPT FAILED: continuing…
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found U-Boot script /boot.scr
5752 bytes read in 19 ms (294.9 KiB/s)

Executing script at 17000000

Loading DeviceTree: imx6dl-colibri-cam-eval-v3.dtb
Booting from mmc failed!
SCRIPT FAILED: continuing…
73521 bytes read in 19 ms (3.7 MiB/s)
starting USB…
Bus usb@2184000: USB EHCI 1.00
Bus usb@2184200: USB EHCI 1.00
scanning bus usb@2184000 for devices… 1 USB Device(s) found
scanning bus usb@2184200 for devices… 3 USB Device(s) found
scanning usb for storage devices… 1 Storage Device(s) found

Device 0: Vendor: JetFlash Rev: 1100 Prod: Transcend 16GB
Type: Removable Hard Disk
Capacity: 14950.0 MB = 14.5 GB (30617600 x 512)
… is now current device
Scanning usb 0:1…
Found U-Boot script /boot.scr
1135 bytes read in 7 ms (158.2 KiB/s)

Executing script at 17000000

Resetting to default environment

Bootargs: console=ttymxc0,115200 quiet video=DPI-1:640x480M@60D video=HDMI-A-1:640x480M@60D rootfstype=squashfs root=/dev/ram autoinstall

Loading kernel from FIT Image at 12100000 …

Bad FIT kernel image format!
ERROR: can’t get kernel image!
SCRIPT FAILED: continuing…
ethernet@2188000 Waiting for PHY auto negotiation to complete…

Please guide me to install the flash the SOM through pendrive using right version Toradex Easy Installer.

Thanks in advance.
Best Regards
Kesavan T

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello Kesavan T,

Upgrading from BSP5 to BSP6 on a Colibri iMX6 SOM using the Toradex Easy Installer via a pendrive involves a few critical steps and considerations. Given the error messages and the process you’ve described, it seems like the issue might be related to the compatibility of the Easy Installer versions with BSP5 and the format of the image you are trying to flash.

  1. Compatibility of Easy Installer Versions: As you’ve noted, the Toradex Easy Installer version designed for BSP6 might not be backward compatible with modules running BSP5. It’s crucial to use an Easy Installer version that supports the transition from BSP5 to BSP6. Since you’ve already tried versions 5.7.0+build.12 and 5.7.5+build.19 without success, the issue might not solely be the version of the Easy Installer.

  2. Error Analysis: The error message “Bad FIT kernel image format! ERROR: can’t get kernel image!” suggests that there might be an issue with the format of the kernel image or the way it’s being recognized by the bootloader. This could be due to a mismatch in the expected format between the versions or a corrupted image file.

  3. Steps to Resolve:

    • Verify Image Integrity: Ensure that the image you are trying to flash is not corrupted. You can re-download or re-generate the image to be sure.
    • Use Compatible Easy Installer Version: Although you’ve tried multiple versions, double-check the compatibility of the Easy Installer version with your current BSP5 setup. It might be helpful to use the latest version of the Easy Installer that explicitly supports upgrading from BSP5 to BSP6.
    • Check Bootargs and Image Format: Ensure that the boot arguments (bootargs) and the image format are correctly set up for BSP6. The error message indicates a problem with loading the kernel from the FIT Image, which might require adjusting the bootargs or reconfiguring the image format.
  4. Alternative Approach: If direct flashing from BSP5 to BSP6 using the Easy Installer proves to be problematic, consider an intermediate step. Flash the SOM to a neutral state with a minimal or universal Easy Installer image that is known to be compatible with both BSP versions, then proceed to flash BSP6 from there.

  5. Manual Intervention: If the automated script fails, manual flashing through the Easy Installer’s GUI might provide more insights into the process and help identify any specific steps where the process fails.

It

Please, also check if these links can help you solve your problem:

Splash Screen on Torizon OS | Toradex Developer Center.

How to get the old Toradex Easy Installer packages for BSP5 as a zip files. I tried with some old easy installer package. It is not working.

Here I uploaded the custom bootloader for BSP5. Please refer the below shared link.
https://share.toradex.com/fjtvlgodarzgk7e

The Toradex Easy Installer package version 5.7.6 is available here. If you need older releases, please click on “Browse older releases” below the table.

Hi Alex,

Thanks for your support.
I tried with the Easy installer V5.7.6 for colibri-imx6 which is not working for our custom bootloader. If I flashed the custom bootloader in BSP-5 what I attached earlier to SOM, the easy installer is not booting from the pendrive.

I tried the BSP-6 bootloader flashed to SOM with the same modification of device tree files as I did in the BSP-5. Then I tried the easy installer BSP-6 in pendrive and made it to boot from USB. For this case in BSP-6, it is working and I can boot to the easy installer. We are facing the problem while flashing easy installer for the BSP-5 flashed SOM.

Hi @ervaskes ,
I tried to boot Toradex Easy Installer from USB on Colibri iMX6DL having BSP 5.7.6 flashed and it is working fine.
Can you share only the customized u-boot built by you?
I also remember that it was working earlier because you had some query on which it was not working on particular custom board

Hi Sahil,

The customized u-boot built was uploaded in the Toradex Sharing as the link given below.
Earlier I used the easy installer by after making the device to recovery mode. Also, in pendrive flashing, I did SD-Card flashing through pendrive which is working fine and not for the SOM.

https://share.toradex.com/fjtvlgodarzgk7e

Hi @ervaskes,
I was able to boot Toradex easy installer from USB stick on Colibri iMX6 having your customized uboot. Can you recheck again at your end?

Hi Sahil,

Thanks for your support.
I tried the steps as per the document. It is not working for me. The steps what I followed for this issue is listed below.

Steps to test the YOCTO OS upgrade process from BSP5 to BSP6 using Toradex Easy Installer (TEI) via pendrive.

Stage-1: Flash the SOM to BSP5 by recovery mode.

1. Download Toradex Reference Multimedia image package and extract it.
2. Open "image.json" and change the value of "autoinstall" flag from "false" to "true".
3. Copy the customized "uboot.img" file and replace it to the extracted folder.
4. Copy the updated folder to pendrive and connect the pendrive to device usb port.
5. Connect the device to host PC using RS-232 serial connector and open the putty window with proper serial port ID and baudrate (115200).
6. Power ON the device and stop the u-boot process by pressing any key.
7. Goto recovery mode by executing the command "bmode usb".
8. In host PC, download the Toradex Easy Installer V5.6.7 and extract it. 
9. From the extracted TEI folder, execute the "./recovery-linux.sh" file to flash the TEI in SOM. 

This will flash the customized BSP-5 image to SOM.

Stage-2: Boot the device to Toradex Easy installer via pendrive.

1. Format the pendrive in FAT-32.
2. Copy the Toradex Easy installer to pendrive and connect to the USB port of device.
3. Power ON the device and stop the u-boot process by pressing any key (Putty window).
4. Execute the command "run bootcmd_usb0" to boot the device from pendrive which will direct to the Easy Installer window.

It shows the below error.

 Industrial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1


U-Boot 2020.07-07894-g2a68bb1926-dirty (Aug 24 2022 - 16:47:43 +0530)

CPU:   Freescale i.MX6DL rev1.4 at 792MHz
CPU:   Industrial temperature grade (-40C to 105C) at 55C
Reset cause: WDOG
DRAM:  512 MiB
PMIC:  device id: 0x10, revision id: 0x21, programmed
MMC:   FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6 DualLite 512MB IT V1.1B, Serial# 11059543
Net:   eth0: ethernet@2188000
Hit any key to stop autoboot:  0
starting USB...
Bus usb@2184000: USB EHCI 1.00
Bus usb@2184200: USB EHCI 1.00
scanning bus usb@2184000 for devices... 1 USB Device(s) found
scanning bus usb@2184200 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Device 0: Vendor: JetFlash Rev: 1100 Prod: Transcend 16GB
            Type: Removable Hard Disk
            Capacity: 14950.0 MB = 14.5 GB (30617600 x 512)
... is now current device
Scanning usb 0:1...
EFI boot manager: Cannot load any image).

Hi @ervaskes,
We had a remote session to look into the issue and found that there is no issue with Toradex easy installer and it is working fine with the default Toradex easy installer images.
There is more modifications done by you in the configuration files. Please check if this article helps you

Hi Sahil,

Thanks for your support.
As in our discussion we tried the method of replacing the “u-boot.img” file to the Toradex default reference image (BSP-5) and boot from the pendrive. It was working well as per the expectation. Since, we customised the full boot partition with custom device tree changes which needs to flash the full package not only replacing the “u-boot.img” file. The earlier attached zip file contains the full package for boot partition.

I tried different method to solve the problem by replacing the file one-by-one to the Toradex default reference image in yocto bsp-5. It is working well when I replaced all the files from the custom boot package which can boot into Tezi through pendrive by executing the command “run bootcmd_usb0” in u-boot screen except “u-boot-initial-env-spl” file. I checked the environmental variables and found that the “fdtfile” variable are pointing customised “dtb” file. When I changed the value of this variable to default dtb file, this works for me.

The problem got solved.