[Tuto] Quelques explications sur l'updater-script

Toutes les ressources pour les développeurs et moddeurs.
#1

[Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 23 Déc 2013, 18:35

Bonjour!

Le fameux fichier updater-script contenu dans un zip flashable (via un recovery custom et non via un recovery stock), ça marche comment et ça sert à quoi?

Image

Je me suis fortement inspiré de ces 2 topics : http://tinyurl.com/q63yc8x (XDA) et http://tinyurl.com/p8kr63r (FRAndroid)

Je vais donc expliquer dans les posts suivants où se trouve l'updater-script et à quoi il sert.
Topic à lire en parallèle avec celui-ci : Démystifier les update.zip


NI MOI, NI AUCUN AUTRE MEMBRE DU FORUM NE POURRAIT ETRE RESPONSABLE SUITE AU BRICK DE VOTRE TELEPHONE EN CAS DE MAUVAISE MANIP.

VERIFIEZ BIEN QUE LES ZIP QUE VOUS FLASHEZ SONT BIEN PREVUS POUR VOTRE TELEPHONE ET POUR VOTRE ROM.

AVANT DE FLASHER QUOI QUE CE SOIT, PENSEZ A FAIRE UN NANDROID BACKUP.

CONCERNANT LA PROCEDURE DE FLASH D'UN ZIP, REFEREZ AUX TOPICS CONCERNES.

JE N'AI A LA BASE AUCUNE FORMATION EN INFORMATIQUE, J'AI APPRIS SUR LE TAS ET LE GROS DE MES CONNAISSANCES EST EMPIRIQUE... SI CE QUE J'AI ECRIT CONTIENT DES ERREURS, NE M'EN VEUILLEZ PAS ET SIGNALEZ-LES MOI AFIN QUE JE LES CORRIGE... MERCI.


Emplacement et rôle de l'updater-script

L'updater-script et son petit frère l'update-binary se trouvent dans un zip flashable sous ce chemin : /META-INF/com/google/android/
A quoi peuvent-ils donc servir?
L'updater-script, quand vous flashez un zip via votre recovery, dit à ce-dit recovery ce qu'il doit faire (extraire tel fichier à tel endroit,formater telle partition, créer tel ou tel dossier...).
L'update-binary, lui, sert d'interprète entre le recovery et l'updater-script : il traduit l'updater-script en langage compréhensible par le recovery.

On ne touche pas à l'update-binary d'habitude (dans certains cas on le remplace par un autre) mais on peut tout à fait modifier l'updater-script pour l'adapter à ses besoins.

Dans ce cas, on le fait non pas avec le logiciel lambda de traitement de texte mais avec Notepad++ (dispo > ICI < ou sinon cherchez sur Google ;) )


Déchiffrage de l'updater-script

Exemple d'updater-script, celui qui installe le modemRIL BVBLL3 Orange pour Galaxy S3 4G (I9305) (fait par la GSteam).
Zip dispo > ICI < pour ceux qui voudraient voir comment il est structuré.

Code : Tout sélectionner
assert(getprop("ro.product.device") == "m3" || getprop("ro.build.product") == "m3" ||
       getprop("ro.product.device") == "m3xx" || getprop("ro.build.product") == "m3xx" ||
       getprop("ro.product.device") == "i9305" || getprop("ro.build.product") == "i9305" ||
       getprop("ro.product.device") == "GT-I9305" || getprop("ro.build.product") == "GT-I9305");
ui_print(" --------------------------------------- ");
ui_print("");
ui_print(" Installation Modem/RIL I9305 LTE");
ui_print("         I9305BVBLL3 Orange");
ui_print("  BY : GSteam");
ui_print("");
ui_print(" --------------------------------------- ");
show_progress(0.100000, 0);
package_extract_dir("scripts", "/tmp");
show_progress(0.200000, 0);
set_perm(0, 0, 0777, "/tmp/fin.sh");
set_perm(0, 0, 0777, "/tmp/busybox");
show_progress(0.400000, 0);
mount("ext4", "EMMC", "/dev/block/mmcblk0p13", "/system");
assert(package_extract_file("modem/modem.bin", "/tmp/modem.bin"),
       write_raw_image("/tmp/modem.bin", "/dev/block/mmcblk0p10"),
       delete("/tmp/modem.bin"));
package_extract_dir("system", "/system");
show_progress(1.000000, 0);

