Отладка загрузки Android: Init завершается циклом OnBootPhase_XXX (Android-13 на Qemu/Virtual Platform)

Я новичок в запуске Android, загрузка ядра кажется успешной, и мы получаем приглашение консоли, но помимо этого logcat не показывает, что может сдерживать загрузку Android-13.

Что касается программного обеспечения, у нас есть установка для успешной сборки Android-12 для нашего конкретного обеденного меню и спецификации устройства (на основе arm64). Для Android-13 мы использовали ту же настройку и указали на следующие исходные ветки.

ANDROID_BRANCH=android-13.0.0_r18KERNEL_BRANCH=общий-android13-5.10-2022-12

Трассировка консоли заканчивается в цикле OnBootPhase_XXX, который постоянно увеличивается с одинаковым повторением выходных данных. В трассировке не выделяется ничего очевидного, например фатальные ошибки.

      01-17 12:43:14.120  2587  2587 I SystemServiceManager: Starting phase 500
01-17 12:43:14.122  2587  2587 D SystemServerTiming: OnBootPhase_500
01-17 12:43:14.124  2587  2587 D SystemServerTiming: OnBootPhase_500_com.android.server.security.FileIntegrityService
01-17 12:43:14.125  2587  2587 V SystemServerTiming: OnBootPhase_500_com.android.server.security.FileIntegrityService took to complete: 0ms
01-17 12:43:14.127  2587  2587 D SystemServerTiming: OnBootPhase_500_com.android.server.pm.Installer
01-17 12:43:14.129  2587  2587 V SystemServerTiming: OnBootPhase_500_com.android.server.pm.Installer took to complete: 0ms
01-17 12:43:14.130  2587  2587 D SystemServerTiming: OnBootPhase_500_com.android.server.os.DeviceIdentifiersPolicyService
01-17 12:43:14.132  2587  2587 V SystemServerTiming: OnBootPhase_500_com.android.server.os.DeviceIdentifiersPolicyService took to complete: 0ms
01-17 12:43:14.134  2587  2587 D SystemServerTiming: OnBootPhase_500_com.android.server.uri.UriGrantsManagerService$Lifecycle
01-17 12:43:14.161  2587  2587 V SystemServerTiming: OnBootPhase_500_com.android.server.uri.UriGrantsManagerService$Lifecycle took to complete: 26ms
01-17 12:43:14.163  2587  2587 D SystemServerTiming: OnBootPhase_500_com.android.server.powerstats.PowerStatsService
01-17 12:43:14.172  2587  2587 E StatsPullAtomCallbackImpl: Failed to start PowerStatsService statsd pullers

В конце концов следующая строка в трассировке дает намек на то, что он сдался.

      01-17 12:44:30.645  2160  2791 I keystore2: keystore2::watchdog: Watchdog thread idle -> terminating. Have a great day.

Каков обычный процесс отладки Android Init-Loop с использованием вывода трассировки Console/Logcat?

Поскольку мы можем перестроить программный стек, в какое место в коде лучше всего добавить трассировку, чтобы сузить проблему?

Можем ли мы пропустить исправление или патч, когда мы извлекаем исходные коды непосредственно из исходных ветвей Android android-13.0.0_r18 и ветки ядра common-android13-5.10-2022-12?

Может ли быть принципиальное различие между Android-12 и Android-13, которое может потребовать обновления спецификации устройства? Я сравнил характеристики устройства google/cuttlefish между 12 и 13, но ничего не заметил.

Любые комментарии/предложения высоко ценятся

1 ответ

Я на самом деле наткнулся на это через Google, так как столкнулся с похожей ситуацией. Моя система доходит только до OnBootPhase_200 и зависает. На самом деле я использую SoC на базе Arm64 с Android-12. Я могу загрузить эту систему на одном устройстве, но тот же образ на другом с очень похожими характеристиками застревает. В настоящее время я думаю, что это может быть связано с ядром, поскольку ядра между устройствами не совсем одинаковы.

Если вам это удалось, я был бы очень признателен за любые советы о том, как вы смогли устранить проблему!

Другие вопросы по тегам