Introduction
IEC Type3 mainly focus on Android Application running on edge ARM Cloud architecture with GPU/ vGPU Management. Also, ARM cloud games need to have the basic features of "cloud”, such as flexibility , availability everywhere. Based on cloud infrastructure optimized for android application, providing ARM application services.
How to use this document
This document describes the construction, compilation and use of robox Android container environment. Introduce environment configuration, code download, build and compile, and how to use it.
This document is mainly suitable for users who build and compile robox container Android emulation.
Deployment Architecture
Pre-Installation Requirements
Hardware Requirements
1*x86 server: The remaining memory is greater than 100G, and JAVA1.8.X is pre-installed.
1*arm server:
Processor model | 1*Kunpeng 920 processor |
RAM | 16*DDR4-2933 |
Storage | 10*2.5 inch SAS/SATA/SSD or 8*2.5 inch NVMe SSD |
Network | 1 onboard network card, each card supports 4*GE port or 4*10GE port or 4*25GE port |
Power Supply | Power 100~240V AC,240V DC |
Scale | 447 mm x 490 mm x 86.1 mm |
ARM Server satisfies the Arm Server Ready certified.
- Software Perequisites
N/A
- Database Perequisites
schema scripts: N/A
- Other Installation Requirements
- Jump Host Requirements:N/A
- Network Requirements: The network connection is normal and can communicate with the external network.
- Bare Metal Node Requirements :N/A
- Execution Requirements (Bare Metal Only) :N/A
Installation High-Level Overview
Bare Metal Deployment Guide
Install Bare Metal Jump Host : N/A
Creating a Node Inventory File: N/A
Creating the Settings Files: N/A
Running: N/A
Virtual Deployment Guide
- Install Ubuntu18.04.1 OS on arm Server
Operating system iso download link: http://old-releases.ubuntu.com/releases/18.04.1/ubuntu-18.04.1-server-arm64.iso
- About how to install Ubuntu 18.04.1 on kunpeng arm server: https://support.huawei.com/enterprise/zh/doc/EDOC1100100619
-
- Local tool requirements
- 1. Install remote tools such as MobaXterm. MobaXterm is recommended.
- 2. Install VNC Viewer. Download link: https://www.realvnc.com/en/connect/download/viewer/.
- Pre-condition requirements
1.The Ubuntu 18.04.x operating system has been installed.
2.The network connection is normal and can communicate with the external network.
3.The download source has been configured. If not configured, please configure as follows.- Configure download source
1. Log in to the server via SSH and enter the command line execution entry.
2. Modify the file "/etc/apt/sources.list" to remove all # symbols in front of the # deb-src line.
- Configure download source
- Pre-condition requirements
Execute command modification.
sed -i "s/# deb-src/ deb-src/g" /etc/apt/sources.list
After modification as follows:
3. Update source.
apt-get update
-
- Install dependent libraries and basic components
1. Remove the comment of deb-src in /etc/apt/source.list.
sed -i "s/# deb-src/ deb-src/g" /etc/apt/sources.list apt update
2. Install the basic system dependency library.
Notice:
If there is a failure to obtain the deb package during the installation process, please download and install manually according to the URL in the prompt, and then reinstall the unsuccessful package.
apt install dpkg libncurses5-dev libncursesw5-dev libssl-dev cmake cmake-data debhelper dbus google-mock libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev libboost-program-options-dev libboost-system- dev libboost-test-dev libboost-thread-dev libcap-dev libdbus-1-dev libegl1-mesa-dev libgles2-mesa-dev libglib2.0-dev libglm-dev libgtest-dev liblxc1 libproperties-cpp-dev libprotobuf-dev libsdl2 -dev libsdl2-image-dev lxc-dev pkg-config protobuf-compiler libboost-filesystem1.62.0 libboost-system1.62.0 docker.io dkms libboost-iostreams1.62.0 apt install build-essential apt install mesa-common-dev
3. Download location https://launchpad.net/ubuntu/zesty/arm64/libprocess-cpp3/3.0.1-0ubuntu5.
dpkg -i libprocess-cpp3_3.0.1-0ubuntu5_arm64.deb
4. The missing libdbus-cpp5_5.0.0+16.10.20160809-0ubuntu2_arm64.deb dependent library is downloaded from https://launchpad.net/ubuntu/zesty/arm64/libdbus-cpp5/5.0.0+16.10.20160809-0ubuntu2.
dpkg -i libdbus-cpp5_5.0.0+16.10.20160809-0ubuntu2_arm64.deb
5. The missing libdbus-cpp-dev_5.0.0+16.10.20160809-0ubuntu2_arm64.deb dependent library from https://launchpad.net/ubuntu/bionic/arm64/libdbus-cpp-dev/5.0.0+16.10.20160809- 0ubuntu2 official download.
dpkg -i libdbus-cpp-dev_5.0.0+16.10.20160809-0ubuntu2_arm64.deb
-
- Install Anbox
Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.
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
Verifying the Setup as defined the Akraino validation feature project plus any additional testing specific to the blue print
Developer Guide and Troubleshooting
- Utilization of Images
N/A
- Post-deployment Configuration
N/A
- Debugging Failures
N/A
- Reporting a Bug
N/A
Uninstall Guide
The following method only uses snap to install Anbox. If you want to delete Anbox from the system, you must first delete snap.
Attention:Remove all data stored in the snapshot from the system:
$ snap remove anbox
After deleting the snapshot, you must also delete the installed kernel modules (if installed):
$ sudo apt install ppa-purge
$ sudo ppa-purge ppa:morphis/anbox-support
Upon completion, Anbox will be removed from your system.
Troubleshooting
- If kernels modules successfully loaded, service is running fine, and yet Anbox won't launch with
Application manager service is not running yet
. Check for the messageNo space left on device - Failed to enter cgroup
in/var/lib/anbox/logs/container.log
, you may be running into see this issue: https://github.com/lxc/lxd/issues/6257 - If container started failed
Before the container is started, session-manager needs to be started on the host to start x, input, adb and other related services, and then the container may started successful.
To build the Anbox runtime itself there is nothing special to know. but when we use cmake as build system. A few build dependencies need to be present on your host system:
* libdbus
* google-mock
* google-test
* libboost
* libboost-filesystem
* libboost-log
* libboost-iostreams
* libboost-program-options
* libboost-system
* libboost-test
* libboost-thread
* libcap
* libsystemd
* mesa (libegl1, libgles2)
* libglm
* libsdl2
* libprotobuf
* protobuf-compiler
* python2
* lxc (>= 3.0)
Maintenance
Blue Print Package Maintenance
- Software maintenance: N/A
- Hardware maintenance:N/A
Blue Print Deployment Maintenance (N/A)
Frequently Asked Questions
N/A
License
N/A
References
N/A
Definitions, acronyms and abbreviations
N/A