Hello,
Does TorizonCore run some Linux version? And are the dockers running inside this Linux environment?
TorizonCore is a Linux distribution. We build it with the Yocto Project from source (and we have documentation so you can do it as well Build Torizon OS from Source With Yocto Project/OpenEmbedded | Toradex Developer Center). The containers do run inside of this custom Linux Distribution, yes.
If so, then why is there a Ubuntu and Debian docker available. Why would we need to run a Ubuntu docker when there is already some Linux running?
I think you are referring to the Debian containers we provide on top of TorizonCore. Using isolated environments such as containers makes it really easy for you to develop software in. The alternative is learning Yocto, but it has a very steep learning curve. Containers are widely available from reputable sources in the web, so running a webserver, GUI or whatever other program is trivial compared to the alternative (writing a recipe with Yocto, rebuilding the whole image or maybe using an SDK… which is significantly harder than using docker-compose
or a docker run
statement).
You also gain a lot of quality by adopting CI/CD practices, which is easier with containers. It’s easier to find programmers, because they don’t need to have domain-specific knowledge of embedded systems etc…
If not, then what am I connected to when connecting with SSH to the board? It seems some Linux environment to me.
Here I just used Tezi to install Torizon, which is just a very lean Linux distribution that can run containers and connect to our Torizon Platform. After ssh’ing into it, it drops me into the TorizonCore shell:
torizon@verdin-imx8mp-06817296:~$ echo "Hello from TorizonCore :)"
Hello from TorizonCore :)
torizon@verdin-imx8mp-06817296:~$ cat /etc/os-release
ID=torizon
NAME="TorizonCore"
VERSION="6.3.0-devel-20230723233903+build.0 (kirkstone)"
VERSION_ID=6.3.0-devel-20230723233903-build.0
PRETTY_NAME="TorizonCore 6.3.0-devel-20230723233903+build.0 (kirkstone)"
DISTRO_CODENAME="kirkstone"
BUILD_ID="0"
ANSI_COLOR="1;34"
VARIANT="Docker"
I can then run one of our Debian containers and be dropped in a very familar working environment, with everything you expect from Debian, although the Kernel is tailored for the board and we provide custom packages to enable hardware-acceleration.
torizon@verdin-imx8mp-06817296:~$ docker run -it torizon/debian:3-bookworm bash
root@8f236f620f27:/# echo "Hello from a Debian container running on top of TorizonCore :)"
Hello from a Debian container running on top of TorizonCore :)
root@8f236f620f27:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@8f236f620f27:/#
Which, again, is significantly easier and faster than creating a custom distro like TorizonCore, which is maintained by embedded Linux specialists, so you can focus on creating value with applications instead of the underlying infrastructure.
Hope that cleared things up. We have a whole page with dedicated documentation regarding this very specific question, feel free to take a look as well: Torizon OS Technical Overview | Toradex Developer Center