dmesg
appelle la bibliothèque C klogctl
pour la fonction d'encapsulation du noyau syslog
syscall qui lit le tampon circulaire du noyau en accédant à /dev/kmsg
dispositif de caractères. adb shell dmesg
renvoie une erreur de type "permissions refusées" car adbd
qui fonctionne avec le contexte u:r:shell:s0
n'est pas autorisé par SELinux à lire le journal du noyau. Vous devez l'autoriser explicitement ( nécessite une racine ):
~# supolicy --live 'allow shell kernel system syslog_read'
Si la propriété ro.logd.kernel
est réglé sur true
(par défaut sur debuggable
), le démon de journalisation d'Android ( logd
) écrit les messages du noyau dans un tampon séparé nommé kernel
qui peut être lu en utilisant logcat
( ne nécessite pas de racine ):
~$ logcat -b kernel