# 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/>

step 2: docker run

<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>

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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bananapi.gitbook.io/bpi-m3/zh/howtosetupdockerenvtobuildgithubsourcecod.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
