I’ve been able to update m7 firmware three or four times properly.
But then I initiated an update that bricked my SoM.
I had the console open, so I can give the logs.
This is from aktualizr
root@verdin-imx8mp-15128266:/var/rootdirs/home/torizon# journalctl -fu aktualizr-torizon
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Certificate issuer: CN=ota-devices-CA
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Certificate valid from: Feb 14 13:12:49 2025 GMT until: Feb 14 13:12:49 2125 GMT
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: PROXY: initializing...
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: PROXY: using TCP port 8850.
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Offline Updates are enabled
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: PROXY: starting thread.
Feb 14 13:13:39 verdin-imx8mp-15128266 aktualizr-torizon[1960]: PROXY: listening to connections...
Feb 14 13:13:41 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: SendDeviceDataComplete
Feb 14 13:13:41 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current versions in storage and reported by OSTree do not match
Feb 14 13:13:43 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: UpdateCheckComplete, Result - No updates available
Feb 14 13:18:43 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current versions in storage and reported by OSTree do not match
Feb 14 13:18:44 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current version for ECU ID: 790ffbe2827d7ee2cc1bd555113e55ab4089387da529e540bd7597d90c980bd9 is unknown
Feb 14 13:18:44 verdin-imx8mp-15128266 aktualizr-torizon[1960]: New updates found in Director metadata. Checking Image repo metadata...
Feb 14 13:18:44 verdin-imx8mp-15128266 aktualizr-torizon[1960]: 1 new update found in both Director and Image repo metadata.
Feb 14 13:18:44 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: UpdateCheckComplete, Result - Updates available
Feb 14 13:18:44 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current version for ECU ID: 790ffbe2827d7ee2cc1bd555113e55ab4089387da529e540bd7597d90c980bd9 is unknown
Feb 14 13:18:45 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 1%
Feb 14 13:18:45 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 2%
Feb 14 13:18:45 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 3%
Feb 14 13:18:45 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 4%
Feb 14 13:18:45 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 5%
....
Feb 14 13:18:48 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 97%
Feb 14 13:18:48 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 98%
Feb 14 13:18:48 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 99%
Feb 14 13:18:48 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadProgressReport, Progress at 100%
Feb 14 13:18:49 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: DownloadTargetComplete, Result - Success
Feb 14 13:18:49 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: AllDownloadsComplete, Result - Success
Feb 14 13:18:49 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current version for ECU ID: 790ffbe2827d7ee2cc1bd555113e55ab4089387da529e540bd7597d90c980bd9 is unknown
Feb 14 13:18:49 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Waiting for Secondaries to connect to start installation...
Feb 14 13:18:50 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: InstallStarted
Feb 14 13:18:50 verdin-imx8mp-15128266 aktualizr-torizon[1960]: No update to install on Primary
Feb 14 13:18:50 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Action-handler "/etc/ota-subsystem/m7-firmware-update.sh" message: New firmware installed
Feb 14 13:18:51 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: InstallTargetComplete, Result - Success
Feb 14 13:18:51 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: AllInstallsComplete, Result - OK
Feb 14 13:18:51 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Current versions in storage and reported by OSTree do not match
Feb 14 13:18:51 verdin-imx8mp-15128266 aktualizr-torizon[1960]: Event: PutManifestComplete, Result - Success
and it seems ok.
But this is the log from the next Torizon boot
U-Boot SPL 2022.04-6.8.1+git.a31fdd543bee (Jan 01 1970 - 00:00:00 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
Training FAILED
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
DDR configured as single rank
SEC0: RNG instantiated
Normal Boot
WDT: Started watchdog@30280000 with servicing (60s timeout)
Trying to boot from BOOTROM
Boot Stage: Primary boot
Find img info 0x&4802a600, size 888
Need continue download 1024
Download 951296, Total size 952656
NOTICE: BL31: v2.6(release):lf_v2.6-g3c1583ba0a
NOTICE: BL31: Built : 00:00:00, Jan 1 1970
U-Boot 2022.04-6.8.1+git.a31fdd543bee (Jan 01 1970 - 00:00:00 +0000)
CPU: i.MX8MP[6] rev1.1 1600 MHz (running at 1200 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 47C
Reset cause: POR
DRAM: 2 GiB
Core: 89 devices, 23 uclasses, devicetree: separate
WDT: Started watchdog@30280000 with servicing (60s timeout)
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In: serial
Out: serial
Err: serial
Model: Toradex 0064 Verdin iMX8M Plus Quad 2GB WB IT V1.1A
Serial#: 15128266
get_tdx_eeprom: cannot find EEPROM by node
MISSING TORADEX CARRIER CONFIG BLOCKS
get_tdx_eeprom: cannot find EEPROM by node
SEC0: RNG instantiated
BuildInfo:
- ATF 3c1583b
flash target is MMC:2
Net: eth1: ethernet@30be0000, eth0: ethernet@30bf0000 [PRIME]
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
Failed to load '/ostree/deploy/torizon/var/firmware_imxcm7.bin'
## Starting auxiliary core stack = 0x00800400, pc = 0x00000000...
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
Found U-Boot script /boot.scr
973 bytes read in 1 ms (950.2 KiB/s)
## Executing script at 50280000
6705 bytes read in 2 ms (3.2 MiB/s)
88627 bytes read in 2 ms (42.3 MiB/s)
102 bytes read in 2 ms (49.8 KiB/s)
Applying Overlay: verdin-imx8mp_hdmi_overlay.dtbo
2091 bytes read in 3 ms (680.7 KiB/s)
Applying Overlay: verdin-imx8mp_hmp_overlay.dtbo
2503 bytes read in 3 ms (814.5 KiB/s)
Applying Overlay: custom-kargs_overlay.dtbo
200 bytes read in 2 ms (97.7 KiB/s)
13404218 bytes read in 47 ms (272 MiB/s)
6318867 bytes read in 23 ms (262 MiB/s)
Uncompressing Kernel Image
## Flattened Device Tree blob at 50200000
Booting using the fdt blob at 0x50200000
Loading Device Tree to 00000000bfac0000, end 00000000bfaf8fff ... OK
Modify /vipsi@38500000:status disabled
Starting kernel ...
[ 1.012762] clk: failed to reparent hsio_axi to sys_pll2_500m: -16
[ 1.023678] clk: failed to reparent hsio_axi to sys_pll2_500m: -16
[ 1.036602] Unable to handle kernel paging request at virtual address ffff80000a4f4fff
[ 1.044551] Mem abort info:
[ 1.047359] ESR = 0x0000000096000007
[ 1.051110] EC = 0x25: DABT (current EL), IL = 32 bits
[ 1.056425] SET = 0, FnV = 0
[ 1.059484] EA = 0, S1PTW = 0
[ 1.062625] FSC = 0x07: level 3 translation fault
[ 1.067543] Data abort info:
[ 1.070427] ISV = 0, ISS = 0x00000007
[ 1.074262] CM = 0, WnR = 0
[ 1.077241] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049c61000
[ 1.083944] [ffff80000a4f4fff] pgd=10000000bffff003, p4d=10000000bffff003, pud=10000000bfffe003, pmd=10000000400e6003, pte=0000000000000000
[ 1.096485] Internal error: Oops: 0000000096000007 [#1] PREEMPT SMP
[ 1.102754] Modules linked in:
[ 1.105813] CPU: 1 PID: 102 Comm: kworker/u8:1 Not tainted 5.15.148-6.8.1+git.1cbf48124747 #1-TorizonCore
[ 1.115383] Hardware name: Toradex Verdin iMX8M Plus WB on CEMB 100134 Board (DT)
[ 1.119683] mmc0: new ultra high speed SDR104 SDIO card at address 0001
[ 1.122866] Workqueue: events_unbound deferred_probe_work_func
[ 1.135312] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 1.142280] pc : rproc_handle_resources.constprop.0+0xb8/0x1a4
[ 1.148121] lr : rproc_boot+0x45c/0x620
[ 1.151961] sp : ffff80000a81b9e0
[ 1.155277] x29: ffff80000a81b9e0 x28: ffff80000a4f5003 x27: 00000000ffffffff
[ 1.162419] x26: ffff8000099031e0 x25: 0000000000000000 x24: ffff000000af5038
[ 1.169566] x23: ffffffffffffffff x22: ffff80000a4f5000 x21: 00000000000003fd
[ 1.176712] x20: ffff000000af5000 x19: 0000000000000000 x18: fffffffffffc48d0
[ 1.183860] x17: 000000040044ffff x16: 00500072b5503510 x15: fffffffffff848cf
[ 1.191004] x14: 0000000000000001 x13: 0000000000000000 x12: 0000000000000003
[ 1.198148] x11: 0101010101010101 x10: 0000000000000037 x9 : 0000000000000000
[ 1.205295] x8 : ffff000000c0bf00 x7 : 0000000000000000 x6 : 000000000000003f
[ 1.212443] x5 : 0000000000000040 x4 : ffff80000a81b910 x3 : 0000000000000000
[ 1.219586] x2 : 0000000000000400 x1 : ffff80000a1326e0 x0 : ffff80000a4f5000
[ 1.226733] Call trace:
[ 1.229180] rproc_handle_resources.constprop.0+0xb8/0x1a4
[ 1.234673] rproc_boot+0x45c/0x620
[ 1.238164] rproc_add+0xd0/0x170
[ 1.241482] imx_rproc_probe+0x510/0x710
[ 1.245410] platform_probe+0x68/0xe0
[ 1.249079] really_probe+0xbc/0x460
[ 1.252659] __driver_probe_device+0x100/0x160
[ 1.257107] driver_probe_device+0x40/0x120
[ 1.261297] __device_attach_driver+0xbc/0x160
[ 1.265743] bus_for_each_drv+0x7c/0xe0
[ 1.269582] __device_attach+0xac/0x1f0
[ 1.273425] device_initial_probe+0x14/0x20
[ 1.277612] bus_probe_device+0x9c/0xb0
[ 1.281454] deferred_probe_work_func+0x94/0xf0
[ 1.285988] process_one_work+0x1d0/0x4a0
[ 1.290004] worker_thread+0x2c0/0x490
[ 1.293760] kthread+0x150/0x160
[ 1.296994] ret_from_fork+0x10/0x20
[ 1.300578] Code: f94037e0 aa1a03e2 aa1803e1 97d05d42 (b8776ac1)
[ 1.306678] ---[ end trace 89de641f8b26b9d3 ]---
[ 1.311297] Kernel panic - not syncing: Oops: Fatal exception
[ 1.317046] SMP: stopping secondary CPUs
[ 1.321284] Kernel Offset: disabled
[ 1.324773] CPU features: 0x0,00002001,20000846
[ 1.329307] Memory Limit: none
[ 1.332366] Rebooting in 5 seconds..
You can see the message
Failed to load '/ostree/deploy/torizon/var/firmware_imxcm7.bin'
and I think that after trying to load rpmsg driver a fatal error happens and so the system reboots.
Can you suggest something to make this kind of update much more robust?