+ All Categories
Home > Documents > 编译安装指南(robox 容器) - HUAWEI CLOUD

编译安装指南(robox 容器) - HUAWEI CLOUD

Date post: 03-Feb-2022
Category:
Upload: others
View: 41 times
Download: 0 times
Share this document with a friend
26
鲲鹏 BoostKit ARM 原生使能套件 编译安装指南(robox 容器) 文档版本 11 发布日期 2021-06-30 华为技术有限公司
Transcript
robox

11 (2021-06-30) © i

11 (2021-06-30) © ii
1 Robox
1.2 Roboxpatch patch OSDockerAndroidISV
ARMISV
1.2.1 Ubuntu Ubuntu
Robox

1.2.2 Docker Docker Docker
BoostKit ARM robox 1 Robox
11 (2021-06-30) © 1
Docker
AOSP ARM

BoostKit ARM robox 1 Robox
11 (2021-06-30) © 2
2 Robox 920
2.1
2.2
2.3
2.4 920
2.5 Robox
2.6 strace
2.7 GPU
Robox
2-1
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 3
2.2
SSD
isohttp://old-releases.ubuntu.com/releases/18.04.1/ ubuntu-18.04.1-server-arm64.iso

https://www.realvnc.com/en/connect/download/viewer/
2.3
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 4


2.3.2
1
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 5

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 libsystemd-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
2 libprocess-cpp3_3.0.1-0ubuntu5_arm64.deblibdbus- cpp5_5.0.0+16.10.20160809-0ubuntu2_arm64.deblibdbus-cpp- dev_5.0.0+16.10.20160809-0ubuntu2_arm64.deb
----
1 SSH
“storage driver”“overlay”“overlay2”
“storage driver”“aufs”“storage driver” “aufs”“overlay”
a. “/etc/default/docker” vim /etc/default/docker
b.
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 6
----
2 .xsession cd /home/ubuntu vi .xsession

5 xrdp /etc/init.d/xrdp restart
Windows920 root
----

ExaGear
https://github.com/kunpengcompute/robox/tree/master/Exagear
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 7
2 linux_4.15.0.orig.tar.gzlinux_4.15.0-65.74.diff.gz linux_4.15.0-65.74.dsc“/home/compiler/”
4 linux-4.15.0 dpkg-source -x linux_4.15.0-65.74.dsc
5 androidkernel/home/exagear cd /home/exagear ls android // kernel //
6 cp /home/exagear/kernel/ubuntu-4.15.0-65.74.patch /home/compiler/linux-4.15.0/ cd /home/compiler/linux-4.15.0/ patch -p1 < ubuntu-4.15.0-65.74.patch
7 pmu
/home/robox-master/kernel/patch/ 1001_drivers_perf_hisi_update_the_sccl_id_ccl_id_when_MT.patch
2 .config CONFIG_BINFMT_MISC=y CONFIG_EXAGEAR_BT=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_PROC_CHILDREN=y CONFIG_VFAT_FS=y CONFIG_INPUT_UINPUT=y CONFIG_HISI_PMU=y
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 8
4 reboot
https://support.huawei.com/enterprise/zh/kunpeng-computing/kunpeng- computing-media-pid-251431619/software/253129399/?idAbsPath=fixnode01| 23710424|251364417|9856629|251431619
2 ExaGearubt_a32a64“/opt/ exagear/ubt_a32a64” mkdir -p /opt/exagear cd /home/exagear/ tar zxvf ExaGear_ARM32-ARM64_V1.5.tar.gz cp /home/exagear/ExaGear_ARM32-ARM64_V1.5/ubt_a32a64 /opt/exagear/ cd /opt/exagear //echo/opt/exagear/ubt_a32a64 chmod +x ubt_a32a64 //permission denied

echo ":ubt_a32a64:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff \xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff:/opt/exagear/ubt_a32a64:POCF" > / proc/sys/fs/binfmt_misc/register
3 ExaGear“/opt/exagear/ubt_a32a64” cat /proc/sys/fs/binfmt_misc/ubt_a32a64 enabled interpreter /opt/exagear/ubt_a32a64 flags: POCF offset 0 magic 7f454c4601010100000000000000000002002800 mask ffffffffffffff000000000000000000feffffff
4 arm32arm64mpro32 arm32arm32
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 9
----
1 apt search linux-source apt install linux-source-4.15.0
2 ashmembinder cd /home/robox-master/kernel/robox-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
3 dkms dkms install anbox-ashmem/1 dkms install anbox-binder/1
4 kobinder_linux
modprobe ashmem_linux modprobe binder_linux num_devices=254 lsmod | grep -e ashmem_linux -e binder_linux chmod 777 /dev/ashmem /dev/binder*
5 ashmembinderchmod ls -alh /dev/binder* /dev/ashmem crwxrwxrwx 1 root root 10, 55 Oct 22 10:47 /dev/ashmem crwxrwxrwx 1 root root 511, 0 Oct 22 10:47 /dev/binder0 crwxrwxrwx 1 root root 511, 0 Oct 22 10:47 /dev/binder1 ...
----
android.img
x86android 920“/home”
1 SSH
2 android“/mnt”
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 10

