Я пытаюсь выяснить, есть ли у Android (т. е. Galaxy Nexus, Nexus S и/или Motorola Xoom) какая-то возможность создавать журнал «загрузки». (что-то вроде загрузочного экрана Linux). Было бы очень полезно выяснить, как далеко ваш телефон продвинулся на этапах загрузки до того, как он выйдет из строя (например, загрузчик первого этапа, основной загрузчик, затем загрузка ядра и т. д.). Кто-нибудь знает, как заставить телефон выдавать этот файл журнала или включить «подробный» режим загрузки (и распечатать фактические сообщения на терминале компьютера с Linux, к которому подключен телефон)?
Мой телефон застревает в «цикле загрузки» с моей текущей модифицированной сборкой, и я хотел бы отладить ее, если это возможно.
В качестве альтернативы, кто-нибудь знает какие-либо полезные ресурсы или учебные пособия, которые объясняют, как легко «взломать» телефон, чтобы сделать это (без возни с оборудованием)? Или каких-то форумов, где мой вопрос мог быть задан, но в более неясной форме?
Это была неприятная проблема в последнее время, поэтому любая помощь будет принята с благодарностью!
Есть несколько способов сделать это:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
adb logcat
с вашего терминала Windows cmd или Linux, он зависнет в ожидании подключения устройства к сети, теперь включите смартфон. Затем логарифм должен начать прокручиваться.Поскольку вы выразили заинтересованность в выяснении того, как далеко продвинулся ваш телефон на этапах загрузки до того, как он выйдет из строя , эти методы должны помочь. Дело в том, что вам нужно быть довольно быстрым, чтобы получить журнал ядра (первые два метода, показанные выше).
Что бы я сделал, так это на моем компьютере с Arch Linux два окна терминала, одно для adb logcat
, другое для захвата журнала в ту минуту, когда logcat начинает прокручиваться!
Редактировать:
ВНИМАНИЕ, существуют различия в использовании adb
и fastboot
!
fastboot
работает по-другому, он используется только для прошивки образов в указанные разделы и больше связан с процессом загрузчика, т.е. он может понять механизм загрузчика. Также требуется, чтобы:
Причина, по которой он требуется, заключается в том, что он обходит определенный ввод/вывод аппаратного обеспечения и, таким образом, не «разговаривает» по 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
расширением, образ не должен превышать 128 Мб. ( Я это обнаружил при разработке ics4blade, после завершения сборки system.img был 162Mb, и я пытался его прошить, но fastboot отказывался! Чтобы обойти ограничение, пришлось создать CWM-прошиваемый zip-файл, чтобы сделать это и обойти это! )
Соблюдайте осторожность и убедитесь, что раздел правильный, и перепроверьте и перепроверьте еще раз, если необходимо, отойдите от компьютера, сделайте перерыв, вернитесь снова и снова перепроверьте, вот где это может пойти ужасно неправильно, прошить не тот файл не в тот раздел... хорошо пожимает плечами
cache
и data
раздел через fastboot - я не несу ответственности за что-либо неблагоприятное, если вы продолжите! И попробуйте еще раз прошить ROM через CWM. Еще лучше , забудьте о fastboot и используйте CWM для очистки кеша и данных , похоже, что бутлуп происходит из-за неработающего кеша или данных...fastboot
не всегда требует root-доступа, по крайней мере, не в некоторых дистрибутивах Linux. Вы можете просто поручить людям использовать sudo или администратора, если им будет отказано в разрешении.Вы можете использовать LiveBoot. Это в магазине Google Play. Он будет делать именно то, что вы просите.
Вы можете войти в режим восстановления на этом экране, он позволяет вам получить доступ к нескольким файлам журнала, к которым вы не можете получить доступ после загрузки телефона. То, что вы пытаетесь устранить, будет в этих предзагрузочных журналах.
Райан Конрад
9ExceptionThrower9
Райан Конрад
9ExceptionThrower9