Torizon, BSPs, and custom device trees

Up to now, we’ve been building native images for the Colibri imx7d emmc for production (BSP 2.8b3), but I’m moving to Torizon. We have some custom device tree sources and dtb’s for the native build which work well, and we need to apply them to a TorizonCore image.

I can build TorizonCore 5 (dunfell) fine, but the TorizonCore 4 (zeus) build still fails. I’m new to the TorizonCore Builder utility but I used it (my first attempt) to unpack the Tezi tar file, added our dts file, applied and deployed it successfully, but the module didn’t boot.

  • What’s the association between BSP version and Torizon version? (or is there?)
  • Can you use the TorizonCore Builder utility and drop an existing dtb in and deploy it?

thanks,
Dave

Greetings@buchemister,

Let me see if I can help answer, clear up things here for you.

but the TorizonCore 4 (zeus) build still fails

This is odd but also you should know that TorizonCore 4.X was a deferred version that we never really released. It’s not recommended to use this version as most of our tooling doesn’t really work for this version anymore. So let’s just focus on 5.X onward.

added our dts file, applied and deployed it successfully, but the module didn’t boot.

Couple of questions here. How exactly did you apply your DTS? (I just want to make sure the steps performed were correct) Are you using the same DTS that you used from 2.8? I would expect this to cause issues as the kernel versions between 2.8 and 5.X are very different.

What’s the association between BSP version and Torizon version? (or is there?)
TorizonCore is an extension of our normal BSP and is built on top of it. Meaning that 5.1 TorizonCore extends 5.1 of our BSP.

Can you use the TorizonCore Builder utility and drop an existing dtb in and deploy it?
No you need to provide the utility with source files that it then compiles and deploys itself. This is just so basic checks can be ran. Also it’s to make sure it’s compiled against the right Linux version source files.

Best Regards,
Jeremias

Thanks for the update, I didn’t know that about Torizon 4.0. In the article ‘Build TorizonCore With Yocto’, the tab with build instructions is there but no note saying that it was never released (or I missed it).

The dts source I mentioned was not the original 2.8 file, but the elec. engineer I work with modified it based on Torizon 5.0 device tree architecture. After the unpack/checkout from the Tezi file, I replaced it into the dts-arm32 then union/deploy. When I flashed the imx7, it didn’t boot.

I’m sure it’s an issue with dts file, but other than that, is there a way to ‘debug’ the output from the TorizonCore Builder utility? Or determine why it won’t boot?

I’m sure it’s an issue with dts file, but other than that, is there a way to ‘debug’ the output from the TorizonCore Builder utility? Or determine why it won’t boot?

This is a little tricky. Other than some basic checks the Builder tool doesn’t actually guarantee that that a successfully compiled device tree will have no issues. As there’s no real way to determine this programmatically other than to run the device tree on the target.

Other than “not booting” is there any output from the device at all on serial or anything?

Also it’d be helpful to share what device tree you’re attempting to apply. Unfortunately device tree debugging is very trial and error.

Best Regards,
Jeremias