FW Upgrade on Field without run recovery script

Hello All,
I am using Verdin-iMX8mp with IVY carrier board and created custom reference minimal image.
I want to FW upgrade on field and follow the steps that given in this link:

  1. Yavia recovery mode without computer - #4 by bruno.tx

  2. Configure Torizon to automatically boot Toradex Easy Installer from USB pendrive

In my SD card i created the folder structure as suggested in above link and configured autoistall flag in image.json file.

The FW successfully flash into eMMC from SD card, but problem getting is I am not able to see the process status whether successfully completed and then stopped.

When i connect VNC for GUI access via USB it again started if i reboot manually. But on customer side we don’t want to connect USB cable to see the monitor log in VNC.

Is there any way to monitor the FW update status in debug UART and once successfully complete it should stop and notify that the FW upgrade process completed?

Thanks,

Vishal

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help with monitoring your firmware update status! Could you let me know which OS and version you are running? You can use the tdx-info command to get detailed information about your system. Please refer to this guide for more details about using tdx-info.

This information will help me provide the most accurate guidance for monitoring your firmware update process on your Verdin iMX8MP with Ivy carrier board setup.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI @sahil.tx

we are using below:
Torizon OS : Reference Minimal Image
Toradex BSP : Toradex BSP version 7.4.0
Linux Kernel : Linux Kernel version 6.6.94 LTS
Machine : verdin-imx8mp
Yocto Release : Yocto 5.0 (Scarthgap)
Distro (Distribution) : tdx-xwayland
Architecture : ARM64

Thanks,

Vishal

Thank you for providing the system details! Based on your setup with Verdin iMX8MP and Ivy carrier board running BSP 7.4.0, I can help you monitor the firmware update status via debug UART.

Debug UART Access on Ivy Carrier Board

Unfortunately, the Ivy Carrier board does not expose the serial debug console by default (1). However, you can still access the debug UART by populating an unpopulated header and using a USB to UART TTL adapter (1).

As shown in the schematics, you can use:

  • 3.3V TTL signal on J1
  • 1.8V TTL signal on J17 (1)

Monitoring Firmware Update Status

Once you have UART access configured, you can monitor the Toradex Easy Installer progress through the serial console. The installer typically outputs status messages during the flashing process, including:

  • Download progress
  • Flash verification steps
  • Completion notifications
  • Error messages (if any occur)

Implementation Steps

  1. Hardware Setup: Populate the appropriate header (J1 or J17) on your Ivy carrier board and connect a USB-to-UART adapter (1)

  2. Serial Console Access: Connect to the UART at 115200 baud rate to monitor the installation process

  3. Automated Monitoring: You can create a script that monitors the UART output for completion messages and triggers appropriate actions (like LED indicators or log files) when the update finishes

  4. Status Indication: Consider adding GPIO-controlled LEDs to your setup to provide visual feedback about the update status without requiring UART monitoring

This approach will give you the visibility into the firmware update process that you need for field deployments without requiring USB/VNC connections.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI
I connected debug UART the other logs i am able to see but it getting repeatly goes into Toradex Easy Installer (Tezi) not going into my image even SD card inserted.

Here is my Log

FW_Upgrade_Log_SD_Card.txt (22.5 KB)

Based on your log showing repeated boot into Toradex Easy Installer instead of your image, this is likely related to the SD card boot configuration. Let me help troubleshoot this issue.

SD Card Boot Configuration

When booting from SD card, you need to ensure proper U-Boot configuration (1). The system should recognize the SD card partitions and boot from them correctly.

Boot Command Options

From the U-Boot prompt, you can manually control the boot process using specific commands (1):

> run bootcmd_mmc0 # For eMMC  
> run bootcmd_mmc1 # SD card  
> run bootcmd_dhcp # TFTP/NFS  

(1)

SD Card Requirements

For successful SD card boot, ensure you have (1):

  • U-Boot running on your module - which you have
  • An SD card with two partitions:
    • A FAT partition to store the kernel image and device trees
    • An ext4 partition to store the rootfs (1)

