3 votes

Comment construire LineageOS pour un appareil sans support officiel ?

J'ai un Mi 8 Lite (platina), pour lequel il n'y a pas de support officiel de LineageOS. Mais une ROM personnalisée LineageOS pour l'appareil est disponible sur XDA. En approfondissant la recherche, je peux voir que les fichiers du fournisseur, l'arbre du dispositif et le code source du noyau sont disponibles pour mon appareil :

  1. Source du noyau
  2. Arbre des dispositifs
  3. Dossiers des vendeurs

Comment puis-je créer une ROM LineageOS pour mon appareil sans support officiel ?

7voto

marxy Points 333

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 :

enter image description here

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é :

enter image description here

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X