Key English ## /e/OS Build Types {% include alerts/tip.html content=" To understand all about the various /e/OS Build types check out [this guide](../build-status) " %} ## Requirements for different builds: ### Custom builds * The source code has been modified and if the ROM is redistributed, we have several requirements:
* Any reference to /e/, including “/e/”, and our logo must be removed from the build
* The redistribution must not let people think that it is /e/.
* **The ROM name must be changed** and possibly say that it’s been forked from /e/
* Calls to our OTA server infrastructure should be removed
* Custom ROMs can be built on /e/ servers only for exceptional reasons (special development…). ### Unofficial /e/ builds
* Source code can be modified only to reach full support on the target device.
* /e/ features, list of installed apps etc. shouldn’t be modified
* Unofficial builds can be published on the /e/ website at a specific place with warnings and a list of what works/what doesn’t work
* It doesn’t have nightly builds nor OTA updates. ### Community builds
* The level of quality is considered high, security updates are applied if possible,
* There may or may not be a ROM maintainer
* Community builds have nightly builds and can be updated OTA
* Source code have to be hosted on our GitLab instance, or on trusted sources (LineageOS GitHub group, AOSP). ### Official /e/ builds
* The level of quality must have reached our conditions.
* It must have an official maintainer.
* Official builds have nightly builds and can be updated OTA.
* Source code have to be hosted on our GitLab instance, or on trusted sources (LineageOS GitHub group, AOSP). Any question about this? [contact us]( ## How to build the ROM? > WARNING : This process will only work on **case-sensitive** filesystems!
> * Windows: will not work
> * macOS: doesn't work either for HPS+ filesystem - adfs not tried
> * Linux: work on Ubuntu and CentOS > System requirement: Your computer needs to be 64-bit and running a 64-bit operating system with at least 250GB of spare hard drive space and 8GB of RAM (or 16GB in a virtual machine). ### 1. Install docker If you have not already done so, [install docker]( ### 2. Get our docker image {% include alerts/tip.html content="Please run this step before each build, to be sure to get the last docker image."%} ```shell
$ sudo docker pull
### 3. Find your DeviceCode
The device code can be found on [/e/ devices list](../devices), [LineageOS wiki]( or by running the following command from adb: `$ adb shell getprop ro.product.device`
### 4. Create directories ```shell
$ sudo mkdir -p \
/srv/e/src \
/srv/e/zips \
/srv/e/logs \
/srv/e/ccache \ ```
### 5. Extract proprietary blobs