Hay un par de maneras de hacerlo:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
- conecte el cable usb con el teléfono inteligente apagado. A continuación, ejecute el comando
adb logcat
desde tu terminal Windows cmd o Linux, se colgará esperando a que el dispositivo se conecte, ahora enciende el smartphone. El logcat debería empezar a desplazarse entonces.
Dado que ha expresado su interés por averiguar hasta dónde llega el teléfono en las etapas de arranque antes de que se bloquee esos métodos deberían ayudar. La cosa es que tienes que ser bastante rápido para agarrar el registro del kernel (los dos primeros métodos mostrados arriba).
Lo que yo haría es lo siguiente, en mi caja Arch Linux, dos Windows de terminal, uno para el adb logcat
y la otra, para coger el registro en cuanto logcat empiece a desplazarse.
Edita:
Tenga en cuenta que hay diferencias con el uso de adb
y fastboot
¡!
fastboot
funciona de manera diferente, sólo se utiliza para flashear imágenes en particiones especificadas, y está más ligado al proceso del cargador de arranque, es decir, puede entender el mecanismo del cargador de arranque. También requiere que:
- en Windows, privilegio de 'Administrador' para ejecutarlo
- en Linux, privilegio 'Root
La razón por la que lo requiere es porque puentea ciertas entradas/salidas del hardware, y por tanto, no "habla" en adb
sino "hablar" directamente con el cargador de arranque. Algo que no se puede hacer como usuario normal. Aquí está la ayuda para el uso de fastboot
.
$ sudo fastboot
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
-n <page size> specify the nand page size. default: 2048
Un uso bien conocido de fastboot
es para flashear, por ejemplo, para flashear una imagen de recuperación: sudo fastboot flash recovery recovery.img
otra es flashear directamente una imagen sin procesar, sudo fastboot flash system system.img
. Para más de para el caso del desarrollo del kernel, utilizando este fastboot boot new_kernel
, esto descarga temporalmente un nuevo kernel y arranca usando eso sin tocar el propio arranque del cargador de arranque.
También hay una limitación en el tamaño de una imagen en bruto que requiere ser flasheado, cuando digo imagen en bruto, me refiero a un archivo que tiene un .img
la imagen no debe superar los 128 Mb. ( ¡Descubrí esto cuando desarrollaba ics4blade, después de que la compilación se completara, el system.img era de 162Mb, e intenté flashearlo pero fastboot se negó! Para eludir la limitación, tuve que crear un archivo zip CWM flashable para hacerlo y evitarlo. )
Tenga cuidado y asegúrese de que la partición es correcta y vuelva a comprobarlo una y otra vez, si es necesario, aléjese del ordenador, tómese un descanso, vuelva de nuevo, y vuelva a comprobarlo otra vez, aquí es donde puede salir terriblemente mal, flashear el archivo equivocado en la partición equivocada... bueno se encoge de hombros
0 votos
Sé que empieza a escribir en el logcat muy pronto, pero eso se borra una vez que se reinicia. debería empezar a escribir tan pronto como muestra la "animación de arranque" (o tal vez incluso un poco antes).
3 votos
¿cómo acceder a logcat sin "adb"? Adb sólo funciona cuando el teléfono está en un estado estable, lo que contradice el punto entero supongo que en cuanto a por qué existe logcat (a quién le importa si el teléfono se inicia correctamente, no hay mucha necesidad de la herramienta).
0 votos
Adb es uno de los primeros servicios que se inician. si ves la animación de arranque, adb ya se está ejecutando. adb está disponible incluso cuando estás en modo de recuperación.
0 votos
No estoy seguro de ver la animación de arranque de la que hablas. Después de que el símbolo de la batería "carga", el teléfono se cuelga en la pantalla de inicio con "Google" en blanco en él antes de que se bloquee. No hay "Android" splashscreen después de eso, o cualquier animación de arranque. Así que no creo que ADB funciona todavía ...