# How to setup docker env. to build  github source code

how to setup docker env. to build banana pi github source code

step 1: install docker

[https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)

step 2: docker run

[https://hub.docker.com/r/sinovoip/bpi-build/](https://hub.docker.com/r/sinovoip/bpi-build/)

`$ docker run -d -p 2222:22 -v /media:/media sinovoip/bpi-build:ubuntu12.04`

on your host

```
$ ssh -p 2222 root@127.0.0.1 //default passwd is root
```

or (with --privileged can use /dev/loop for create img)

```
$ docker run -d -p 3333:22 --privileged -v /media:/media sinovoip/bpi-build:ubuntu12.04

$ ssh -p 3333 root@127.0.0.1 //default passwd is root
```

step 3: git clone

```
# cd /media/XXX/your-source
# git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git
```

step 4: build

```
# ./build.sh
```

**how to create your own env. to build the code**

step 1: git clone [https://github.com/BPI-SINOVOIP/bpi-build.git](https://github.com/BPI-SINOVOIP/bpi-build.git)

step 2: vi Dockerfile

step 3. vi build.sh

step 4: ./build.sh

why use docker env. to build banana pi source code 1. allwinner tools needs ubuntu12.04 with ia32-libs ... 2. user maybe use ubuntu 12.04 or 14.04 and newer like 16.04, the docker env. the same, even other linux like fedora opensuse archlinux ...., or other os like macos , windows ... 3. build BPI-Mx-bsp env. than mainline kernel & uboot or android 4.X or android 5.X / 6.X not the same.
