1 votes

Récupérer les journaux avant que logcat n'ait démarré dans une boucle de démarrage.

Je suis en train de flasher une version modifiée d'aosp et le dispositif de démarrage boucle. Le problème est que "logcat" sur le téléphone ne fonctionne jamais, ce qui signifie que le problème est survenu plus tôt.

Existe-t-il un moyen d'accéder aux fichiers journaux générés depuis que les appareils ont démarré ? Je veux juste connaître la racine de l'erreur que j'ai causée.

Les modifications que je fais se situent au niveau du runtime en particulier, et je fais flasher sur l'appareil les images générées par l'aosp suivantes : fastboot flash cache cache.img fastboot flash system system.img fastboot flash userdata userdata.img fastboot flash boot boot.img

J'utilise un Nexus 6, sous Android Marshmallow (la plupart du code stock de 6.0.1_r31..r33), et l'image de démarrage est permissive avec la vérification désactivée.

1voto

goldy021 Points 41

vous pouvez rediriger les journaux du noyau pendant le démarrage en utilisant le port série USB.

Si le téléphone ne démarre même pas dans un état stable où les commandes ADB peuvent être utilisées, il peut être intéressant de rediriger les messages du noyau vers des endroits où ils peuvent être vus. Ceci afin de tirer parti de la commande "console=" du noyau.

Pour différents appareils, il peut y avoir différents ports vers lesquels les messages peuvent être redirigés. Si le port série de l'appareil est activé, on peut utiliser le port série. Sur les puces MSM, il existe un port UART qui peut être utilisé. Pour cela, on peut utiliser "console=ttyMSM2,115200n8" et la disponibilité du port peut être vérifiée dans "/dev" si on veut l'utiliser.

Actuellement, il existe une possibilité d'utiliser également les ports série USB. On peut vouloir vérifier s'ils fonctionnent sur l'appareil. Le port série USB est un port série logiciel émulé via l'interface USB. Il porte souvent le nom de "ttyUSB". "ou "ttyHSUSB*". Sur les appareils Android, si l'on voit "ttyUSB*", il peut s'agir de ports fournis par les pilotes de gadgets USB (/kernel/drivers/usb/gadget), qui peuvent être utilisés comme console (add console=ttyUSB0,9600n8). Si on voit "ttyHSUSB*", ils peuvent être un peu différents. Ils peuvent être fournis par les pilotes USB de la plateforme MSM, et certains peuvent ne pas encore supporter la "console". Pour les lecteurs curieux, afin d'être utilisé comme une console, un pilote de périphérique doit s'enregistrer comme fournisseur de console en appelant register_console dans kernel/printk.c, et il doit fournir des callbacks pour que printk écrive des messages du noyau. Ainsi, le développeur du pilote de périphérique devrait explicitement supporter ceci pour que le pilote de périphérique soit utilisé comme une console.

wikidot a un article informatif à ce sujet http://bootloader.wikidot.com/linux:Android:kmsg

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