Introduction


Containers offer a logical packaging mechanism in which applications can be abstracted from the environment in which they run. Containers are often compared with virtual machines (VMs).  a guest operating system such as Linux or Windows runs on top of a host operating system with virtual access to the underlying hardware. Like virtual machines, containers allow to package your application together with libraries and other dependencies, providing isolated environments for running your software services.


Why Containers?

Advantages of Containers

Implementation details


  Containers layer - meta-rdk-containers:    

  Emulator layer - meta-rdk-bsp-emulator:

  New Container generation process:

     This subsection describes how the new container generation process is replacing the earlier process.

  XML and conf files:

  Service files:     

                 Three service files used for launching corresponding processes inside container (sysmgr.service, irmgr.service and dsmgr.service) .        

                 rmfstreamer.service file has been used.

        Already these two containers are present in the existing system. we have implemented one more container (rdkbrowser2) which is the replacement of wpelauncher container.

      

                 rdkbrowser2.service file has been used.

Implemented containers


 Platformcontrol

 Rmfstreamer

Rdkbrowser2

       Note: As we are in the plan of bringing APPmanager as default application we are not running rdkbrowser2 service file on boot-up.

Building procedure


Container verification


              

DEBUG Logs


          Example:
          strace -f -o lxc-execute.log /usr/bin/lxc-attach -n PLATFORMCONTROL -f /container/PLATFORMCONTROL/conf/lxc.conf

          -u 704 -g 704  -- /usr/bin/dsMgrMain

Test cases


References