Tout d'abord, vous devez configurer l'environnement de construction. Vous devriez utiliser Ubuntu 18.04. LineageOS guide de construction pour un dispositif aléatoire peut être utilisé comme référence. Je reproduis les étapes ici :
Installez les paquets de construction :
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev adb fastboot
Créez les répertoires :
mkdir -p ~/bin
mkdir -p ~/android/lineage
Installer la commande repo :
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Mettez le répertoire ~/bin dans votre chemin d'exécution en ajoutant ce qui suit à votre fichier ~/.profile
si elle est manquante :
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Ensuite, exécutez source ~/.profile
pour mettre à jour votre environnement. Après cela, initialisez le dépôt de sources de LineageOS et commencez le téléchargement :
cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-16.0
repo sync
Le téléchargement des sources de LineageOS prendra un certain temps. Après cela, nous allons nous écarter du guide de construction officiel. Créez un fichier manifeste local indiquant à l'outil de repo où récupérer les sources du noyau, l'arbre des périphériques et les fichiers du vendeur. Le fichier correspondant pour platina peut être téléchargé à partir de aquí . Si vous construisez pour un autre appareil, utilisez ce fichier manifeste comme référence et modifiez-le en conséquence. Enregistrez le fichier sous le nom de
.repo/local_manifests/platina.xml
Relancer l'outil repo pour les récupérer :
repo sync
Initialiser votre environnement de construction :
source build/envsetup.sh
Activez la mise en cache pour accélérer la construction :
export USE_CCACHE=1
Vous devez ajouter la ligne ci-dessus à votre .bashrc
fichier. Ensuite, définissez la taille maximale du cache :
ccache -M 50G
Configurer la prise :
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
Modifier device/xiaomi/platina/BoardConfig.mk
et définir le paramètre TARGET_KERNEL_CONFIG
à platina_user_defconfig
:
TARGET_KERNEL_SOURCE
pointe vers le code du noyau qui doit être utilisé pendant la construction. TARGET_KERNEL_CONFIG
spécifie quelle configuration doit être utilisée. En regardant dans arch/arm64/configs/
dans la source du noyau, j'ai mis la valeur à platina_user_defconfig
Enfin, lancez la construction :
lunch 16
mka bacon -j8
Cela devrait prendre quelques heures. En général, je le laisse tourner toute la nuit. C'est ici que les choses deviennent difficiles. Il est possible que la construction échoue à cause d'erreurs, dans ce cas vous devrez les corriger. Une fois la compilation terminée, vous trouverez le fichier zip, prêt à être flashé :