4 tar --numeric-owner -cf- . | docker import - android:robox_with_exagear
5 docker images
REPOSITORY TAG IMAGE ID CREATED SIZE android robox_with_exagear xxxxxxxx x seconds ago xxxMB
----
1 cd /home/robox-master mkdir build cd build
2 “/home/robox-master/build” cmake ..
3 “/usr/include/glm/gtx/transform.hpp” vim /usr/include/glm/gtx/transform.hpp
21
----
1 xfce4 apt install -y xfce4 mesa-utils x11vnc vainfo
2 xorg.conf cd /etc/X11 touch xorg.conf
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 11
3 xorg.confBusIDpci
Section "ServerFlags" Option "DontVTSwitch" "on" Option "AutoAddDevices" "off" Option "AutoEnableDevices" "off" Option "AutoAddGPU" "off" Option "AutoBindGPU" "off" EndSection Section "Device" Identifier "AMD" Driver "amdgpu" BusID "pci:01:00:00" EndSection Section "Monitor" Identifier "monitor0" Modeline "1280x720" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync Option "enable" "true" EndSection Section "Screen" Identifier "screen0" Device "AMD" Monitor "monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x720" EndSubSection EndSection
4 pci lspci | grep AMD 81:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX xxxx] 81:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX xxx]

3. Modeline "1280x720"
2. mesa19.0.8 cd /home/mesa git checkout mesa-19.0.8
3.
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 12
apt build-dep mesa apt install libomxil-bellagio-dev libva-dev llvm-7 llvm-7-dev python-mako
4. autogen.shMakefile ./autogen.sh --enable-texture-float --with-gallium-drivers=radeonsi,swrast --with-dri- drivers=radeon,swrast --with-platforms=drm,x11 --enable-glx-tls --enable-shared-glapi --enable-dri3 --enable-lmsensors --enable-gbm --enable-xa --enable-osmesa --enable-vdpau --enable-nine -- enable-omx-bellagio --enable-va --with-llvm-prefix=/usr/lib/llvm-7 --enable-llvm --target=aarch64- linux-gnu CFLAGS="-fsigned-char -O2" CPPFLAGS="-fsigned-char -O2" CXXFLAGS="-fsigned-char - O2" --enable-autotools
5. make -j32 && make install
6. ldconfig vim /etc/ld.so.conf
8. ldconfig
– Xorg
----
binaryFilesrobox/home/robox-master

2 920RoboxRobox

3. Roboxinstance1 instance2instance3……IP Robox
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 13
2. Robox
3 docker docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b77d371b402c android:robox_with_exagear "/anbox-init.sh" 13 seconds ago Up 11 seconds 0.0.0.0:5561->5555/tcp instance2 77b2c041315f android:robox_with_exagear "/anbox-init.sh" 2 hours ago Up 2 hours 0.0.0.0:5559->5555/tcp instance1
4 sessioninstance1instance2session ps -aux | grep session root 4330 0.0 0.0 9332 6160 ? Ss Oct22 0:01 /usr/bin/dbus-daemon --session -- address=systemd: --nofork --nopidfile -- systemd-activation --syslog-only root 172678 22.1 0.0 6433328 250472 pts/8 Sl 19:51 25:38 anbox session-manager --run- multiple=instance1 --standalone -- experimental --single-window --gles-driver=translator --window-size=720,1280 root 215155 1.4 0.0 5196228 185688 pts/8 Sl 21:46 0:01 anbox session-manager --run- multiple=instance2 --standalone -- experimental --single-window --gles-driver=translator --window-size=720,1280
5 Robox docker exec -it instance1 sh 77b2c041315f:/ # getprop | grep sys.boot.completed [sys.boot_completed]: [1] //sys.boot.completed1,
6 Windows
ARDC
1. Windowscmd\ARDC\utils\adb.exe C:\\ARDC\utils> adb connect YOUR_IP:5561 connected to YOUR_IP:5561
2. WindowsIP920IP 5561
920#docker psadb CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b77d371b402c android:robox_with_exagear "/anbox-init.sh" 13 seconds ago Up 11 seconds 0.0.0.0:5561->5555/tcp instance2
3. WindowsARDCARDC.exe“View > Mode” “Screenshot”“Devices”adb

Robox
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 14
cd /home/robox-master ./robox -v stop 1 // ./robox -v stop 2 //
----
32strace stracestrace
2 strace
3 strace
2. adbstrace/system/bin/ straceemulator-5554 adb connect 0.0.0.0:5559 adb -s 0.0.0.0:5559 shell remount adb -s 0.0.0.0:5559 push strace /system/bin/
4
APPadb
adb -s 0.0.0.0:5559 shell ps -ef
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 15
xorg GPU GPU1conf2GPU“/etc/X11” xorg0.confxorg1.confconfGPUPCI BusID