Troubleshooting Steps

  1. Check Partition Recognition: At the U-Boot prompt, verify if partitions are recognized (1):
> mmc dev 1; mmc part  

(1)

  1. Manual Boot: Try forcing boot from SD card using (1):
> run bootcmd_mmc1 # SD card  

(1)

  1. Verify SD Card Structure: Ensure your SD card follows the proper partition layout with the boot partition formatted as FAT32 and rootfs as ext4 (1).

  2. Check Boot Order: The system may be defaulting to Easy Installer. You might need to interrupt the boot process and manually select the SD card boot option.

The repeated Easy Installer boot suggests the system isn’t detecting a valid bootable image on your SD card or the boot priority is set incorrectly.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI @sahil.tx

If you see the below image in that FW is successfully upgraded into eMMC and now GUI asking for reboot. When i click on reboot then FW upgrade again start. I want to avoid this.

Based on your screenshot showing the successful firmware upgrade but the continuous reboot loop into Easy Installer, you need to implement an automatic reboot mechanism to prevent this cycle.

Auto Reboot Configuration

To prevent the system from staying in the Easy Installer after successful flashing, you can configure automatic reboot using a wrapup_script (1). Here’s how to implement it:

Create a Wrapup Script

Create a wrapup.sh script in your Toradex Easy Installer image directory (1):

reboot -f  
exit 0  

(1)

SD Card Remount for Script Execution

Since your wrapup.sh script is located on the SD card, you need to remount it in read-write mode first (1):

mount -o remount,rw /run/media/src  

# Write operations here  

exit 0  

(1)

Important Considerations

After flashing has finished, the same dialog as with regular flashing will be shown (1). This is useful for the operator to know that the image has been successfully installed (1).

Note that although there are options to interact, there is no interaction needed: The operator can safely turn off the module at that point (1).

If an automatic reboot is required, the wrapup_script can be extended with the reboot command (1).

Implementation Steps

  1. Add the wrapup script to your Easy Installer image configuration
  2. Reference it in your image.json file
  3. Test the automatic reboot functionality to ensure it boots into your installed image instead of returning to Easy Installer

This approach will eliminate the manual reboot requirement and prevent the continuous Easy Installer loop you’re experiencing.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @vishalborle92 ,
You can modify the script to force it to reboot after the installation

Thanks @sahil.tx for quick reply.

You mean this below

mount -o remount,rw /run/media/src

# Write operations here

exit 0

In my SD two wrapup.sh scripts one from Toradex easy installer folder and another from Reference minimal image folder. My question which script need to be update with above line?

Another to auto reboot I already added reboot -f, but still same problem.

Thanks.

Hi @vishalborle92 ,
You need to do the modification in the Toradex easy installer wrapup.sh.
The below will force it to reboot automatically after the installation has finished
reboot -f
exit 0

Hi @sahil.tx ,

I tried as you suggested but board did not restart, but when i add same line in my image folder wrapup.sh

The board get reset but after that again FW process started this happen repeatedly.

See my log:

FW_Upgrade_Log_SD_Card.txt (22.5 KB)

Hi @vishalborle92 ,
This is expected because you have both Toradex easy installer and the OS image.
This is what is happening
Your currently running images sees boot.scr(part of Toradex easy Installer) in your USB/SD card and boots into Toradex easy installer
Found U-Boot script /boot.scr
After booting, it finds the OS image and installs it (if autoinstall=true)
The image boots (reboot -f) after installtion and finds boot.scr again.

Please understand that there are different scenarios here.

  1. For development environment : It is expected that you connect UART/Display to see that image is installed and act accordingly
  2. For production programming : Modules comes with Toradex easy installer pre-installed, so, you just need to keep your OS in your USB/SD card.
  3. For updating in field :
    a) Updating on a booting module :wrapup.sh script that runs when the installation is completed.
    You may edit this file to run any shell script after installing.
    or you can add some logic on your uboot enviroment variable like checking GPIO status (high/low) and then booting toradex easy installer.
    b) Updating on a non booting module ( recovery mode required)