I’ve recently been able to utilize Torizoncore-builder to build a custom Tezi image and bundle it with my docker application. I’ve successfully loaded it onto my Colibri-imx8x and the application loads after boot. However, I’ve read there is an intentional 15 second delay introduced by docker for security reasons and am wondering what the correct way to remove this delay is.
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
I don’t have specific information about the 15-second Docker delay you’re referring to in the available documentation sources. The sources I have access to cover TorizonCore Builder usage, pre-provisioning Docker containers, device tree overlays, and other customization topics, but don’t address Docker startup delays or their removal (1)(2)(3)(4)(5).
To provide you with accurate guidance on removing this delay, could you let me know:
Which version of Torizon OS are you running on your Colibri iMX8X?
You can get detailed system information by running tdx-info on your device - this will help identify the exact platform configuration
As far as I can tell, the issue in that thread has to do with using the TCP API of docker which is not enabled in the default Torizon config. If you do need that feature, be sure to use the “–tls-verify” option as mentioned later in the thread to help with that long delay.
In that case, I’m using a torizon-docker-colibri-imx8x-Tezi_7.2.0+build.13.tar image with some custom overlays. The boot time is quite long, ~15 seconds. Is there anything I can do to reduce this boot time? It’s the same behavior regardless of if I’ve bundled my docker application or not.
15s is pretty typical for a Torizon install. When you say it is the same without a bundled application, how are you defining “booted”?
What boot time are you looking to get to? And how do you define that? Is it just a splash screen, something from your app displaying, or full app functionality?
By "booted’, I mean the time it takes to exit the splash screen. We’re running a UI off the Colibri-imx8x and need every second we can spare on boot. The firmware intended to be controlled via the UI running on the Colibri-imx8x loads within a couple seconds. The application then takes another ~5-8 seconds after moving past the splash screen. So, I have a system up and running in a couple of seconds with no UI to control it for ~20-25 seconds.
There may be some gains by reordering systemd services but to really get a more responsive app, the best approach would be to build your app, or at least the “start portion” (for whatever that means) into the host OS with Yocto rather than relying on containers and then making sure that service starts as early as possible in the boot.