- Pré-requis
- Avant d'aller plus loin
- Qu'est ce que Zenfone-System-Creator ?
- Configuration
- Génération des images
- Flash des partitions
- Références et remerciements
1. Pré-requis
- Asus ZenFone 2/5/6
- Les commandes git, gcc, patch, adb et fastboot (Arch Linux : pacman -S android-tools android-udev git gcc patch)
- L'archive zenfone-system-creator.tar.xz
2. Avant d'aller plus loin
L'archive zenfone-system-creator.tar.xz est basée sur ZenFoneSystemImageCreator mais ce dernier étant devenu une usine à gaz à mes yeux, je l'ai modifié afin de le rendre plus minimaliste.
3. Qu'est ce que Zenfone-System-Creator ?
Il s'agit d'un script permettant la création d'une rom épurée (suppression d'applications) et/ou pré-rootée (intégration de SuperSU).
À partir de la source officielle, le script générera 4 fichiers qu'il suffira d'injecter via fastboot :
- boot.img
- droidboot.img
- recovery.img
- system.img
Ce tutoriel s'applique aux ZenFone suivants :
- ZenFone 2 Z00A
- ZenFone 2 Z008
- ZenFone 5 T00F
- ZenFone 6 T00G
4. Configuration
Si vous avez suivi les pré-requis, vous avez décompressé zenfone-system-creator.tar.xz et vous vous retrouvez avec une arborescence comme celle-ci :
├── assets
│ └── applypatch.patch
├── build.sh
├── config
│ ├── clean_apps.cfg
│ └── setup_general.sh
└── root
├── app
│ └── SuperSU
│ └── SuperSU.apk
├── etc
│ └── install-recovery.sh
├── lib
│ └── libsupol.so
└── xbin
├── su
└── supolicy
Modification de config/setup_general.sh :
Le fichier de configuration est très simple à comprendre, voici donc 2 exemples, à vous d'adapter pour ce que vous voulez faire :
ZenFone 2 ZE551ML avec le root et avec la suppression des applications :
# Configuration globale : 0 desactiver : 1 activer
ROOT=1
CLEAN_APPS=1
# Ne pas toucher
BRANCH=android-5.0.0_r7
CUR_DIR=$(pwd)
OUT_DIR=$(pwd)/output
TMP_DIR=$(pwd)/tmp
# ZenFone 2 Z00A
ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/ZE551ML/UL-Z00A-WW-2.20.40.97-user.zip
SYSTEM_SIZE=2415919104
# ZenFone 2 Z008
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/ZE550ML/UL-Z008-WW-2.20.40.92-user.zip
#SYSTEM_SIZE=2415919104
# ZenFone 5 T00F
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/A500CG/UL_ASUS_T00F_TW_3_23_40_52.zip
#SYSTEM_SIZE=1363148800
# ZenFone 6 T00G
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/UL-ASUS_T00G-WW-3.23.40.52-user.zip
#SYSTEM_SIZE=1363148800
ZenFone 2 ZE550ML sans le root et avec la suppression des applications :
# Configuration globale : 0 desactiver : 1 activer
ROOT=0
CLEAN_APPS=1
# Ne pas toucher
BRANCH=android-5.0.0_r7
CUR_DIR=$(pwd)
OUT_DIR=$(pwd)/output
TMP_DIR=$(pwd)/tmp
# ZenFone 2 Z00A
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/ZE551ML/UL-Z00A-WW-2.20.40.97-user.zip
#SYSTEM_SIZE=2415919104
# ZenFone 2 Z008
ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/ZE550ML/UL-Z008-WW-2.20.40.92-user.zip
SYSTEM_SIZE=2415919104
# ZenFone 5 T00F
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/A500CG/UL_ASUS_T00F_TW_3_23_40_52.zip
#SYSTEM_SIZE=1363148800
# ZenFone 6 T00G
#ROM_URL=http://dlcdnet.asus.com/pub/ASUS/ZenFone/UL-ASUS_T00G-WW-3.23.40.52-user.zip
#SYSTEM_SIZE=1363148800
Vous pouvez mettre à jour les liens si une ROM plus récente est disponible mais attention à ne pas vous tromper avec les versions TW, WW, CN.
Voir la rubrique Paramètres > A propros > Informations logicielles de votre smartphone ainsi que Références et remerciements.
Dans le doute, la valeur SYSTEM_SIZE est facilement vérifiable depuis un smartphone même non rooté avec la commande suivante dans un terminal cat /proc/partitions
Sur le ZenFone 2 ZE551ML la partition système est la suivante :
259 2 2359296 mmcblk0p18
On constate bien que 2415919104/1024 est égal à 2359296.
Modification de config/clean_apps.cfg :
Les applications de-commentées seront supprimées, la configuration de base est déjà très bien alors attention à ne pas supprimer des applications critiques.
Si vous n'avez pas la housse de protection Flip Cover, vous pouvez de-commenter FlipCover2.
5. Génération des images
Je prendrais ici comme exemple le modèle Asus ZenFone 2 ZE551ML
Execution de ./build.sh :
[user@local zenfone]$ ./build.sh
Le script va :
- Compiler applypatch
- Compiler make_ext4fs
- Télécharger la ROM
- Décompresser la ROM
- Supprimer les applications
- Rooter
- Générer les images
À la fin du script vous devrez vous retrouver avec cette arborescence :
├── assets
│ └── applypatch.patch
├── build.sh
├── config
│ ├── clean_apps.cfg
│ └── setup_general.sh
├── output
│ ├── boot.img
│ ├── droidboot.img
│ ├── recovery.img
│ └── system.img
├── root
│ ├── app
│ │ └── SuperSU
│ │ └── SuperSU.apk
│ ├── etc
│ │ └── install-recovery.sh
│ ├── lib
│ │ └── libsupol.so
│ └── xbin
│ ├── su
│ └── supolicy
└── tmp
├── applypatch
├── dl_rom.zip
└── make_ext4fs
6. Flash des partitions
Il ne nous reste donc qu'à pousser nos images vers le smartphone via fastboot depuis le bootloader :
- Extinction du smartphone
- Allumage puis power + volume haut
Puis on envoie :
[user@local zenfone]$ cd output/
[user@local output]$ fastboot flash boot boot.img
[user@local output]$ fastboot flash fastboot droidboot.img
[user@local output]$ fastboot flash recovery recovery.img
[user@local output]$ fastboot flash system system.img
Pour faire propre, on fait un wipe data/factory reset :
[user@local output]$ fastboot erase cache
[user@local output]$ fastboot erase userdata
C'est terminé, on peut redémarrer le smartphone :
[user@local output]$ fastboot reboot
Voici mon output pour un ZenFone 2 551ML :
[user@local output]$ fastboot flash boot boot.img
target reported max download size of 536870912 bytes
sending 'boot' (11868 KB)...
OKAY [ 0.608s]
writing 'boot'...
OKAY [ 0.723s]
finished. total time: 1.331s
[user@local output]$ fastboot flash fastboot droidboot.img
target reported max download size of 536870912 bytes
sending 'fastboot' (14822 KB)...
OKAY [ 0.689s]
writing 'fastboot'...
OKAY [ 0.894s]
finished. total time: 1.583s
[user@local output]$ fastboot flash recovery recovery.img
target reported max download size of 536870912 bytes
sending 'recovery' (11882 KB)...
OKAY [ 0.605s]
writing 'recovery'...
OKAY [ 0.705s]
finished. total time: 1.310s
[user@local output]$ fastboot flash system system.img
target reported max download size of 536870912 bytes
erasing 'system'...
OKAY [ 3.310s]
sending sparse 'system' (517018 KB)...
OKAY [ 21.516s]
writing 'system'...
OKAY [ 17.832s]
sending sparse 'system' (514942 KB)...
OKAY [ 17.854s]
writing 'system'...
OKAY [ 17.723s]
sending sparse 'system' (382223 KB)...
OKAY [ 12.990s]
writing 'system'...
OKAY [ 14.025s]
finished. total time: 105.249s
[user@local output]$ fastboot erase cache
******** Did you mean to fastboot format this partition?
erasing 'cache'...
OKAY [ 0.591s]
finished. total time: 0.591s
[user@local output]$ fastboot erase userdata
******** Did you mean to fastboot format this partition?
erasing 'userdata'...
OKAY [ 21.090s]
finished. total time: 21.090s
[user@local output]$ fastboot reboot
rebooting...
finished. total time: 0.593s