Ci sono un paio di modi per farlo:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
- collegare il cavo USB con lo smartphone spento. Quindi emetti il comando
adb logcat
dal tuo cmd di Windows o dal tuo terminale Linux, si bloccherà in attesa che il dispositivo diventi online, ora accendi lo smartphone. Il logcat dovrebbe quindi iniziare a scorrere via.
Dal momento che hai espresso interesse a capire fino a che punto il telefono arriva nelle fasi di avvio prima che si blocchi , questi metodi dovrebbero aiutare. Il fatto è che devi essere abbastanza veloce per prendere il registro del kernel (i primi due metodi mostrati sopra).
Quello che vorrei fare è questo, sulla mia scatola di Arch Linux, due finestre di terminale, una per adb logcat
l'altra, per afferrare il registro nel momento in cui Logcat inizia a scorrere via!
Modificare:
ATTENZIONE, ci sono differenze nell'uso adb
e fastboot
!
fastboot
funziona in modo diverso, viene utilizzato solo per eseguire il flashing delle immagini in partizioni specifiche ed è più legato al processo del caricatore di avvio, ovvero può comprendere il meccanismo del caricatore di avvio. Richiede inoltre che:
- in Windows, privilegio "Amministratore" per eseguirlo
- sotto Linux, privilegio 'root'
La ragione per cui lo richiede è perché ignora determinati input / output dell'hardware, e quindi non "parla" nel adb
protocollo, ma piuttosto "parla" direttamente con il bootloader. Qualcosa che non può essere fatto come un normale utente. Ecco l'aiuto per l'uso di 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 noto l'utilizzo di fastboot
è per lampeggiante per esempio, a lampeggiare un'immagine di ripristino: sudo fastboot flash recovery recovery.img
, un altro è a lampeggiare direttamente un'immagine grezza, sudo fastboot flash system system.img
. Per di più per il caso dello sviluppo del kernel, usando questo fastboot boot new_kernel
, questo scarica temporaneamente un nuovo kernel e si avvia usando quello senza toccare l'avvio del bootloader.
C'è anche una limitazione sulla dimensione di un'immagine non elaborata che richiede il flashing, quando dico immagine non elaborata, mi riferisco a un file con .img
estensione, l'immagine non deve superare 128 Mb. (L' ho scoperto durante lo sviluppo di ics4blade, dopo che la compilazione è stata completata, system.img era 162Mb e ho provato a scaricarlo ma l'avvio rapido ha rifiutato! Per aggirare la limitazione, ho dovuto creare un file zip flashable CWM per farlo e aggirare esso! )
Presta attenzione e assicurati che la partizione sia corretta e ricontrolla e ricontrolla di nuovo, se necessario, allontanati dal computer, fai una pausa, torna di nuovo e ricontrolla di nuovo, questo è dove può andare terribilmente sbagliato, lampeggia il file sbagliato nella partizione sbagliata ... beh, fa spallucce