Hello,
Newbie total de la compilation Android, j’ai voulu tenter l’aventure et générer une image pour mon MiMix2 (chiron) en Oreo (lineageos 15.1).
Comme j’ai un peu galéré, peut-être que ça pourrait servir à certain-e-s …
En bref, là où ça se gâte avec les Xiaomi, c’est de trouver les sources propriétaires
Voici donc comment j’ai réussi
→ Base technique
J’ai choisi de faire ça dans une VM VMware Workstation (j’avais que ça de dispo) :
- 24GB RAM
- 12 vCPU (Xeon E5-2643)
- 32GB + 256GB disque, SSD RAID1+cache
- Ubuntu Desktop 18.04.3 LTS (sur le disque 32GB) + update complet
- accès Internet 2 * 2Gb/s (histoire de pas perdre de temps ;))
Pour plus de confort, j’ai tout fait en root (je sais c’est pas bien) : SSH avec un user puis “sudo su -”.
J’ai formaté et monté le disque de 256GB sur /srv.
→ script principal
Puis j’ai installé le script builde.sh à partir de Github : [HOWTO] Build /e/ without docker - #3 by andrelam , dans /srv.
J’ai édité le script pour modifier les variables suivantes :
- export BRANCH_NAME=‘v1-oreo’
- export DEVICE_LIST=‘chiron’
- export INCLUDE_PROPRIETARY=false
(la dernière variable est indispensable tant que le repo Github TheMuppets est HS).
→ sources
(il faut un compte Github, c’est gratos )
j’ai forké GitHub - LineageOS/android_kernel_xiaomi_msm8998 et GitHub - LineageOS/android_device_xiaomi_chiron
Puis j’ai créé le fichier /srv/local_manifests/roomservice.xml :
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="Mon_Compte_Github/android_device_xiaomi_chiron" path="device/xiaomi/chiron" remote="github" />
<project name="Mon_Compte_Github/android_kernel_xiaomi_msm8998" path="kernel/xiaomi/msm8998" remote="github" />
<project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" />
</manifest>
Pour la partie des sources propriétaires il faut aller chercher sur Gitlab : The Muppets · GitLab
Comme le mec est sympa il fournit directement un manifest à coller à côté de l’autre
En fait il est assez simple :
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gitlab" fetch="https://gitlab.com" />
<project name="The-Muppets/proprietary_vendor_xiaomi" path="vendor/xiaomi" remote="gitlab" />
</manifest>
→ hop !
On se retrouve donc avec :
- /srv/builde.sh (modifié)
- /srv/local_manifests/roomservice.xml
- /srv/local_manifests/muppets.xml
ça semble un peu léger, mais bon … on tente le coup !
Et 3 heures plus tard …
→ résultat
On se retrouve avec plein de bazar dans /root (du coup, bonne idée d’utiliser le user root pour lancer la compil’ )
Et un zoli .zip dans /srv/zips/chiron
Malheureusement j’utilise actuellement mon smartphone pour des besoins pro, donc c’est pas le moment d’installer une image de test . Mais ce n’est que partie remise !
→ références (un peu en vrac)
Un énorme merci à tous les contributeurs
Et bien sûr :
https://doc.e.foundation/how-tos/build-e
https://wiki.lineageos.org/devices/chiron/build