2014-02-16 07:30:32 -05:00
docker-cyanogenmod
==================
Create a [Docker] based environment to build [CyanogenMod].
This Dockerfile will create a docker container which is based on Ubuntu 12.04.
It will install the "repo" utility and any other build dependencies which are required to compile CyanogenMod.
2014-07-18 14:24:20 -04:00
The main working directory is a shared folder on the host system, so the Docker container can be removed at any time.
2014-02-16 07:30:32 -05:00
**NOTE:** Remember that CyanogenMod is a huge project. It will consume a large amount of disk space (~80 GB) and it can easily take hours to build.
2014-07-14 01:30:56 -04:00
### How to run/build
2014-02-16 07:30:32 -05:00
2014-02-20 11:09:33 -05:00
**NOTES:**
* You will need to [install Docker][Docker_Installation] to proceed!
2014-07-18 17:48:18 -04:00
* If an image does not exist, ```docker build``` is executed first
2014-02-20 11:09:33 -05:00
* When running ```docker build```, the whole folder incl. the "android" working directory is transferred to the Docker daemon. The only way to work around this currently is to move the "android" folder away, then rebuild, and move it back into place again.
For more information, see [dotcloud/docker#2224].
2014-02-18 08:05:05 -05:00
2014-02-16 07:30:32 -05:00
```
git clone https://github.com/stucki/docker-cyanogenmod.git
cd docker-cyanogenmod
./run.sh
```
The container uses "screen" to run the shell. This means that you will be able to open additional shells using [screen keyboard shortcuts][Screen_Shortcuts].
### How to build CyanogenMod for your device
```
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync
2014-02-20 02:52:33 -05:00
vendor/cm/get-prebuilts
2014-02-16 07:30:32 -05:00
source build/envsetup.sh
breakfast < device codename > # example: breakfast grouper
brunch < device codename > # example: brunch grouper
```
### Links
For further information, check the following links:
* [CyanogenMod Building Basics][Cyanogenmod_Building_Basics]
* [Learning to Build CyanogenMod][Learning_to_Build_CM]
* [Build Instructions for Google Nexus 5][CyanogenMod_Build_Nexus5] (example device, search the wiki for other devices)
2014-02-16 08:44:45 -05:00
### More information
* [Discussion thread @ XDA developers]
2014-02-16 07:30:32 -05:00
==================
[Docker]: https://www.docker.io/
[CyanogenMod]: http://www.cyanogenmod.org/
2014-02-18 08:05:05 -05:00
[Docker_Installation]: https://www.docker.io/gettingstarted/
2014-02-16 07:30:32 -05:00
[Screen_Shortcuts]: http://www.pixelbeat.org/lkdb/screen.html
[CyanogenMod_Building_Basics]: http://wiki.cyanogenmod.org/w/Doc:_Building_Basics
[Learning_to_Build_CM]: http://wiki.cyanogenmod.org/w/Development#Learning_To_Build_CM
[CyanogenMod_Build_Nexus5]: http://wiki.cyanogenmod.org/w/Build_for_hammerhead
2014-02-16 08:44:45 -05:00
[Discussion thread @ XDA developers]: http://forum.xda-developers.com/showthread.php?t=2650345
2014-02-20 11:09:33 -05:00
[dotcloud/docker#2224]: https://github.com/dotcloud/docker/issues/2224