10 votes

Flash boot.img sans utiliser fastboot USB

Donc j'ai récemment enraciné mon téléphone et essayé une ROM ou deux. Je trouve vraiment pratique que vous puissiez utiliser TWRP recovery pour installer une autre ROM à partir de la carte SD, vous n'avez pas besoin de l'avoir connecté à un PC.

Cependant, sur mon appareil (HTC One S), je dois flasher un fichier boot.img différent pour chaque ROM, donc je dois toujours connecter mon téléphone à mon PC pour changer de ROM. Si je ne le fais pas, il reste bloqué sur l'écran de chargement. Je dois alors utiliser la commande

fastboot flash boot boot.img

à partir du dossier où se trouve le fichier boot.img.

Est-il possible de flasher cette image de démarrage avec TWRP ou tout autre moyen sans utiliser fastboot sur USB ?

10voto

Nick Pierpoint Points 7976

Ce qui doit être fait est de regrouper le boot.img et de construire un nouveau fichier zip adapté au flashage via ClockworkMod ou TWRP.

Pré-requis :

  • un environnement Linux dans lequel sont installés les paquets de développement habituels, tels que Java. ( Il peut également appliquer à d'autres plates-formes, faites juste attention que les instructions ici indiquant le chemin utilisé ci-dessous, utilise un slash avant / alors inversez-le pour qu'il devienne une barre oblique arrière. \ pour l'environnement Windows en particulier ! )
  • L'outil de ligne de commande adb est installé.
  • `testsign.jar' outil pour signer le fichier zip afin que le service de récupération puisse l'authentifier et vérifier qu'il s'agit d'une archive valide. archives corrompues ou similaire.
  • update-binary ligne de commande application qui est interne pour une utilisation avec le script flashable. (On peut le trouver avec tout zip flashable, l'important est d'extraire ce binaire et de le déposer dans la structure du répertoire comme indiqué)
  • outil de ligne de commande zip.

En supposant que votre répertoire s'appelle répertoire de travail pour les besoins de la discussion, appelons-le le répertoire de travail, copiez le fichier boot.img dans ce répertoire, et créez la structure de répertoire suivante - META-INF/com/google/android c'est important ! Et au sein de la META-INF/com/google/android copiez l'application binaire appelée update-binary dans ce répertoire. La structure du répertoire devrait donc être la suivante :

+ workdir/
     +
     |
     +--+ boot.img
     |
     |
     +--+ META-INF/
              +
              |
              +--+ com/
                    +
                    |
                    +--+ google/
                           +
                           |
                           +--+ android/
                                   +
                                   |
                                   +--> update-binary
                                   |
                                   +--> updater-script

Quant à l updater-script Copiez le contenu du document ci-dessous :

ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");

Rappelez-vous : Ne vous embrouillez pas ici, le updater-script tel qu'il est montré, doit être laissé seul et tel quel, donc n'essayez pas de transformer le forward-slash en back slash si vous le faites sous l'environnement Windows.

Retourner au parent de la structure du répertoire, c'est-à-dire en dehors de répertoire de travail et faire ce qui suit, nous allons créer un fichier zip à partir de ça :

zip -r my_custom_flashable_boot_unsigned.zip workdir/ qui est une fonction récursive, cela va tout zipper dans le fichier appelé mon_custom_flashable_boot_unsigned.zip .

Enfin, pour signer le fichier zip, faites ceci :

java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip

Ensuite, il s'agit de le faire passer sur la carte SDCard comme dans adb push my_custom_flashable_boot_signed.zip /sdcard/ et aller manuellement dans la récupération et spécifier cette archive zip (i.e. mon_custom_flashable_boot_signed.zip ) dans lequel il effectuera le flashage pour vous.

0 votes

Joli, j'aime créer des choses moi-même, donc excellentes instructions. Ce n'est pas un point que j'aurai besoin de mon ordinateur pour cela, parce que je peux simplement obtenir des zips de démarrage flashable pour toutes mes ROMs sur un dossier de ma carte SD, ce qui conduira à la situation que je voulais.

2voto

Liam W Points 8336

Si vous avez le flash_image binaire, alors vous pouvez le faire sur l'appareil via l'émulateur de terminal (démarrage flash, puis le reste en utilisant la récupération).

Syntaxe : flash_image boot /sdcard/boot.img

L'heure de l'autopromotion

J'ai une application qui fournit une interface graphique pour le binaire. Trouvez-le aquí .

Si vous n'avez pas ce binaire, vous pouvez l'installer (cherchez sur Google - vous devez le télécharger puis le copier dans le dossier de l'utilisateur). /system/bin dossier.

Cela ne fonctionne pas sur tous les appareils, mais c'est le seul moyen qui me vient à l'esprit.

0 votes

Si je comprends bien, l'émulateur de terminal est juste une application ordinaire que vous exécutez lorsque votre téléphone est démarré en mode normal ? Cela ne posera-t-il pas de problèmes pour le démarrage en mode clignotant alors que le système d'exploitation est en cours d'exécution ?

1 votes

@MarioDeSchaepmeester Le téléphone n'utilise la fonction de démarrage que lorsqu'il démarre ;)

0 votes

J'ai dû le rétrograder, car flash_image doit être copié et invoqué à partir du combiné à l'aide de la fonction adb shell , documentation ( si je peux me permettre, vous n'avez pas fourni le lien !) demande de remonter la carte SDCard avec le bit exec activé (*mauvaise idée ) et exige Root, c'est-à-dire su En outre, l'"auto-promotion" par rapport à votre application, en euros, d'où je viens, est de 6,09 euros, ce qui est cher... fastboot est la norme, CM a sa propre façon de faire, - ce qui est différent avec fastboot y flash_image ?

0voto

alecxs Points 3105

Est-il possible de flasher cette image de démarrage avec TWRP [...] ?

renommer le fichier boot.emmc.win et le placer dans TWRP/BACKUPS/ (créez un nouveau dossier). restaurez la sauvegarde à partir du menu TWRP habituel

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