Existem algumas maneiras de fazer isso:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
- conecte o cabo usb com o smartphone desligado. Em seguida, emita o comando
adb logcat
no seu cmd do Windows ou no terminal Linux, ele ficará parado aguardando o dispositivo entrar on-line, agora ligue o telefone inteligente. O logcat deve começar a rolar então.
Como você manifestou interesse em descobrir até que ponto o telefone fica nos estágios de inicialização antes de ele cair , esses métodos devem ajudar. A questão é que você precisa ser muito rápido para pegar o log do kernel (os dois primeiros métodos mostrados acima).
O que eu faria é na minha caixa do Arch Linux duas janelas de terminal, uma para adb logcat
a outra, para pegar o log no minuto em que o logcat começa a rolar!
Editar:
Esteja ciente, há diferenças no uso de adb
e fastboot
!
fastboot
funciona de maneira diferente, é usado apenas para exibir imagens em partições especificadas e está mais ligado ao processo do carregador de inicialização, ou seja, ele pode entender o mecanismo do carregador de inicialização. Também requer que:
- no Windows, privilégio de 'Administrador' para executá-lo
- no Linux, privilégio 'root'
A razão pela qual isso requer é que ele ignora determinadas entradas / saídas do hardware e, portanto, não "fala" no adb
protocolo, mas sim "conversa" diretamente com o carregador de inicialização. Algo que não pode ser feito como um usuário normal. Aqui está a ajuda para o 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
Um uso bem conhecido de fastboot
é para piscar, por exemplo, para piscar uma imagem de recuperação:, sudo fastboot flash recovery recovery.img
outro é piscar diretamente uma imagem bruta sudo fastboot flash system system.img
,. Para mais informações sobre o caso do desenvolvimento do kernel, usando isso fastboot boot new_kernel
, ele baixa temporariamente um novo kernel e inicializa usando sem tocar na própria inicialização do carregador de inicialização.
Também há uma limitação no tamanho de uma imagem não processada que precisa ser exibida, quando digo imagem não processada, estou me referindo a um arquivo que possui uma .img
extensão, a imagem não deve exceder 128Mb. ( Descobri isso ao desenvolver o ics4blade, após a conclusão da compilação, o system.img tinha 162Mb e tentei fazer o flash, mas a inicialização rápida se recusou! Para contornar a limitação, foi necessário criar um arquivo zip CWM flexível para fazer isso e contornar isso! )
Tome cuidado e verifique se a partição está correta e verifique novamente e verifique novamente, se necessário, afaste-se do computador, faça uma pausa, volte novamente e verifique novamente, é aqui que pode ocorrer algo terrivelmente errado, piscar o arquivo errado na partição errada ... bem encolhe os ombros