Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stucki/docker-lineageos
Create a Docker based build environment for LineageOS (formerly known as CyanogenMod)
https://github.com/stucki/docker-lineageos
Last synced: 5 days ago
JSON representation
Create a Docker based build environment for LineageOS (formerly known as CyanogenMod)
- Host: GitHub
- URL: https://github.com/stucki/docker-lineageos
- Owner: stucki
- License: mit
- Created: 2014-02-16T11:54:23.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-04-27T19:41:49.000Z (over 5 years ago)
- Last Synced: 2024-10-30T02:59:17.089Z (15 days ago)
- Language: Dockerfile
- Homepage:
- Size: 70.3 KB
- Stars: 260
- Watchers: 27
- Forks: 112
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
docker-lineageos
==================Create a [Docker] based environment to build [LineageOS].
This Dockerfile will create a docker container which is based on Ubuntu 16.04.
It will install the "repo" utility and any other build dependencies which are required to compile LineageOS (formerly known as CyanogenMod).The main working directory is a shared folder on the host system, so the Docker container can be removed at any time.
**NOTE:** Remember that LineageOS is a huge project. It will consume a large amount of disk space (~80 GB) and it can easily take hours to build.
### How to run/build
**NOTES:**
* You will need to [install Docker][Docker_Installation] to proceed!
* If an image does not exist, ```docker build``` is executed first```
git clone https://github.com/stucki/docker-lineageos.git
cd docker-lineageos
./run.sh
```The `run.sh` script accepts the following switches:
| Switch | Alternative | Description |
|---|---|---|
| `-u` | `--enable-usb` | Runs the container in privileged mode (this way you can use adb right from the container) |
| `-r` | `--rebuild` | Force rebuild the image from scratch |
| `-ws` | `--with-su` | Sets the WITH_SU environment variable to true (your builds will include the su binary) |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].
### ADB in the container
If you're on Linux and want to use adb from within the container running with `-u` might not be enough. Make sure you have the [Android udev rules](https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules) installed on your host system so you can access your device without needing superuser permissions.### How to build LineageOS for your device
```
repo init -u git://github.com/lineageos/android.git -b lineage-15.1
repo sync -c -j 16
source build/envsetup.sh
breakfast # example: breakfast grouper
brunch # example: brunch grouper
```### Links
For further information, check the following links:
* [CyanogenMod Building Basics][Cyanogenmod_Building_Basics]
* [Build Instructions for Google Nexus 5][LineageOS_Build_Nexus5] (example device, search the wiki for other devices)### More information
* [Discussion thread @ XDA developers]
==================
[Docker]: https://www.docker.io/
[LineageOS]: http://lineageos.org/
[Docker_Installation]: https://www.docker.io/gettingstarted/
[Screen_Shortcuts]: http://www.pixelbeat.org/lkdb/screen.html
[CyanogenMod_Building_Basics]: https://web-beta.archive.org/web/20161224192643/http://wiki.cyanogenmod.org/w/Development
[LineageOS_Build_Nexus5]: https://wiki.lineageos.org/devices/hammerhead/build
[Discussion thread @ XDA developers]: http://forum.xda-developers.com/showthread.php?t=2650345
[dotcloud/docker#2224]: https://github.com/dotcloud/docker/issues/2224