This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Running Docker container of Edge AI v8.02 image on a v8.01 host

Part Number: TDA4VM
  • Hardware: TDA4VM
  • Software:Processor SDK Linux for Edge AI 8.01/8.02

  • Situation:

I can successfully build docker image of both Edge AI v8.01 and v8.02.  Also, I can use docker run/exec to enter the edgeai containers and perform the edge ai demos, like image classification, object detecion and so forth.

However, when I docker-run the Edge AI v8.02 docker image on another TDA4VM board( with Processor SDK Linux for Edge AI v8.01), I fail to perform the  edge ai demos. 

1) I copy v8.2 "/opt and /usr/lib" folders to v8.1 TDA4VM's disk. Rename these two folders and mount them in the container by rewriting docker run script.  The /opt/edge_ai/setup_script in the docker can be run(built) without error.

But running apps_cpp/bin/Release/app_edge ../configs/objection_detection.yaml gets no result on screen and the whole program stuck.   

2) I test the gst display pipeline with  "gst-launch-1.0 videotestsrc ! kmssink " and get the error as follows:(I can run this pipeline normally outside the 8.2 docker env on 8.1 host).

ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: Could not open DRM module (NULL). reason: No such file or directory (2)

3)The experiment result is as follows:

Host env             Docker image env        Edge AI Demo Result

Edge AI v8.01     Edge AI v8.01                success

Edge AI v8.02     Edge AI v8.02                success

Edge AI v8.01     Edge AI v8.02                failed

  • Question:

How can I run Edge AI v8.02 docker image on TDV4 host with Edge AI v8.01 env?

For instance, Ubuntu 16.04 image can be run on 18.04 x86 pc host. the docker container's env/os version can be different with that of the host.

If  Edge AI v8.02 docker image can be run on a Edge AI v8.01 host normally, I can skip software update and test the new 8.2 features. This is meaningful and even can be used for further  Edge AI v8.03...versions.

 

if the docker inside and outside edge ai version has to be the same, I could be disappointed as it is pointless.( I have already have the 8.2 env, why should I do further work to build a same 8.2 docker image that could only run on 8.2 host?)

PS: the docker run scipt I used on 8.01 env is as follows:(I mount 8.02 /usr/lib  and /opt to the 8.01 host)

docker run -it \
-v /dev:/dev \
-v /opt_docker_img82:/opt                 \
-v /usr_docker_img82/usr:/host/usr   \
--privileged \
--network host \
--name edge82 --env-file ./env.list edge_ai_kit:v82