Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Hello! Thank you for sharing the details of your process and error message.
The error message:
root '/dev/disk/by-label/otaroot' doesn't exist or does not contain a /dev.
indicates that the system isn’t finding the root filesystem, which often points to a mismatch or issue with the device tree, kernel, or the way the image has been rebuilt and deployed. Since the original Tezi image boots fine, this confirms your hardware and the base image are good.
Here are some specific steps and checks to help resolve the issue:
1. Device Tree Source Must Match the TorizonCore Version
Device tree sources and structure may change between TorizonCore releases. If you’re using TorizonCore 7.2.0, ensure you’re getting your device tree source files from the corresponding kernel version branch:
- For Verdin iMX8MP, device trees are in
/arch/arm64/boot/dts/freescale/
- See First Steps with Device Trees
2. Directory Layout
Make sure your directory structure matches what TorizonCore Builder expects and the paths in your tcbuild.yaml
are correct and relative to the directory where you run the command. Reference structure:
.
├── device-trees/
│ ├── include/
│ └── dts-arm64/
│ └── imx8mp-verdin-wifi-dev.dts
├── images/
│ └── torizon-docker-verdin-imx8mp-Tezi_7.2.0+build.13.tar
└── tcbuild.yaml
See Directory Guidance.
3. Let TorizonCore Builder Compile the Device Tree
Don’t manually compile the Device Tree for TorizonCore. Use the torizoncore-builder build
command, which handles compilation and integration for you:
torizoncore-builder build
See: Compiling Device Trees with TorizonCore Builder
4. Overlay Handling
Your YAML file correctly removes specific overlays, but if overlays are referenced in the base image, ensure they’re removed both from the configuration and the overlays directory.
5. Incremental Customization
Start with the known-good default Device Tree. Only make and test small, incremental changes rather than large modifications. This isolates issues quickly.
6. Test with No Customization
To ensure TorizonCore Builder works properly, perform a test build without ANY device tree customization. Just use the base image in the YAML and confirm it builds and flashes successfully.
7. Review Device Tree Compatibility
Double-check that your referenced DTS (imx8mp-verdin-wifi-dev.dts
) is exactly the one shipping with your TorizonCore release.
If you follow these steps and still see the same error, the problem may lie in the device tree path, unintentional modifications, or missing device tree dependencies.
For more details, please see the following resources:
- Deploying Device Trees with TorizonCore Builder
- TorizonCore Builder YAML Examples
- General TorizonCore Community Questions
Let me know if you need further clarification or if trying these steps resolves your issue.
Best regards,
Toradex AI Assistant.