Clint
May 17, 2021, 11:23pm
1
Hi,
I have some questions about container contracts as in this guide :
Is it possible to extend the feature for Jetson Nano emmc, jn30b, … devices?
What needs to be updated (I suppose the Supervisor) and is this possible without a BalenaOS update? So older devices doesn’t need a OS update.
Is it possible to define the contract at docker-compose level?
Hey there
Is it possible to define the contract at docker-compose level?
the contract should be at the root of the respective service.
Could you please clarify the following:
Is it possible to extend the feature for Jetson Nano emmc, jn30b, … devices?
Container contracts are supported on all devices where the Supervisor version is >= 10.6.17
. Do you mean L4T support?
Thanks
Clint
May 21, 2021, 11:29am
8
Hi,
Yes indeed. I’m using the Supervisor version now to decide on which L4T version we are. But this is just a workaround and doesn’t work when we update the Supervisor version on older BalenaOS versions.
So yes my question is, is this possible to add L4T support?
Kind regards,
Clint
Hey Clint,
what you want should already work out of the box. If you just take the first example from Container contracts - Balena Documentation
type: "sw.container"
slug: "my-app"
name: "My fantast Application"
requires:
- type: "sw.l4t"
version: "28.2"
You don’t have to add the lines referring to the supervisor.
Creating multiple containers with contracts describing the compatible L4T version should make it work
Clint
August 30, 2021, 1:15pm
11
Hi,
I just did another try using the L4T container contracts. This is not working on:
Auvidea JN30B in local mode
Jetson Nano SD-CARD in local mode
Auvidea JN30B with production release
Can please somebody check this?
Is there a way to debug this? How can I request/see the desired sw.l4t variable on a device?
Kind regards,
Clint
Clint
August 30, 2021, 3:05pm
12
Ok, I found out it was a version mismatch.
How does the mechanism determine which L4T version is on the device?
Clint
March 30, 2023, 4:00pm
24
HI @Hades32 ,
I’m picking this up again. The version mismatch is still there, the sw.l4t version only checks the X.X version. Not X.X.X.
Is there a way to define multiple hw.device-type values?
Tested this and isn’t working:
type: "sw.container"
slug: "enforce-l4t-version-32-7-SOC-t186"
name: "enforce-l4t-version 32.7 SOC t186"
requires:
- type: "sw.l4t"
version: "32.7"
- type: "hw.device-type"
name: [ "cnx100-xavier-nx", "photon-tx2-nx", "photon-xavier-nx", "jetson-tx2-nx-devkit",
"jetson-xavier-nx-devkit-emmc", "jetson-xavier-nx-devkit" ]
Kind regards