Skip to content

Create a Docker based build environment for LineageOS (formerly known as CyanogenMod)

License

Notifications You must be signed in to change notification settings

aossp-roms/docker-lineageos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 to proceed!
  • If an image does not exist, docker build is executed first
git clone https://github.com/aossp-roms/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.

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 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/aossp-roms/aossp-repos.git -b lineage-15.1
repo sync --no-clone-bundle --force-sync --no-tags --optimized-fetch -j$(nproc --all) -c
source build/envsetup.sh
breakfast <device codename>   # example: breakfast grouper
brunch <device codename>      # example: brunch grouper

Links

For further information, check the following links:

More information

==================

About

Create a Docker based build environment for LineageOS (formerly known as CyanogenMod)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dockerfile 50.5%
  • Shell 49.5%