dmesg
llama a la biblioteca C klogctl
función de envoltura para el kernel syslog
syscall que lee el ring buffer del kernel accediendo a /dev/kmsg
dispositivo de carácter. adb shell dmesg
devuelve un error de permisos denegados porque adbd
que se ejecuta con el contexto u:r:shell:s0
no está permitido por SELinux para leer el registro del kernel. Es necesario permitirlo explícitamente ( requiere de Root ):
~# supolicy --live 'allow shell kernel system syslog_read'
Si la propiedad ro.logd.kernel
se ajusta a true
(por defecto en debuggable
), el demonio de registro de Android ( logd
) escribe los mensajes del kernel en un buffer separado llamado kernel
que se puede leer con logcat
( no requiere Root ):
~$ logcat -b kernel