Skip to content
This repository has been archived by the owner on Jan 10, 2020. It is now read-only.

Latest commit

 

History

History
111 lines (92 loc) · 3.08 KB

readme_ARM.md

File metadata and controls

111 lines (92 loc) · 3.08 KB

Steps to create ArangoDB DEB-packages for ARM

Supported build platforms:

  • Ubuntu 16 (xenial)
  • Debian 8 (jessie)

Supported target platforms (boards):

  • Ubuntu 16 (xenial) on a ARM32 (armhf) board
  • Ubuntu 16 (xenial) on a ARM64 (aarch64) board
  • Debian 8 (jessie) on a ARM32 (armhf) board
  • Debian 8 (jessie) on a ARM64 (aarch64) board

Note: ArangoDB will not runs on Raspbian image for RPi2 (with ARMv6 instruction set),
because Googles V8 not supports this platform.

Build steps

  1. Install git
  2. Install docker
  3. Clone ArangoDB-helper repo
  4. Create build docker images
  5. Clone ArangoDB repo
  6. Build ArangoDB packages

install git

  • sudo apt install git

install docker

clone build repo

  • define a place for repo e.g. /mnt/adb
  • clone repo with git clone https://github.com/arangodb-helper/build-docker-containers

create build images

make a script or copy and paste in terminal:

  • cd build-docker-containers
  • cd distros
    ./buildContainers.sh adb debianjessiearmhfxc # for Debian on ARM32
    ./buildContainers.sh adb debianjessieaarchxc # for Debian on ARM64
    ./buildContainers.sh adb ubuntusixteenarmhfxc # for Ubuntu on ARM32
    ./buildContainers.sh adb ubuntusixteenaarchxc # for Ubuntu on ARM64

after build you should check the created docker images with docker images

clone ArangoDB repo

cd /mnt/adb
git clone https://github.com/arangodb/arangodb # all branches OR
git clone https://github.com/arangodb/arangodb --depth=1 # only curent devel branch ~ (10 time smaller size)

Build ArangoDB packages

you need makes two steps:

  • run docker
  • build ArangoDB

step 1: run docker

cd /mnt/adb/arangodb
make a script or copy and paste in terminal:

for Debian on ARM32

#!/bin/sh
docker run \
--volume /mnt/adb/arangodb:/build \
--volume /mnt/adb/arangodb/arm32d:/var/tmp \
-it debianjessiearmhfxc/build \
/bin/bash

for Debian on ARM64

#!/bin/sh
docker run \
--volume /mnt/adb/arangodb:/build \
--volume /mnt/adb/arangodb/arm64d:/var/tmp \
-it debianjessieaarchxc/build \
/bin/bash

for Ubuntu on ARM32

#!/bin/sh
docker run \
--volume /mnt/adb/arangodb:/build \
--volume /mnt/adb/arangodb/arm32u:/var/tmp \
-it ubuntusixteenarmhfxc/build \
/bin/bash

for Ubuntu on ARM64

#!/bin/sh
docker run \
--volume /mnt/adb/arangodb:/build \
--volume /mnt/adb/arangodb/arm64u:/var/tmp \
-it ubuntusixteenaarchxc/build \
/bin/bash

step 2: build ArangoDB

in the container-console
cd /build # change to the build folder and run the build script:
./scripts/build-xc-deb.sh # ARM32 on Debian or Ubuntu
./scripts/build-xc64-deb.sh # ARM64 on Debian or Ubuntu

Created packages will be stored in

arm64d for Debian on aarch64
arm64u for Ubuntu on aarch64
arm32d for Debian on armhf (v7)
arm32u for Ubuntu on armhf (v7)

Enter exit to leave the docker container and back to the host