- 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