xorg0.conf
Section "ServerFlags" Option "DontVTSwitch" "on" Option "AutoAddDevices" "off" Option "AutoEnableDevices" "off" Option "AutoAddGPU" "off" Option "AutoBindGPU" "off" EndSection Section "Device" Identifier "AMD" Driver "amdgpu" BusID "pci:1:00:00" EndSection Section "Monitor" Identifier "monitor0" Option "enable" "true" #Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync #Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync EndSection Section "Screen" Identifier "screen0" Device "AMD" Monitor "monitor0" DefaultDepth 24 SubSection "Display" Depth 24 #Modes "1680x1050_60.00" #Modes "1024x768_60.00"
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 16
EndSubSection EndSection
Section "ServerFlags" Option "DontVTSwitch" "on" Option "AutoAddDevices" "off" Option "AutoEnableDevices" "off" Option "AutoAddGPU" "off" Option "AutoBindGPU" "off" EndSection Section "Device" Identifier "AMD" Driver "amdgpu" BusID "pci:2:00:00" EndSection Section "Monitor" Identifier "monitor0" Option "enable" "true" #Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync #Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync EndSection Section "Screen" Identifier "screen0" Device "AMD" Monitor "monitor0" DefaultDepth 24 SubSection "Display" Depth 24 #Modes "1680x1050_60.00" #Modes "1024x768_60.00" EndSubSection EndSection
BusIDxxxx
lspci |grep xxxx 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX xxxx] 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX xxxx]

2. BusIDpci:xx:xx:xx“:”lspciBusID xx:xx.xlspciBusIDBusID
BoostKit ARM robox 2 Robox 920
11 (2021-06-30) © 17
3 x86
3.1
3.2
3.3 x86
3.4
3.5

3.2
100GB
BoostKit ARM robox 3 x86
11 (2021-06-30) © 18

3-2
100GB
1
http://old-releases.ubuntu.com/releases/18.04.1/ubuntu-18.04- server-amd64.iso
2 /etc/apt/source.listdeb-src sed -i "s/# deb-src/ deb-src/g" /etc/apt/sources.list
3 apt update apt install -y openjdk-8-jdk apt install -y libx11-dev libreadline6-dev libgl1-mesa-dev g++-multilib apt install -y git flex bison gperf build-essential libncurses5-dev apt install -y tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev apt install -y dpkg-dev libsdl1.2-dev apt install -y git-core gnupg flex bison gperf build-essential apt install -y zip curl zlib1g-dev gcc-multilib g++-multilib apt install -y libc6-dev apt install -y lib32ncurses5-dev x11proto-core-dev libx11-dev apt install -y libgl1-mesa-dev libxml2-utils xsltproc unzip m4 apt install -y lib32z-dev ccache apt install -y bc python flex bison gperf libsdl-dev build-essential zip curl
----

Robox“/home”
BoostKit ARM robox 3 x86
11 (2021-06-30) © 19
2
2. mkdir -p /home/android cd /home/android/ repo init -u https://github.com/anbox/platform_manifests.git -b anbox repo sync -j64 //100GB
3. repoxmlrepo1 binaryFiles/snapshot20191206.xml cp /home/robox-master/binaryFiles/snapshot20191206.xml /home/android/.repo/manifests/ repo init -m snapshot20191206.xml repo sync -d -j64 //
4. “/home/android/vendor/”anbox rm -rf /home/android/vendor/anbox
5. 1Robox cp -r /home/robox-master /home/android/vendor/ cd /home/android/vendor/ mv robox-master anbox
3 ExaGear
1. android“/home/” mkdir -p /home/exagear cd /home/exagear ls android //
2. android cp -r /home/exagear/android/android-7.1.1_r13.patch /home/android/
3. vendorandroidvendor
4 android/home/android cp -r /home/robox-master/patch/android-7.1.1_r13-V1.0/* /home/android
BoostKit ARM robox 3 x86
11 (2021-06-30) © 20
----
“/home/android/out/target/product/arm64/”ramdisk.img system.img
2 Roboxdockerandroid.img cd /home/android/vendor/anbox/ scripts/create-package.sh /home/android/out/target/product/arm64/ramdisk.img /home/android/out/target/ product/arm64/system.img
----
BoostKit ARM robox 3 x86
11 (2021-06-30) © 21
A

2021-07-05
2.4 920
2021-05-27
2021-01-26
robox
x86 x86
2020-12-14
robox 920 exagear robox
x86 exagearrobox
BoostKit ARM robox A
11 (2021-06-30) © 22

2020-11-16
2.2
2020-10-15
robox 9202.4 920
2020-09-21
x86
11 (2021-06-30) © 23


Recommended