ui_print("");
ui_print("Redemarrage automatique dans 5 secondes !");
ui_print("");
ui_print(" --------------------------------------- ");
run_program("/tmp/fin.sh", "");


Syntaxe :

- Vous pouvez commenter une ligne (qui ne sera donc pas pris en compte par le recovery) en précédant cette ligne par un #
- Toutes les commandes de l'updater-script doivent se terminer par un ;
- Vous devez toujours laisser une ligne vide à la fin de votre updater-script
- La comparaison de deux arguments se fait via == (egal) ou != ( différent)
- Les opérateurs logiques sont || (ou) ; && (et) ; ! (non)
- Les conditions s'effectuent via les mots : if, then, else, endif
- Pas d'espace, sauf après une virgule ou entre guillemets en cas d'utilisation de la commande ui_print("...");
Tout erreur de syntaxe vous retournera un message d'erreur du recovery, qui refusera de flasher le zip.


Principales commandes :

Code : Tout sélectionner
assert(getprop("ro.product.device") == "m3" || getprop("ro.build.product") == "m3" ||
       getprop("ro.product.device") == "m3xx" || getprop("ro.build.product") == "m3xx" ||
       getprop("ro.product.device") == "i9305" || getprop("ro.build.product") == "i9305" ||
       getprop("ro.product.device") == "GT-I9305" || getprop("ro.build.product") == "GT-I9305");


Annule l'installation si la (les) condition(s) suivante(s) est (sont) fausse(s).
Cela permet de ne pas flasher n'importe quoi sur n'importe quel appareil quand la commande est intégrée ;)

Code : Tout sélectionner
ui_print("Je m'aime");


Ecrit le message entre guillemets (obligatoires le guillemets) dans le recovery ici : Je m'aime :lol: :lol: :lol:

Code : Tout sélectionner
mount("ext4", "EMMC", "/dev/block/mmcblk0p13", "/system");


Monte une partition.
Ici : "ext4" type de formatage ; "EMMC" type de la partition utilisé par le système ; "/dev/block/mmcblk0p13" chemin de la partition (change en fonction du téléphone : pour trouver les noms de partition spécifiques à votre appareil et/ou à votre ROM, utilisez Disk Info) ; "/system" point de montage.

Code : Tout sélectionner
format("ext4", "EMMC", "/dev/block/mmcblk0p13", "/system");


Formate une partition.
Ici : "ext4" type de formatage ; "EMMC" type de la partition utilisé par le système ; "/dev/block/mmcblk0p13" chemin de la partition (change en fonction du téléphone) ; "/system" point de montage.

Code : Tout sélectionner
package_extract_dir("system", "/system");


Extrait le contenu du dossier /system à la racine du zip vers la partition /system précédemment monté du téléphone (bonne chance à vous si vous zappez le montage du dossier et/ou de la partition :mrgreen: ). Avec un peu d'expérience, on peut extraire ce qu'on veut où on veut, faut juste comprendre l'histoire des chemins de fichiers ;)

