1 votes

Le Shell est complètement borked, la boîte à outils prétend que "cet outil n'existe pas".

HTC Magic, rooté avec CyanogenMod 5. J'ai essayé d'installer busybox en utilisant "Busybox Installer" depuis le Market, et je me suis retrouvé avec un système étrangement borked. Android ne démarre pas, se fige sur l'écran d'accueil. Le shell ADB, cependant, fonctionne. Par contre, presque aucune des commandes ne fonctionne.

Le fichier busybox est dans /system/xbin, il semble. Cependant, chaque fois que je l'appelle, j'obtiens "Permission refusée". Même après sudo.

L'exécution de commandes courantes comme ls, cp, ln donne le même message d'erreur : "permission denied". Il semble qu'il s'agisse de liens symboliques vers busybox, qui est défectueux, voir ci-dessus.

/system/bin/toolbox est là, mais il refuse d'exécuter la plupart des commandes utiles avec un message uniforme "No such tool". Ls, cp, mount, chmod, chown - "No such tool". Expérimentalement, j'ai trouvé que set, ps, kill, reboot fonctionnent. Existe-t-il une liste des commandes de la boîte à outils ?

Le seul message pertinent dans logcat est "02-02 01:36:38.280 : E/logwrapper(61) : l'exécution de /system/xbin/busybox a échoué : Permission refusée". Je le savais un peu.

Je peux écrire sur la carte SD. Y a-t-il un moyen de reflasher la busybox tout en la rendant exécutable ?

Y a-t-il un fichier exécutable quelque part dans /data, de sorte que je puisse y pousser une copie de busybox ?

Je peux redémarrer en mode de récupération, qui est le propre mode de récupération d'Android.

Une idée pour remettre le système en état de marche ? Le téléphone est un téléphone à scratch, donc la perte de données n'est pas un problème - il n'y a pas de bonnes données.

Il semble que rendre busybox exécutable d'une manière ou d'une autre ramènerait tout. Mais je ne sais absolument pas comment faire. Et je suis plutôt surpris que toolbox ne supporte pas chmod.

EDIT : point de données amusant. Quand je démarre en mode récupération, je peux toujours utiliser le shell ADB. Et j'ai un environnement complètement différent - il y a une ligne de commande avec ls, busybox ( !) et d'autres choses. /system est presque vide. À partir de cet environnement, puis-je revenir au /system normal ? La commande mount est disponible.

1voto

Seva Alekseyev Points 231

Yay, le téléphone démarre à nouveau.

Voici la recette magique.

Boot into recovery.
adb shell
mkdir /data/s
mount -o rw -t yaffs2 /dev/block/mtdblock3 /data/s
chmod 755 /data/s/xbin/busybox
Reboot the phone.

Ma coquille est de retour. Il y a une bizarrerie maintenant - ls (de la busybox, on suppose) pense que ADB est un terminal ANSI et essaie d'émettre des séquences d'échappement ANSI. Quand même, yay.

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