Включить консоль кадрового буфера в исходном коде ядра Android

Можно ли как-то включить консоль фреймбуфера в исходниках ядра android от samsung, чтобы видеть сообщения ядра, а не только bootlogo?

Для этого используйте приложение LiveBoot от Chainfire. Примечание: вам необходимо иметь рутированное устройство.
Я не могу использовать это, так как андроид не загружается. Он застрял на логотипе загрузки. Мне нужно что-то более низкоуровневое.
Ну тогда вам не повезло с внешними приложениями. Для этого вам понадобится специальное ядро/загрузчик. Я не думаю, что будет один для вашего устройства, хотя.
Когда вы говорите, что он застрял на логотипе загрузки, вы имеете в виду логотип загрузчика? Или вы имеете в виду, что андроид загрузился и он загружается? Если последнее, вам не нужна консоль фреймбуфера, вам нужен logcat .

Ответы (1)

Вы на самом деле не сказали, что именно вы пытались сделать, но если я правильно понимаю, и вы хорошо разбираетесь в пайке, похоже, вы можете найти контакты UART на своем устройстве, затем коснитесь этого и используйте последовательное подключение к вашему компьютеру для чтения вывода загрузчика (через minicom или какой-либо другой эмулятор терминала) и таким образом доступ к живой консоли. Вы также можете получить последовательные данные с USB во время загрузки.

Конечно, если вы просто застряли с незагружающейся системой и пытаетесь восстановить устройство, вы можете использовать odin/heimdall для перепрошивки вашего загрузочного образа (включая новое ядро) или установить собственный образ восстановления и использовать его для прошивки ROM с хорошим ядром.

Похоже, вы, возможно, намеренно возитесь со своими собственными собранными ядрами - может быть, чтобы перейти на новую базу ядра или что-то в этом роде? Если это так, альтернативой просмотру сообщений ядра на экране является включение PSTORE (замена /proc/last_kmesg на основе файловой системы), что позволит вам просматривать консоль dmesg/kernel + любые сообщения паники после неудачной загрузки на следующая перезагрузка (пока оперативная память не перезаписывается). Взгляните на этот пример из ядра trlte (Samsung Note 4), чтобы узнать, как реализовать его в более новых ядрах. (Если это более старое ядро, вам может понадобиться включить last_kmesg .)