manifests_android/README.md
Vincent Vidal 7e63321c6e init
Change-Id: I46fc6701115be530acfe37c6b72730271c95e721
2025-08-22 11:02:48 +02:00

2.6 KiB

iodéOS build instructions

For the most part, building iodéOS is not much different than building LineageOS. You can refer for example to LineageOS build instructions for Pixel 5. Please note that these instructions concern devices officially supported by LineageOS: in order to build iodéOS for unsupported devices, you will have to create/modify a device tree for your phone.

Obtaining a basic build: differences with LineageOS instructions

We list here the differences w.r.t. LineageOS build instructions, which are sufficient to obtain a running iodéOS build.

Part "Install the build packages"

We use Git LFS to maintain the vendor/extra repository where prebuilt applications are stored. You must install Git LFS on your system, for example the git-lfs package on Debian or Ubuntu.

Part "Initialize the LineageOS source repository"

To initialize the iodéOS source repository, you must replace the Android manifest repository in the repo init ... command:

repo init -u https://gitlab.iode.tech/os/public/manifests/android.git -b v6-staging

The branch v6-staging corresponds to the latest active development branch of iodéOS v6, and may be subject to deep changes. iodéOS official stable release branches will be added when available.

Part "Download the source code"

After having sucessfully downloaded the sources with the repo sync command, you must download the Git LFS stored objects:

cd vendor/extra
git lfs pull iode v6-staging

That's all folks

You can now start building iodéOS, after carefully following LineageOS build instructions.

Fine-tune your iodéOS build

Some iodéOS features need some more work.

Make SafetyNet pass

Due to recent changes in the way iodéOS pass safetynet, no more additionnal config is required: it should work out-of-the-box.

Sign your builds

You can sign your builds with developer keys by creating a directory called certs at the root of your source tree, and generating signing keys in it (modify the subject variable in the code below). There is no need to modify iodéOS sources, in particular the PRODUCT_DEFAULT_DEV_CERTIFICATE variable will be modified accordingly.

subject='/C=US/ST=France/L=Toulouse/O=iodeOS/OU=iodeOS/CN=iodeOS/emailAddress=suport@iode.tech'
mkdir certs
for x in releasekey platform shared media networkstack testkey; do \
    ./development/tools/make_key certs/$x "$subject"; \
done

Configure Smart Charging

Smart charging has been removed, as there is now the new Charging Control feature in LineageOS.