Model: Toradex Verdin iMX8M Plus Quad 4GB Wi-Fi / BT IT V1.0D, Serial# 06965633
Carrier: Toradex Verdin Development Board V1.1B, Serial# 10893438
Image: Torizon Minimal 7.x.y
I built an extended torizon-minimal
image with tdx-signed
enabled for integrity checks of U-Boot and Linux kernel. U-Boot hardening is enabled. The image booted successfully. I could see from the messages that all the integrity checks worked fine.
My next idea was to make the integrity check for U-Boot fail. I expected to see some HAB events (I have flashed the SRKs to the efuses but not closed the device). I set up my test as follows.
I copied /dev/mmcblk2boot0
into a filie: dd if=/dev/mmcblk2boot0 of=mmcblk2boot0
.
I changed the date Jan 01 1970
in the “U-Boot 2024.07” messages into Jan 01 2025
with ghex on my host computer.
I installed the modified U-Boot into the second boot partition /dev/mmcblk2boot1
, which is empty (all zeros) by default. Then, I made the board boot from the second partition. Here are the commands:
echo 0 > /sys/class/block/mmcblk2boot1/force_ro
dd if=mmcblk2boot0-mod of=/dev/mmcblk2boot1
echo 1 > /sys/class/block/mmcblk2boot1/force_ro
mmc bootpart enable 2 0 /dev/mmcblk2
Rebooting the board with the same image from before failed. I didn’t see a single boot message. Nothing.
I used TEZI to install several different standard images including Torizon Easy Pairing and Toradex Multimedia Reference Image. Fortunately, TEZI was and is working in recovery mode. TEZI diligently installed the images. But still not single message after rebooting.
Then, I used the Linux prompt of the TEZI image to switch the board to booting from partition 1 again: mmc bootpart enable 1 0 /dev/mmcblk2
. Still not a single boot message.
I installed the original empty U-Boot image in the second partition and switched the board to booting from the first partition /dev/mmcblk2boot0
. Nothing changed with different images installed via TEZI.
I finally installed the original U-Boot image into the first boot partition mmcblk2boot0
(I kept a copy). After installing the standard Toradex Multimedia Reference image with TEZI and rebooting, I got the following the messages:
U-Boot SPL 2022.04-6.8.3+git.75060d6a4c97 (May 19 2025 - 09:27:16 +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
Can't found uboot image in 640K range
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Resetting the board doesn’t help. There are no messages after pressing the RESET hardware button.
How can I install working U-Boot images in the bootloader partitions and re-animate my board?
It seems that TEZI doesn’t install a bootloader. Is that right?
How can I install a tampered U-Boot to test a failing integrity check? What did I do wrong?
Many thanks for your help,
Burkhard