CaseyBakey / chaosp

Customized Hybrid AOSP (CHAOSP)
29 stars 10 forks source link

Customized Hybrid AOSP (CHAOSP)

Introduction

This project aims to help you build RattlesnakeOS, locally, with some optional features than you can add.

Depending of the used options, the resulting build can range from 'simple' RattlesnakeOS build to a fully featured ROM with BiTGapps as Google Apps provider, Bromite as the default browser/webview, and Magisk as a root solution, all with your bootloader relocked.

Regarding this project name, and since we all like having a fully working smartphone with push notifications and so, it's also possible to bake in some patches before building the ROM.
At the end, you'll get a flashable ROM customized to your need.

Features

Initial setup

The ROM will be built on your computer/server so, the prerequisites of AOSP has to be met: Establishing a Build Environment
Keep in mind that AOSP and Chromium will be built in the process, so the whole build will take many hours.
I'm personally building this on a (quite powerful) computer (4c/8t Core i7, 32GB RAM, 1 TB SSD NVMe) with Ubuntu 18.04 and the whole thing is compiled under 5 hours (maybe less, can't remember)

Building

There are mandatory and optional options that you can provide to the build.sh script to customize your ROM.

Note: I wanted long options with clear names. It's a PIA to setup/parse so, for now, even the options that should just have been a toggle without an argument, actually need an argument. You can put whatever you want, but I'm using "true" as a placeholder.

Here are the mandatory ones:

Here are the optional ones:

For example:
./build.sh --release release --aosp-build RQ3A.210805.001.A1 --aosp-branch android-11.0.0_r40 --device blueline --chromium-version 92.0.4515.134

will build AOSP version 11, with the latest security fixes (on August 2021), with Chromium 92.0.4515.134 for the Pixel 3 (blueline) device.

Flashing

Once the build is done you'll find yourself with flashable zip files within $CHAOSP_DIR/out/release-$DEVICE-$BUILD_NUMBER/
You can now follow the same guide than RattlesnakeOS: Flashing guide

Credits