Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Table of Contents

Introduction

...

  •  
    • Compile and install binder.ko and ashmem.ko modules

      1. Download the kernel source code for the kernel module to compile.

      apt search linux-source apt install linux-source-4.15.0 

      2. Download the code and roll back to the specified version. Community link https://github.com/anbox/anbox-modules.

      cd /home git clone https://github.com/anbox/anbox-modules.git

      cd anbox-modules/ git reset --hard 816dd4d6e702cf77a44cfe208659af6c39e02b57

      3. update ashmem and binder.

      cd /home/anbox-modules

      cp anbox.conf /etc/modules-load.d/

      cp 99-anbox.rules /lib/udev/rules.d/

      cp -rT ashmem /usr/src/anbox-ashmem-1

      cp -rT binder /usr/src/anbox-binder-1

      4. Compile and install using dkms.

      dkms install anbox-ashmem/1

      dkms install anbox-binder/1

      5. Install the ko module to the kernel, and the binder_linux module needs to take parameters.

      modprobe ashmem_linux

      modprobe binder_linux num_devices=254

      lsmod | grep -e ashmem_linux -e binder_linux

      6. if the attribute permissions of ashmem and binder are not displayed by the following commands, please add the permissions with chmod.

      ls -alh /dev/binder* /dev/ashmem

  •  
  •     package
    • Package it through android.img and store it in docker

...


  • 1. Log in to the server by SSH and enter the command line execution portal.

    2. Mount the android image to the "/mnt" directory.

    cd /home mount /home/android.img /mnt

    3. CD /mnt

    4.  image register

    tar --numeric-owner -cf- . | docker import - android:robox_with_exagear

    5. inquire android  container

    docker images


    • Compile Robox source code
  • 1. create compile directory

    •               cd /home/robox-master

    •               mkdir build

    •               cd build


  • 2. Compile the configuration and execute the command in the "/home/robox-master/build" directory.

    cmake ..

    3. Add the following in the "/usr/include/glm/gtx/transform.hpp" file.

    •              vim /usr/include/glm/gtx/transform.hpp

  • Add the following definition at line 21: 


  •                         #define GLM_ENABLE_EXPERIMENTAL



  • 4.  compile and install

    make j64

    •              make install
  •  
    • Start robox Android system

                    1.Copy the startup script robox in the binaryFiles directory in the downloaded robox-master source code to /home/robox-master

2. Execute the modified robox script and start the robox Android container

a. Set environment variables and assign containers to GPU cards to run.

export DISPLAY=:0

start the first continer instance

./robox -v start 1

start the second continer instance

./robox -v start 2

3.Check the docker instance process.

docker ps

4.Check the host session process, mainly check whether the two sessions corresponding to instance1 and instance2 are running normally.

ps -aux | grep session

5.Log in to the Android container and confirm whether the robox instance started successfully.

docker exec -it instance1 sh


77b2c041315f:/ # getprop | grep sys.boot.completed

[sys.boot_completed]: [1]

//sys.boot.completed shows 1 which means start successfully



  • Upstream Deployment Guide

    • Upstream Deployment Key Features :N/A
    • Special Requirements for Upstream Deployments :N/A
    • Scenarios and Deploy Settings for Upstream Deployments :N/A
    • Including Upstream Patches with Deployment:N/A
    • Running: N/A
    • Interacting with Containerized Overcloud: N/A

...