Code : Tout sélectionner
symlink("mksh", "/system/bin/sh");
(commande non présente dans l'exemple)

Cette commande va créer un symlink, plutot que de faire un copier coller d'un fichier à deux endroits, cela permet de créer un raccourci vers ce fichier dans l'un des deux dossiers.
Cette commande va donc créer un raccourci "mksh" à la racine du système qui renvoiera vers le fichier se trouvant dans /system/bin/sh.
Lorsqu'une app demandera d'effectuer "mksh" le système renverra vers ce fichier.

Code : Tout sélectionner
set_perm(0, 0, 0777, "/tmp/busybox");


Cette commande donne la permission rwxrwxrwx au fichier "/tmp/busybox" pour l'utilisateur 0 et le groupe 0
plus d'info sur les permissions linux > ICI < (çà,çà a toujours été assez obscur pour moi...).

Code : Tout sélectionner
chmod 0 ----------

chmod 1 ---------x

chmod 2 --------w-

chmod 3 --------wx

chmod 4 -------r--

chmod 5 -------r-x

chmod 6 -------rw-

chmod 7 -------rwx

chmod 10------x---

chmod 11------x--x

chmod 12------x-w-

chmod 13------x-wx

chmod 14------xr--

chmod 15------xr-x

chmod 16------xrw-

chmod 17------xrwx

chmod 20-----w----

chmod 21-----w---x

chmod 22-----w--w-

chmod 23-----w--wx

chmod 24-----w-r--

chmod 25-----w-r-x

chmod 26-----w-rw-

chmod 27-----w-rwx

chmod 30-----wx---

chmod 31-----wx--x

chmod 32-----wx-w-

chmod 33-----wx-wx

chmod 34-----wxr--

chmod 35-----wxr-x

chmod 36-----wxrw-

chmod 37-----wxrwx

chmod 40----r-----

chmod 41----r----x

chmod 42----r---w-

chmod 43----r---wx

chmod 44----r--r--

chmod 45----r--r-x

chmod 46----r--rw-

chmod 47----r--rwx

chmod 50----r-x---

chmod 51----r-x--x

chmod 52----r-x-w-

chmod 53----r-x-wx

chmod 54----r-xr--

chmod 55----r-xr-x

chmod 56----r-xrw-

chmod 57----r-xrwx

chmod 60----rw----

chmod 61----rw---x

chmod 62----rw--w-

chmod 63----rw--wx

chmod 64----rw-r--

chmod 65----rw-r-x

chmod 66----rw-rw-

chmod 67----rw-rwx

chmod 70----rwx---

chmod 71----rwx--x

chmod 72----rwx-w-

chmod 73----rwx-wx

chmod 74----rwxr--

chmod 75----rwxr-x

chmod 76----rwxrw-

chmod 77----rwxrwx

chmod 100---x------

chmod 101 ---x-----x

chmod 102 ---x----w-

chmod 103 ---x----wx

chmod 104 ---x---r--

chmod 105 ---x---r-x

chmod 106 ---x---rw-

chmod 107 ---x---rwx

chmod 110 ---x--x---

chmod 111 ---x--x--x

chmod 112 ---x--x-w-

chmod 113 ---x--x-wx

chmod 114 ---x--xr--

chmod 115 ---x--xr-x

chmod 116 ---x--xrw-

chmod 117 ---x--xrwx

chmod 120 ---x-w----

chmod 121 ---x-w---x

chmod 122 ---x-w--w-

chmod 123 ---x-w--wx

chmod 124 ---x-w-r--

chmod 125 ---x-w-r-x

chmod 126 ---x-w-rw-

chmod 127 ---x-w-rwx

chmod 130 ---x-wx---

chmod 131 ---x-wx--x

chmod 132 ---x-wx-w-

chmod 133 ---x-wx-wx

chmod 134 ---x-wxr--

chmod 135 ---x-wxr-x

chmod 136 ---x-wxrw-

chmod 137 ---x-wxrwx

chmod 140 ---xr-----

chmod 141 ---xr----x

chmod 142 ---xr---w-

chmod 143 ---xr---wx

chmod 144 ---xr--r--

chmod 145 ---xr--r-x

chmod 146 ---xr--rw-

chmod 147 ---xr--rwx

chmod 150 ---xr-x---

chmod 151 ---xr-x--x

chmod 152 ---xr-x-w-

chmod 153 ---xr-x-wx

chmod 154 ---xr-xr--

chmod 155 ---xr-xr-x

chmod 156 ---xr-xrw-

chmod 157 ---xr-xrwx

chmod 160 ---xrw----

chmod 161 ---xrw---x

chmod 162 ---xrw--w-

chmod 163 ---xrw--wx

chmod 164 ---xrw-r--

chmod 165 ---xrw-r-x

chmod 166 ---xrw-rw-

chmod 167 ---xrw-rwx

chmod 170 ---xrwx---

chmod 171 ---xrwx--x

chmod 172 ---xrwx-w-

chmod 173 ---xrwx-wx

chmod 174 ---xrwxr--

chmod 175 ---xrwxr-x

chmod 176 ---xrwxrw-

chmod 177 ---xrwxrwx

chmod 200 --w-------

chmod 201 --w------x

chmod 202 --w-----w-

chmod 203 --w-----wx

chmod 204 --w----r--

chmod 205 --w----r-x

chmod 206 --w----rw-

chmod 207 --w----rwx

chmod 210 --w---x---

chmod 211 --w---x--x

chmod 212 --w---x-w-

chmod 213 --w---x-wx

chmod 214 --w---xr--

chmod 215 --w---xr-x

chmod 216 --w---xrw-

chmod 217 --w---xrwx

chmod 220 --w--w----

chmod 221 --w--w---x

chmod 222 --w--w--w-

chmod 223 --w--w--wx

chmod 224 --w--w-r--

chmod 225 --w--w-r-x

chmod 226 --w--w-rw-

chmod 227 --w--w-rwx

chmod 230 --w--wx---

chmod 231 --w--wx--x

chmod 232 --w--wx-w-

chmod 233 --w--wx-wx

chmod 234 --w--wxr--

chmod 235 --w--wxr-x

chmod 236 --w--wxrw-

chmod 237 --w--wxrwx

chmod 240 --w-r-----

chmod 241 --w-r----x

chmod 242 --w-r---w-

chmod 243 --w-r---wx

chmod 244 --w-r--r--

chmod 245 --w-r--r-x

chmod 246 --w-r--rw-

chmod 247 --w-r--rwx

chmod 250 --w-r-x---

chmod 251 --w-r-x--x

chmod 252 --w-r-x-w-

chmod 253 --w-r-x-wx

chmod 254 --w-r-xr--

chmod 255 --w-r-xr-x

chmod 256 --w-r-xrw-

chmod 257 --w-r-xrwx

chmod 260 --w-rw----

chmod 261 --w-rw---x

chmod 262 --w-rw--w-

chmod 263 --w-rw--wx

chmod 264 --w-rw-r--

chmod 265 --w-rw-r-x

chmod 266 --w-rw-rw-

chmod 267 --w-rw-rwx

chmod 270 --w-rwx---

chmod 271 --w-rwx--x

chmod 272 --w-rwx-w-

chmod 273 --w-rwx-wx

chmod 274 --w-rwxr--

chmod 275 --w-rwxr-x

chmod 276 --w-rwxrw-

chmod 277 --w-rwxrwx

chmod 300 --wx------

chmod 301 --wx-----x

chmod 302 --wx----w-

chmod 303 --wx----wx

chmod 304 --wx---r--

chmod 305 --wx---r-x

chmod 306 --wx---rw-

chmod 307 --wx---rwx

chmod 310 --wx--x---

chmod 311 --wx--x--x

chmod 312 --wx--x-w-

chmod 313 --wx--x-wx

chmod 314 --wx--xr--

chmod 315 --wx--xr-x

chmod 316 --wx--xrw-

chmod 317 --wx--xrwx

chmod 320 --wx-w----

chmod 321 --wx-w---x

chmod 322 --wx-w--w-

chmod 323 --wx-w--wx

chmod 324 --wx-w-r--

chmod 325 --wx-w-r-x

chmod 326 --wx-w-rw-

chmod 327 --wx-w-rwx

chmod 330 --wx-wx---

chmod 331 --wx-wx--x

chmod 332 --wx-wx-w-

chmod 333 --wx-wx-wx

chmod 334 --wx-wxr--

chmod 335 --wx-wxr-x

chmod 336 --wx-wxrw-

chmod 337 --wx-wxrwx

chmod 340 --wxr-----

chmod 341 --wxr----x

chmod 342 --wxr---w-

chmod 343 --wxr---wx

chmod 344 --wxr--r--

chmod 345 --wxr--r-x

chmod 346 --wxr--rw-

chmod 347 --wxr--rwx

chmod 350 --wxr-x---

chmod 351 --wxr-x--x

chmod 352 --wxr-x-w-

chmod 353 --wxr-x-wx

chmod 354 --wxr-xr--

chmod 355 --wxr-xr-x

chmod 356 --wxr-xrw-

chmod 357 --wxr-xrwx

chmod 360 --wxrw----

chmod 361 --wxrw---x

chmod 362 --wxrw--w-

chmod 363 --wxrw--wx

chmod 364 --wxrw-r--

chmod 365 --wxrw-r-x

chmod 366 --wxrw-rw-

chmod 367 --wxrw-rwx

chmod 370 --wxrwx---

chmod 371 --wxrwx--x

chmod 372 --wxrwx-w-

chmod 373 --wxrwx-wx

chmod 374 --wxrwxr--

chmod 375 --wxrwxr-x

chmod 376 --wxrwxrw-

chmod 377 --wxrwxrwx

chmod 400 -r--------

chmod 401 -r-------x

chmod 402 -r------w-

chmod 403 -r------wx

chmod 404 -r-----r--

chmod 405 -r-----r-x

chmod 406 -r-----rw-

chmod 407 -r-----rwx

chmod 410 -r----x---

chmod 411 -r----x--x

chmod 412 -r----x-w-

chmod 413 -r----x-wx

chmod 414 -r----xr--

chmod 415 -r----xr-x

chmod 416 -r----xrw-

chmod 417 -r----xrwx

chmod 420 -r---w----

chmod 421 -r---w---x

chmod 422 -r---w--w-

chmod 423 -r---w--wx

chmod 424 -r---w-r--

chmod 425 -r---w-r-x

chmod 426 -r---w-rw-

chmod 427 -r---w-rwx

chmod 430 -r---wx---

chmod 431 -r---wx--x

chmod 432 -r---wx-w-

chmod 433 -r---wx-wx

chmod 434 -r---wxr--

chmod 435 -r---wxr-x

chmod 436 -r---wxrw-

chmod 437 -r---wxrwx

chmod 440 -r--r-----

chmod 441 -r--r----x

chmod 442 -r--r---w-

chmod 443 -r--r---wx

chmod 444 -r--r--r--

chmod 445 -r--r--r-x

chmod 446 -r--r--rw-

chmod 447 -r--r--rwx

chmod 450 -r--r-x---

chmod 451 -r--r-x--x

chmod 452 -r--r-x-w-

chmod 453 -r--r-x-wx

chmod 454 -r--r-xr--

chmod 455 -r--r-xr-x

chmod 456 -r--r-xrw-

chmod 457 -r--r-xrwx

chmod 460 -r--rw----

chmod 461 -r--rw---x

chmod 462 -r--rw--w-

chmod 463 -r--rw--wx

chmod 464 -r--rw-r--

chmod 465 -r--rw-r-x

chmod 466 -r--rw-rw-

chmod 467 -r--rw-rwx

chmod 470 -r--rwx---

chmod 471 -r--rwx--x

chmod 472 -r--rwx-w-

chmod 473 -r--rwx-wx

chmod 474 -r--rwxr--

chmod 475 -r--rwxr-x

chmod 476 -r--rwxrw-

chmod 477 -r--rwxrwx

chmod 500 -r-x------

chmod 501 -r-x-----x

chmod 502 -r-x----w-

chmod 503 -r-x----wx

chmod 504 -r-x---r--

chmod 505 -r-x---r-x

chmod 506 -r-x---rw-

chmod 507 -r-x---rwx

chmod 510 -r-x--x---

chmod 511 -r-x--x--x

chmod 512 -r-x--x-w-

chmod 513 -r-x--x-wx

chmod 514 -r-x--xr--

chmod 515 -r-x--xr-x

chmod 516 -r-x--xrw-

chmod 517 -r-x--xrwx

chmod 520 -r-x-w----

chmod 521 -r-x-w---x

chmod 522 -r-x-w--w-

chmod 523 -r-x-w--wx

chmod 524 -r-x-w-r--

chmod 525 -r-x-w-r-x

chmod 526 -r-x-w-rw-

chmod 527 -r-x-w-rwx

chmod 530 -r-x-wx---

chmod 531 -r-x-wx--x

chmod 532 -r-x-wx-w-

chmod 533 -r-x-wx-wx

chmod 534 -r-x-wxr--

chmod 535 -r-x-wxr-x

chmod 536 -r-x-wxrw-

chmod 537 -r-x-wxrwx

chmod 540 -r-xr-----

chmod 541 -r-xr----x

chmod 542 -r-xr---w-

chmod 543 -r-xr---wx

chmod 544 -r-xr--r--

chmod 545 -r-xr--r-x

chmod 546 -r-xr--rw-

chmod 547 -r-xr--rwx

chmod 550 -r-xr-x---

chmod 551 -r-xr-x--x

chmod 552 -r-xr-x-w-

chmod 553 -r-xr-x-wx

chmod 554 -r-xr-xr--

chmod 555 -r-xr-xr-x

chmod 556 -r-xr-xrw-

chmod 557 -r-xr-xrwx

chmod 560 -r-xrw----

chmod 561 -r-xrw---x

chmod 562 -r-xrw--w-

chmod 563 -r-xrw--wx

chmod 564 -r-xrw-r--

chmod 565 -r-xrw-r-x

chmod 566 -r-xrw-rw-

chmod 567 -r-xrw-rwx

chmod 570 -r-xrwx---

chmod 571 -r-xrwx--x

chmod 572 -r-xrwx-w-

chmod 573 -r-xrwx-wx

chmod 574 -r-xrwxr--

chmod 575 -r-xrwxr-x

chmod 576 -r-xrwxrw-

chmod 577 -r-xrwxrwx

chmod 600 -rw-------

chmod 601 -rw------x

chmod 602 -rw-----w-

chmod 603 -rw-----wx

chmod 604 -rw----r--

chmod 605 -rw----r-x

chmod 606 -rw----rw-

chmod 607 -rw----rwx

chmod 610 -rw---x---

chmod 611 -rw---x--x

chmod 612 -rw---x-w-

chmod 613 -rw---x-wx

chmod 614 -rw---xr--

chmod 615 -rw---xr-x

chmod 616 -rw---xrw-

chmod 617 -rw---xrwx

chmod 620 -rw--w----

chmod 621 -rw--w---x

chmod 622 -rw--w--w-

chmod 623 -rw--w--wx

chmod 624 -rw--w-r--

chmod 625 -rw--w-r-x

chmod 626 -rw--w-rw-

chmod 627 -rw--w-rwx

chmod 630 -rw--wx---

chmod 631 -rw--wx--x

chmod 632 -rw--wx-w-

chmod 633 -rw--wx-wx

chmod 634 -rw--wxr--

chmod 635 -rw--wxr-x

chmod 636 -rw--wxrw-

chmod 637 -rw--wxrwx

chmod 640 -rw-r-----

chmod 641 -rw-r----x

chmod 642 -rw-r---w-

chmod 643 -rw-r---wx

chmod 644 -rw-r--r--

chmod 645 -rw-r--r-x

chmod 646 -rw-r--rw-

chmod 647 -rw-r--rwx

chmod 650 -rw-r-x---

chmod 651 -rw-r-x--x

chmod 652 -rw-r-x-w-

chmod 653 -rw-r-x-wx

chmod 654 -rw-r-xr--

chmod 655 -rw-r-xr-x

chmod 656 -rw-r-xrw-

chmod 657 -rw-r-xrwx

chmod 660 -rw-rw----

chmod 661 -rw-rw---x

chmod 662 -rw-rw--w-

chmod 663 -rw-rw--wx

chmod 664 -rw-rw-r--

chmod 665 -rw-rw-r-x

chmod 666 -rw-rw-rw-

chmod 667 -rw-rw-rwx

chmod 670 -rw-rwx---

chmod 671 -rw-rwx--x

chmod 672 -rw-rwx-w-

chmod 673 -rw-rwx-wx

chmod 674 -rw-rwxr--

chmod 675 -rw-rwxr-x

chmod 676 -rw-rwxrw-

chmod 677 -rw-rwxrwx

chmod 700 -rwx------

chmod 701 -rwx-----x

chmod 702 -rwx----w-

chmod 703 -rwx----wx

chmod 704 -rwx---r--

chmod 705 -rwx---r-x

chmod 706 -rwx---rw-

chmod 707 -rwx---rwx

chmod 710 -rwx--x---

chmod 711 -rwx--x--x

chmod 712 -rwx--x-w-

chmod 713 -rwx--x-wx

chmod 714 -rwx--xr--

chmod 715 -rwx--xr-x

chmod 716 -rwx--xrw-

chmod 717 -rwx--xrwx

chmod 720 -rwx-w----

chmod 721 -rwx-w---x

chmod 722 -rwx-w--w-

chmod 723 -rwx-w--wx

chmod 724 -rwx-w-r--

chmod 725 -rwx-w-r-x

chmod 726 -rwx-w-rw-

chmod 727 -rwx-w-rwx

chmod 730 -rwx-wx---

chmod 731 -rwx-wx--x

chmod 732 -rwx-wx-w-

chmod 733 -rwx-wx-wx

chmod 734 -rwx-wxr--

chmod 735 -rwx-wxr-x

chmod 736 -rwx-wxrw-

chmod 737 -rwx-wxrwx

chmod 740 -rwxr-----

chmod 741 -rwxr----x

chmod 742 -rwxr---w-

chmod 743 -rwxr---wx

chmod 744 -rwxr--r--

chmod 745 -rwxr--r-x

chmod 746 -rwxr--rw-

chmod 747 -rwxr--rwx

chmod 750 -rwxr-x---

chmod 751 -rwxr-x--x

chmod 752 -rwxr-x-w-

chmod 753 -rwxr-x-wx

chmod 754 -rwxr-xr--

chmod 755 -rwxr-xr-x

chmod 756 -rwxr-xrw-

chmod 757 -rwxr-xrwx

chmod 760 -rwxrw----

chmod 761 -rwxrw---x

chmod 762 -rwxrw--w-

chmod 763 -rwxrw--wx

chmod 764 -rwxrw-r--

chmod 765 -rwxrw-r-x

chmod 766 -rwxrw-rw-

chmod 767 -rwxrw-rwx

chmod 770 -rwxrwx---

chmod 771 -rwxrwx--x

chmod 772 -rwxrwx-w-

chmod 773 -rwxrwx-wx

chmod 774 -rwxrwxr--

chmod 775 -rwxrwxr-x

chmod 776 -rwxrwxrw-

chmod 777 -rwxrwxrwx


Liste des permissions et du "code" correspondant pour les attribuer ( récupérée ICI sur un site concurrent, merci au concepteur du topic concerné )

Code : Tout sélectionner
set_perm_recursive(0, 0, 0777,0777, "/system");


Identique à celle du dessus à part que les permissions seront attribuées à tous les fichiers et sous-dossiers présents dans ce répertoire. La 3eme variable décrit la permission pour le dossier /system et la 4ème pour les sous-dossiers (même réflexion que précédemment :mrgreen: ).

Code : Tout sélectionner
run_program("XXX");


Exécutes le fichier ou la fonction XXX (2 exemples à suivre) : utile pour faire fonctionner une commande qui ne fonctionne pas toute seule (ex. mkdir marche tout seul via terminal mais pas via l'updater-script...).

Code : Tout sélectionner
run_program("/tmp/fin.sh", "");


Lance un script .sh précédemment extrait via la commande package_extract_file .

Code : Tout sélectionner
run_program("mkdir", "/system/media/bootanims");
(commande non présente dans l'exemple)

Crée le dossier "bootanims" dans le dossier /system/media
La commande rmdir (elle est donc l'opposé de mkdir) permet normalement l'effacement d'un dossier mais je n'ai pas réussi à la faire fonctionner... Si quelqu'un a un tuyau...

Code : Tout sélectionner
unmount("/system");
(non présent dans l'exemple...inclus dans un des scripts?)

Démonte la partition /system précédemment montée.Il est indispensable de démonter toutes les partitions avant la fin l'updater-script et dans l'ordre inverse de leur montage.
Ex. on monte /a /b et /c puis on démonte /c /b puis /a

Code : Tout sélectionner
delete("/tmp/modem.bin");


Efface le fichier ou le dossier (avec son contenu!) concerné.

Code : Tout sélectionner
delete_recursive("/system/media");


Efface le contenu du dossier concerné sans l'effacer (utile pour faire un wipe dalvik cache ou un wipe cache partition en même temps que le flash du zip par exemple).


Attention aux manipulations que vous faites : tout flash avec un updater-script ou un zip erroné (mal programmé, non adapté au modèle...) peut bricker votre téléphone.
Ni moi, ni le forum ne pourrions être tenu pour responsables en cas de mauvaise manip.


Crédit illustration http://droidshouts.files.wordpress.com/2013/10/6.jpg

Edit : Ce topic a participé au concours 2013-2014
Dernière édition par jhowlett468 le 06 Juil 2014, 23:30, édité 14 fois.
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#2

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 23 Déc 2013, 19:35

En espérant avoir été clair...

La meilleure façon de voir si çà marche,c'est de tester en bidouillant des updater-script déjà existants (et/ou en rajoutant/enlevant des fichiers/dossiers) et en voyant comment ils se comportent par la suite (toujours faire un nandroid backup d'abord hein,j'ai déjà fait accidentellement une bombe de décompression :lol: ).

Utilisez intelligemment les commandes...Par exemple,aucun intérêt de faire un delete_recursive("/system"); ou un delete("/system"); à part planter votre téléphone.

Dans le même genre,on ne formate les dossiers "sensibles" (/system, /data ...) qu'en cas de réinstallation de ROM...
Qd vous n'êtes pas surs des commandes à taper,récupérez un truc qui marche dans un autre updater-script et adaptez-le à vos besoins.Dans certains cas,çà vaut mieux que de faire n'importe quoi, cf mise en garde du 1er post.

D'après ce que j'ai pu voir,l'updater-script invoque des dossiers et fichiers présents dans le zip flashable (logique me direz-vous...).Si les dossiers n'existent pas dans le zip,les dossiers ou fichiers invoqués seront ceux présents sur le téléphone (bon à savoir pour certains fichiers style busybox qd ils ne sont pas au bon endroit).
Dernière édition par jhowlett468 le 09 Jan 2014, 11:25, édité 4 fois.
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#3

[Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 23 Déc 2013, 20:48

Réservé
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#4

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 23 Déc 2013, 20:48

Réservé
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#5

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar Romu313 » 25 Déc 2013, 16:54

Bien ce tuto ;)
Sa va en aidé plus d'un, moi le 1er ;)
AppareilROM stock actuelle + MultiRomKernelModem + OpérateurRecovery
Nexus 5 32Go blancKOT49H 4.4.2 + BeanStalk4.4.4065"dépend de la Rom"M8974A - Image RED 24H24"TWRP"

Mes Mods et autres : ICI /// Aller Plus Loin avec son SGS III en Android 4.3 : ICI /// Modules SGS III Xposed ICI
GS-Team !?!?! C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent ! C'est l'esprit d'équipe ! ICI Le blog
Dans le doute : REBOOT - Quand tout lâche : REFLASH !! => Vend Galaxy S4 16Go bon état, Knox à 0x0. Plus d'info en MP <=
Avatar de l’utilisateur
Romu313
Andro-intarissable
 
Message(s) : 3886
Inscription : 28 Sep 2011, 05:58
Localisation : Toulouse

#6

Re: Re : [Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 25 Déc 2013, 19:07

Romu313 a écrit:Bien ce tuto ;)
Sa va en aidé plus d'un, moi le 1er ;)


Merci mais...Avec tout ce que tu sais je doute que tu en aies besoin lol

By my I9305
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#7

Re: Re : [Tuto] Quelques explications sur l'updater-script

Messagepar Romu313 » 25 Déc 2013, 19:10

jhowlett468 a écrit:
Romu313 a écrit:Bien ce tuto ;)
Sa va en aidé plus d'un, moi le 1er ;)


Merci mais...Avec tout ce que tu sais je doute que tu en aies besoin lol

By my I9305

Merci, mais c'est un bon pense bête je trouve et j'oublie souvent ;)
AppareilROM stock actuelle + MultiRomKernelModem + OpérateurRecovery
Nexus 5 32Go blancKOT49H 4.4.2 + BeanStalk4.4.4065"dépend de la Rom"M8974A - Image RED 24H24"TWRP"

Mes Mods et autres : ICI /// Aller Plus Loin avec son SGS III en Android 4.3 : ICI /// Modules SGS III Xposed ICI
GS-Team !?!?! C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent ! C'est l'esprit d'équipe ! ICI Le blog
Dans le doute : REBOOT - Quand tout lâche : REFLASH !! => Vend Galaxy S4 16Go bon état, Knox à 0x0. Plus d'info en MP <=
Avatar de l’utilisateur
Romu313
Andro-intarissable
 
Message(s) : 3886
Inscription : 28 Sep 2011, 05:58
Localisation : Toulouse

#8

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 25 Déc 2013, 21:36

Me manquent certaines commandes,faudrait que je mette la main dessus ;)
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#9

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar TheBud » 26 Déc 2013, 01:09

Bravo pour ton tuto même si pour moi c'est du chinois :D

Au moins c'est bien expliqué pour ceux qui ont un minimum de connaissances.
Modèle : Samsung Galaxy S3 (GT-I9300)
Firmware : Android 4.1.2 Jelly Bean de base du S3 non modifié.
Modifications : Aucune
Réseau : SFR
TheBud
Andro-parleur
 
Message(s) : 36
Inscription : 12 Déc 2013, 01:56

#10

Re: [Tuto] Quelques explications sur l'updater-script

Messagepar jhowlett468 » 02 Jan 2014, 17:48

TheBud a écrit:Bravo pour ton tuto même si pour moi c'est du chinois :D

Au moins c'est bien expliqué pour ceux qui ont un minimum de connaissances.


Merci ;)
Dernière édition par jhowlett468 le 29 Jan 2014, 21:16, édité 1 fois.
Image
Image
|| Huawei P8 Lite 2017
(PRA-LX1) - full stock
Image|| Gear Fit ( SM-R350 )
ROM PRA-LX1C109B120ImageROM BOA2
(ROM Orange)Image
Charte du forum
Liens importantsNouveau ?Drivers 1.5.51 -> Install
Vérifiez votre modèle
(modèles plus récents)
En ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9278
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

Suivant

Retour vers Développement : Tutoriels, Astuces, Méthodes et Outils

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)