Building Custom TorizonCore images

Hi

We are currently transitioning from the legacy images to torizon and I have a few questions regarding building custom images.

I am using your Build TorizonCore article to build a custom image.

1) What’s the state of torizon with PREEMPT_RT?

We are using our colibri imx6 modules for robot and motor control, so RT functionality is essential for us. It only says RT builds are “experimental”. Can we expect stable images any time soon? How stable are they currently? How do I enable PREEMPT_RT for my build?
It also took me a long time to realise I had to enable the testing/CI server in the easy installer to find them.
A small hint in the overview about how to install the experimental RT images would have been really helpful.

2) How do I customise the kernel and kernel modules?

We are using some custom hardware for which we need to install custom kernel modules. How do I add these to the torizon build?

__3) Toolchain __

Where can I find the toolchain used by bitbake to build the my image? We’d like to cross-compile applications during development without the need to rebuilt the entire image.

4) Rootfs customisation

I haven’t quite wrapped my head around how to add things to the rootfs. We previously built our rootfs with buildroot, which allowed us to specify a folder to treat as an overlay. Is there a similarly simple method for torizon (also without using OTA)?

5) User Customisation

Is there a way to set a custom password that does not need to be reset on first login?

Thanks

Moritz

Greetings @LVTTL,

So the overall idea of Torizon is that one would package their application in a Linux container along with any needed dependencies. This would eliminate the need to customize the base OS for a majority of scenarios.

The idea behind this is better explained in our Torizon webinar: https://www.toradex.com/webinars/introducing-torizon-easy-to-use-industrial-linux-platform

May I ask what kind of application/project you are doing that requires a customized Linux image/distribution? Because if you truly do require a customized image, while not wanting to make use of containers and OTA, then Torizon might not be the distribution for you. In which case our standard Linux BSP would probably be a better fit.

Best Regards,
Jeremias

Hello Jeremias

We are using the modules in our Control Board. It’s a general purpose robotics and motor control board that serves as a basis for various robotics projects. It needs to be able to run control loops (position/speed control) (hence the need for RT) and also talk to custom hardware implemented in an FPGA (hence the custom kernel module).

I like the idea of containerisation and OTA updates, however we are still evaluating our strategy. Currently I am just trying to build the simplest image possible that will reproduce the functionality of our existing images.

I ended up with torizon since this comment says that RT kernels aren’t really supported and suggests using torizon to get the best chance at RT support.

Do the standard linux BSP builds also produce toradex easy installer images?

Can I use “linux-toradex-mainline-rt” (bitbake kernel recipe) for the standard BSP as well?

I have tried using “linux-toradex-rt” before (with standard BSP) but it failed to build.

I ended up with torizon since this comment says that RT kernels aren’t really supported and suggests using torizon to get the best chance at RT support.

Currently we do plan to provide tested RT support with Torizon do note that a stable RT release of Torizon will probably come after the stable release of the non-RT version (currently scheduled for the end of the year.)

Do the standard linux BSP builds also produce toradex easy installer images?

Yes there are currently two versions of our non Torizon BSP available. V2.8 which is a stable well tested release and V3.0 which is newer and not as stable but has nice updates such as a more recent kernel and bootloader.

Can I use “linux-toradex-mainline-rt” (bitbake kernel recipe) for the standard BSP as well?

For V2.8 you should be able to, I believe in V3.0 a RT build hasn’t been well tested as of yet.

I have tried using “linux-toradex-rt” before (with standard BSP) but it failed to build.

Maybe you tried building for our 3.0 BSP? It should work on our 2.8 release.

Maybe you tried building for our 3.0 BSP? It should work on our 2.8 release.

I building tried both again and the 2.8 build failed. Unfortunately I no longer have the log, but I remember it failing somewhere in the kernel patching stage. I used linux-toradex-rt as the provider.

However building the 3.0 image worked just fine, so I am using that now.

So for now I’m happy, maybe I’ll take another look at torizon later.

Thank you for your help!

Glad you were able to work something out!