Отладка загрузки 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. Я могу загрузить эту систему на одном устройстве, но тот же образ на другом с очень похожими характеристиками застревает. В настоящее время я думаю, что это может быть связано с ядром, поскольку ядра между устройствами не совсем одинаковы.
Если вам это удалось, я был бы очень признателен за любые советы о том, как вы смогли устранить проблему!