これを行うには、いくつかの方法があります。
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
- スマートフォンの電源を切った状態でUSBケーブルを差し込みます。次に
adb logcat
、Windows cmdまたはLinuxターミナルからコマンドを発行します。デバイスがオンラインになるのを待ってハングし、スマートフォンの電源が入ります。その後、logcatがスクロールを開始します。
クラッシュする前に自分の電話がブートステージにどれだけ到達するかを把握することに興味を示したので、これらの方法が役立ちます。問題は、カーネルのログ(上記の最初の2つの方法)をすばやく取得する必要があることです。
私がやることは、これは私のArch Linuxボックスで、2つのターミナルウィンドウです。1つは、もう1つadb logcat
はログを取得するためにlogcatがスクロールを開始します!
編集:
注意してください、とを使用するadb
と違いがありfastboot
ます!
fastboot
動作が異なり、指定されたパーティションにイメージをフラッシュするためにのみ使用され、ブートローダープロセスとより密接に関係しています。つまり、ブートローダーメカニズムを理解できます。また、以下も必要です。
- Windowsでは、それを実行する「管理者」権限
- Linuxでは、「root」権限
それが必要な理由は、ハードウェアの特定の入出力をバイパスし、したがってadb
プロトコルで「話す」のではなく、むしろ、ブートローダーと直接「話す」ためです。通常のユーザーとしてはできないこと。の使用法のヘルプを次に示します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
よく知られている用途はfastboot
、たとえばリカバリイメージをフラッシュするためのフラッシュですsudo fastboot flash recovery recovery.img
。別の方法は、生のイメージを直接フラッシュすることsudo fastboot flash system system.img
です。これを使用したカーネル開発の場合fastboot boot new_kernel
、これは一時的に新しいカーネルをダウンロードし、ブートローダーのブートに触れることなくそれを使用してブートします。
また、フラッシュする必要がある未加工画像のサイズには制限があります。未加工画像と言うとき、.img
拡張子を持つファイルを指します。画像は128MBを超えてはなりません。(ics4bladeの開発時にこれを見つけました。ビルドが完了した後、system.imgは162Mbでしたが、フラッシュしようとしましたが、fastbootは拒否されました!それ!)
注意を練習し、パーティションが正しいことを確認し、必要に応じて再度ダブルチェックとダブルチェックを行い、必要に応じてコンピューターから離れ、休憩を取り、再び戻って、もう一度ダブルチェックします。間違ったパーティションに間違ったファイルをフラッシュ...よく肩をすくめ