1 votes

S'agit-il d'une brique dure ?

Je pense avoir fait disjoncter mon appareil (Huawei G330, U8225-1). J'étais en train de pousser adb quand j'ai reçu un "push failed : no space left on device". Le téléphone démarre en recovery, j'ai Root mais le bootloader est verrouillé.

Si j'essaie de pousser une mise à jour vers SDCARD/dload, il me dit "no such file or directory", si j'essaie d'adb shell, il me dit "exec '/system/bin/sh' failed : Permission denied (13) -"

Que puis-je faire ?

2voto

Nick Pierpoint Points 7976

Il s'agit d'une brique molle, pour les raisons exposées ci-dessous :

  • Le combiné est toujours sous tension
  • adb répond
  • l'appareil reconnaît le câble usb branché (comment avez-vous pu utiliser l'adb autrement ?)
  • le combiné reconnaît la carte sdcard

Regardez cette question pour connaître la réponse d'Izzy. répondre sur ce qui est considéré comme une "brique".

Quelque chose a mal tourné et l'environnement de récupération s'en est trouvé perturbé... Pourriez-vous nous donner un peu plus de détails ?

Editer

D'après les commentaires ci-dessous, il apparaît que l'OP a poussé sur le fichier binaire du shell sh de la racine du téléphone (soit en l'écrasant, soit en ayant des permissions incorrectes) et s'est retrouvé "bloqué" dans l'exécution des commandes shell et a échoué.

Par ailleurs, il n'est pas possible de définir l'autorisation en tant qu'élément de la catégorie sh l'interpréteur n'a pas les permissions appropriées pour le bit exécutable ! L'exécution d'une commande sur ce bit entraînera donc échouer .

La seule solution consiste à recharger l'image de récupération directement sur la partition de récupération, en passant en mode fastboot sur l'appareil, en général Power + Volume up Pour cela, il faut utiliser un binaire fastboot qui doit être saisi soit dans le terminal de Linux, soit dans le cmd de Windows, c'est-à-dire deux environnements de système d'exploitation, choisissez celui que vous préférez :

Linux

sudo fastboot flash recovery recovery.img

Fenêtres

fastboot-win flash recovery recovery.img

Cela rétablira l'environnement de récupération et l'interpréteur de commandes devrait alors fonctionner à partir de l'environnement de récupération. adb shell lors du prochain démarrage de la récupération.

0voto

Firelord Points 23064

J'ai éteint mon système en maintenant le bouton d'alimentation pendant quelques secondes (j'ai ignoré la boîte de dialogue d'alimentation à l'écran) et après avoir démarré sous Android (4.2.1), j'ai commencé à recevoir l'erreur :

- exec '/system/bin/sh' failed: Permission denied (13) nRet(-1) 

en essayant d'exécuter adb shell . Je n'ai pas non plus pu me connecter à Android via le réseau en utilisant le shell SSH, car la connexion s'est interrompue juste après la saisie des informations d'identification.

Qui plus est ? Les applications n'ont pas pu obtenir l'accès à la racine (non accordé), ce qui donne l'impression que l'appareil a été déraciné.

En raison de la nature même de l'erreur, j'ai soupçonné un problème d'autorisation de dépouillement et, comme j'avais heureusement installé une récupération personnalisée, j'ai démarré dans cette dernière.

  1. La récupération TWRP dispose d'une option permettant de corriger les autorisations. Je ne sais pas si cela peut rectifier le problème, mais comme j'ai installé CWM, je suis passé à l'étape suivante.

  2. J'ai monté System et est entré adb shell .

  3. La course à pied ls -l /system/bin/sh a donné lieu à :

    lrwxrwxrwx    1 root     root             4 Jun 26 12:47 sh -> mksh

    Il semble que sh a la permission d'exécuter pour tout le monde mais c'est un lien symbolique donc j'ai procédé pour le binaire réel ( mksh ).

  4. La course à pied ls -l /system/bin/mksh a donné lieu à :

    -rw-rw-rw-    1 root     shell       157456 Apr 24  2013 mksh

    On peut constater que peu de x sont manquantes, c'est-à-dire que le fichier n'a pas le droit d'être exécuté par qui que ce soit.

  5. J'ai couru chmod +x /system/bin/mksh et le résultat final de ls -l /system/bin/mksh était :

    -rwxrwxrwx root     shell      157456 2013-04-24 13:48 mksh

    J'ai supposé que mksh est la seule cause de l'erreur "Permission refusée", j'ai donc cherché à savoir si l'accès à la racine n'était pas accordé.

  6. Plutôt que d'essayer de trouver et de résoudre le problème, j'ai flashé su binaires à nouveau en utilisant l'option intégrée de CWM.

  7. J'ai démarré Android et tout est redevenu normal :)

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