TorizonCore - Missing packages

Hello

Im currently slowly getting started with the Verdin iMX8M Plus board following the doc here: Software Overview | Toradex Developer Center

I currently do have very limited know how about the torizon core. I am looking for a package manager like APT or OPKG and utilities like EXT4LOAD which is referenced in the tutorials/docs.

Did i not install torizon correctly or why are those packages not available? and since there is no pkg manager i cannot pull them to the host either.

systeminfo:

torizon@verdin-imx8mp-:~$ cat /etc/os-release
ID=torizon
NAME=“TorizonCore”
VERSION=“6.1.0+build.1 (kirkstone)”
VERSION_ID=6.1.0-build.1
PRETTY_NAME=“TorizonCore 6.1.0+build.1 (kirkstone)”
DISTRO_CODENAME=“kirkstone”
BUILD_ID=“1”
ANSI_COLOR=“1;34”
VARIANT="Docker

5.15.77-6.1.0+git.349786b46e61

Hey @chalu,

It looks like you have successfully installed 6.1.0 TorizonCore operating system based on your systeminfo.

TorizonCore isn’t a Debian based image, so that is why you do not see the APT tool. Although you can start a Debian based container on the device and use/install the tools you need. But it is important to understand how containers work when you are developing inside of them (work done inside is generally considered not persistent and will discarded when the container closes. So it’s important to have an rough understanding on how to use containers.

For application development we recommend using container tools such as Docker. And we have guides on our developer website. Here is a link for Debian Containers for Torizon. Poking around on the developer site is a great way to find specific ways to achieve what you need.

Are you also using TorizonCore Builder to build your image? There are also great resources on what can be achieved with this tool. Torizon Core Builder Tool Info

-Eric

hi @eric.tx

A.)
so torizoncore is not “modifiable”, aka read-only exept /var, i see dependencies to os-tree, is this similar to lets say "fedora silverblue? meaning, there is no package manager at all. is there a solution similar to fedoras rpm-ostree to upgrade the OS?

B.)
if i work through the docs, for example “…/software/real-time”:
https://developer.toradex.com/software/real-time/

if i need tools that are mentioned, like eg ext4load, am i suposed to do this as well from within docker-containers?

hey @chalu,

I’m not familiar with Fedorda Silverblue other than it states its an immutable OS. TorizonCore doesn’t have a built in package manager but you can modify the OS based on what you need. Modifications of the OS would be OS Customizations. And how you do this is based on how you are building the image. Are you building TorizonCore with our TorizonCore Builder tool or Yocto?

There is a distinction between modifying the OS and modifying the application running on the OS. A short description of work flow: Toradex maintains the OS, you add your customization to the OS via our tools (or yocto) , and you add your application on top (via containers).

Here is a write up on how we are using OSTREE for updating. Torizon Updates

ext4load is built-in command for u-boot, which is the bootloader that is used with TorizonCore, so this specific command It would be available while in u-boot terminal and not within a container.

-Eroc

Hi @chalu ,

What’s the status of that issue here?

Best Regards
Kevin

@kevin.tx

A.) torizoncore is not “modifiable”: ive now learned to use the “ostree” utility to upgrade/downgrade the host OS torizon. except /etc /var its not indended to be modified as a “ostree” up-/downgrade would reset all configuration anyhow. → SOLVED.

B.) Working with the MCU. Ive now learned that utilities like “ext4load” etc are accessible from the bootloader (halt the boot process by pressing space to land in the bootloader shell (uboot).
→ SOLVED as far as it goes to work through the examples in the documentation.

B.1.) Is it possible to controll the Cortex-M from within a Container running on the host? So stopping, starting, flashing the MCU while the host OS torizon is fully running?

Hi @chalu,

I’m glad A and B are solved now.

Regarding question C, in order to do that, you will need to access the files inside /sys/class/remoteproc on the TorizonCore filesystem. You can’t simply bind mount them to the container because these files are in RO mode and need root privileges to access. So, in his case, you will need to create a container that has access to these files. It should be possible with some flags that you can pass to the docker run command, although I’ve never tested them.

I will try to run that on my side to check if there is an easy way to do that.

Best Regards,
Hiago.

1 Like

Ok thank you i will look into this and see what i can do.

1 Like