Hi, I’m working on a Verdin iMX8MP board and attempting to build and boot a custom Yocto image that uses SquashFS as the root filesystem with OverlayFS for writable support (i.e., read-only root with a writable overlay on top). I’m using the Toradex BSP based on Yocto and the tdx-reference-multimedia-image as my base image.
I followed the official Toradex blog post here to configure and build my image and I used Toradex Easy Installer (TEZI) to flash the image onto the eMMC, as described in the same article:
https://www.toradex.com/ja-jp/blog/shi-yongsquashfs-heoverlayfs-ti-gao-qian-ru-shilinux-wen-jian-xi-tong-ke-kao-xing
When I try to boot the board, I get the following error in the boot log:
U-Boot 2024.07-7.3.0-devel+git.3f772959501c (Jul 01 2024 - 18:07:18 +0000)
CPU: Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 35C
Reset cause: POR
DRAM: 8 GiB
Core: 176 devices, 31 uclasses, devicetree: separate
WDT: Started watchdog@30280000 with servicing every 1000ms (60s timeout)
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC… Reading from MMC(2)… OK
In: serial@30880000
Out: serial@30880000
Err: serial@30880000
Model: Toradex 0070 Verdin iMX8M Plus Quad 8GB WB IT V1.1A
Serial#: 15629381
Carrier: Toradex UNKNOWN CARRIER BOARD V1.1C, Serial# 11477516
SEC0: RNG instantiated
Setting variant to wifi
Net: eth1: ethernet@30be0000, eth0: ethernet@30bf0000 [PRIME]
Hit any key to stop autoboot: 0
MMC: no card present
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1…
Found U-Boot script /boot.scr
5974 bytes read in 2 ms (2.8 MiB/s)
Executing script at 50280000
Loading DeviceTree: imx8mp-verdin-wifi-dev.dtb
87820 bytes read in 2 ms (41.9 MiB/s)
118 bytes read in 1 ms (115.2 KiB/s)
Working FDT set to 50200000
Applying Overlay: verdin-imx8mp_hdmi_overlay.dtbo
2219 bytes read in 2 ms (1.1 MiB/s)
Applying Overlay: verdin-imx8mp_dsi-to-hdmi_overlay.dtbo
4099 bytes read in 2 ms (2 MiB/s)
Applying Overlay: verdin-imx8mp_spidev_overlay.dtbo
561 bytes read in 1 ms (547.9 KiB/s)
** Invalid partition 2 **
Booting from mmc failed!
SCRIPT FAILED: continuing…
87820 bytes read in 2 ms (41.9 MiB/s)
MMC: no card present
No EFI system partition
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
Loading Boot0000 ‘mmc 2’ failed
EFI boot manager: Cannot load any image
starting USB…
Bus usb@38200000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@38200000 for devices… No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
6 USB Device(s) found
scanning usb for storage devices… 1 Storage Device(s) found
PCIE-0: Link down
ethernet@30bf0000 Waiting for PHY auto negotiation to complete… TIMEOUT !
phy_startup() failed: -110
FAILED: -110
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17
Abort
So What is the correct way to build and structure the image (partition layout, rootfs type, etc.) to support SquashFS + OverlayFS as per the guide? or Is there any **missing step in the TEZI packaging?
Any guidance or example TEZI image with working SquashFS+OverlayFS setup would be helpful.