From 9e190bfa2ddc2a92272bcf81227e104e36f0e0f3 Mon Sep 17 00:00:00 2001 From: Vitalii55 Date: Wed, 14 Apr 2021 06:35:26 +0300 Subject: [PATCH] Add support of Orange Pi3 board (#293) Signed-off-by: Vitalii Tykhenko - Add support of new Orange Pi3 board. - It is interesting to know how easy it is to run a project on various mini SBC --- README.md | 11 +-- docs/platforms/orange_pi3/orange_pi3.jpg | Bin 0 -> 7007 bytes docs/platforms/orange_pi3/orange_pi3.md | 85 +++++++++++++++++++++++ 3 files changed, 91 insertions(+), 5 deletions(-) create mode 100755 docs/platforms/orange_pi3/orange_pi3.jpg create mode 100755 docs/platforms/orange_pi3/orange_pi3.md diff --git a/README.md b/README.md index c178a1ab..3f2583f0 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ You can see our project roadmap and details about release notes since our projec ## Platforms supported -| **x86-64 Linux** | **Raspberry Pi3** | **HiKey960** | **Raspberry Pi3 Cluster** | -|------------------|-------------------|--------------|---------------------------| -|[![](docs/platforms/x86_64_linux/x86_64_linux.png)](docs/platforms/x86_64_linux/x86_64_linux.md)|[![](docs/platforms/raspberry_pi3/raspberry_pi3.jpg)](docs/platforms/raspberry_pi3/raspberry_pi3.md)|[![](docs/platforms/hikey960/hikey960.png)](docs/platforms/hikey960/hikey960.md)|[![](docs/platforms/raspberry_pi3_cluster/raspberry_pi3_cluster.jpg)](docs/platforms/raspberry_pi3_cluster/raspberry_pi3_cluster.md)| +| **x86-64 Linux** | **Raspberry Pi3** | **HiKey960** | **Raspberry Pi3 Cluster** | **Orange Pi3** | +|------------------|-------------------|--------------|---------------------------|----------------| +|[![](docs/platforms/x86_64_linux/x86_64_linux.png)](docs/platforms/x86_64_linux/x86_64_linux.md)|[![](docs/platforms/raspberry_pi3/raspberry_pi3.jpg)](docs/platforms/raspberry_pi3/raspberry_pi3.md)|[![](docs/platforms/hikey960/hikey960.png)](docs/platforms/hikey960/hikey960.md)|[![](docs/platforms/raspberry_pi3_cluster/raspberry_pi3_cluster.jpg)](docs/platforms/raspberry_pi3_cluster/raspberry_pi3_cluster.md)|[![](docs/platforms/orange_pi3/orange_pi3.jpg)](docs/platforms/orange_pi3/orange_pi3.md)| --- @@ -61,6 +61,7 @@ Please select the target platform in the table below and follow the link. | [Raspberry Pi3] | coconut | | [HiKey960] | coconut | | [Raspberry Pi3 Cluster] | coconut | +| [Orange Pi3] | coconut | --- @@ -73,7 +74,7 @@ You can also familiarize yourself with other materials and plans by visiting the ## License The Edge Orchestration source code is distributed under the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) open source license. ---- +--- ## Contributing If you want to contribute to the Edge Orchestration project and make it better, your help is @@ -89,4 +90,4 @@ coding on Github, new technologies and and their ecosystems. [Raspberry Pi3]: docs/platforms/raspberry_pi3/raspberry_pi3.md [HiKey960]: docs/platforms/hikey960/hikey960.md [Raspberry Pi3 Cluster]: docs/platforms/raspberry_pi3_cluster/raspberry_pi3_cluster.md - +[Orange Pi3]: docs/platforms/orange_pi3/orange_pi3.md diff --git a/docs/platforms/orange_pi3/orange_pi3.jpg b/docs/platforms/orange_pi3/orange_pi3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..af7fa5f8782527d34d7b95aaadb10bf5191501db GIT binary patch literal 7007 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 O_Aj6O@A~R;;XeTE6KU@N literal 0 HcmV?d00001 diff --git a/docs/platforms/orange_pi3/orange_pi3.md b/docs/platforms/orange_pi3/orange_pi3.md new file mode 100755 index 00000000..5e028ec7 --- /dev/null +++ b/docs/platforms/orange_pi3/orange_pi3.md @@ -0,0 +1,85 @@ +# Edge Orchestration on Orange Pi 3 + +[![Orange Pi 3](orange_pi3.jpg)](http://www.orangepi.org/Orange%20Pi%203/) + +## Preparing Orange Pi 3 board + +#### 1. Creating an image and writing Orangepi on a SD card +1. Download Ubuntu image for Orange Pi 3 from (http://www.orangepi.org/downloadresources/). +2. To install the Orangepi operating system follow the [instructions](http://www.orangepi.org/Docs/SDcardinstallation.html). + +> SD card must be at least 16 Gb + +#### 2. Start Orange Pi 3 + +Insert the SD card into the Orange Pi 3 and turn on the power. Make configuration settings for the Orange the first time you turn it on. + +--- + +## Quick start +This section provides how to download and run pre-built Docker image without building the project. + +> TBD + +--- + +## How to build +There are two options for building a edge-orchestration container: +1. On your PC and downloading the edge-orchestration container image from the `edge-orchestration.tar` archive (recommended). +2. Build directly on the Orange Pi 3 board. +### 1. Using your PC + +Prerequisites: install the qemu packages +```shell +$ sudo apt-get install qemu binfmt-support qemu-user-static +``` + +Run the `./build.sh` script and specify the build parameters - `container`, architecture - `arm64` (in the case of building in protected mode, add `secure`), see examples below: +```shell +$ ./build.sh container arm64 +``` +or for protected mode: +```shell +$ ./build.sh container secure arm64 +``` +the build result will be `edge-orchestration.tar` archive that can be found `bin/edge-orchestration.tar` + +Next, need to copy `edge-orchestration.tar` archive to the Paspberry Pi 3 board, install the docker container (see [here](../x86_64_linux/x86_64_linux.md#Build-Prerequisites) only docker part) and load the image using the command: +```shell +$ docker load -i edge-orchestration.tar +``` +The build is finished, how to run see [here](../x86_64_linux/x86_64_linux.md#how-to-work). If you find the issue with Curl Example then please reboot board and run Edge Orchestration container again. + +### 2. Build directly on the Orange Pi 3 board +#### Build Prerequisites +- docker + +```sh +$ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy +$ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy +$ curl -sSL https://get.docker.com | sh +$ sudo usermod -aG docker $USER +$ newgrp docker +``` + +> For [execution of docker commands with non-root privileges](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user) you need to add `$USER` to docker group. +`$ sudo usermod -aG docker $USER` + +- go compiler (install a version not lower than 1.12.5) + +```sh +$ wget https://dl.google.com/go/go1.16.2.linux-arm64.tar.gz +$ tar -C $HOME -xvf go1.16.2.linux-arm64.tar.gz +$ export GOPATH=$HOME/go +$ export PATH=$PATH:$GOPATH/bin +``` + +- edge-orchestration source code + +```sh +$ git clone https://github.com/lf-edge/edge-home-orchestration-go.git + +``` +The build is described [here](../x86_64_linux/x86_64_linux.md#how-to-build). + +The build is finished, how to run see [here](../x86_64_linux/x86_64_linux.md#how-to-work).