Estou tentando descobrir se o Android (por exemplo, Galaxy Nexus, Nexus S e / ou Motorola Xoom) vem com algum tipo de capacidade para produzir um log de "inicialização". (como a tela de inicialização do Linux) Seria imensamente útil para descobrir até que ponto o telefone chega aos estágios de inicialização antes de travar (como o carregador de inicialização de primeiro estágio, o carregador de inicialização principal, o carregamento do kernel etc.). Alguém sabe como habilitar o telefone para cuspir esse arquivo de log ou ativar o modo de inicialização "detalhado" (e imprimir mensagens reais no terminal do computador Linux ao qual o telefone está conectado)?
Meu telefone fica preso em um "loop de inicialização" com minha versão modificada atual e eu gostaria de depurá-lo, se possível.
Como alternativa, alguém conhece algum recurso ou tutorial útil que explique como "hackear" o telefone com facilidade (sem mexer no hardware)? Ou de algum fórum em que minha pergunta possa ter sido feita, mas de uma forma mais obscura?
Este tem sido um problema frustrante recentemente, portanto qualquer ajuda seria muito apreciada!
fonte
Respostas:
Existem algumas maneiras de fazer isso:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
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
efastboot
!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: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 defastboot
.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 brutasudo fastboot flash system system.img
,. Para mais informações sobre o caso do desenvolvimento do kernel, usando issofastboot 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
fonte
cache
edata
- eu não sou responsável por nada indesejável se você prosseguir! E tente atualizar a ROM novamente através do CWM. Ainda melhor , esquecer fastboot e usar CWM para limpar tanto o cache e os dados , parece que o bootloop é devido a um cache ou dados borked ...Você pode usar o LiveBoot. Está na Google Play Store. Ele fará exatamente o que você está perguntando.
fonte