我正在尝试在 ARM64 设备上运行构建 ASOP(包括与汽车/汽车相关的软件包)。我已经设法在没有汽车部件的设备上构建和运行 Android 11。使用包含的汽车部件构建和启动设备工作正常,但它在启动时卡住(同时显示启动动画)。本质上,问题似乎是 iorapd 失败(然后重试连接)到包管理器。留下的墓碑上填满了以下内容
ABI: 'arm64'
Timestamp: 1970-01-01 00:06:10+0000
pid: 252, tid: 252, name: iorapd >>> /system/bin/iorapd <<<
uid: 1071
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'Fail to create version map in 60000 milliseconds. Reason: Failed to connect to package manager service. Is system_server down?'
--------- log system
01-01 00:00:06.704 252 252 I iorapd : iorapd (the prefetchening) firing up
01-01 00:00:06.744 252 252 E iorapd : SQLite error (14): cannot open file at line 38589 of [b2325a6e1c]
01-01 00:00:06.744 252 252 E iorapd : SQLite error (14): os_unix.c:38589: (2) open(/data/misc/iorapd/sqlite.db) -
01-01 00:00:08.490 252 252 I iorapd : Reinitialized database at '/data/misc/iorapd/sqlite.db'
01-01 00:00:08.491 252 252 W iorapd : Reconnect to package manager service: 1 times
01-01 00:00:13.566 252 252 E iorapd : Cannot get package manager service!
01-01 00:00:14.567 252 252 W iorapd : Reconnect to package manager service: 2 times
01-01 00:00:19.598 252 252 E iorapd : Cannot get package manager service!
01-01 00:00:20.598 252 252 W iorapd : Reconnect to package manager service: 3 times
...
01-01 00:06:03.508 252 252 E iorapd : Cannot get package manager service!
01-01 00:06:04.508 252 252 W iorapd : Reconnect to package manager service: 60 times
01-01 00:06:09.540 252 252 E iorapd : Cannot get package manager service!
01-01 00:06:10.541 252 252 F iorapd : package_manager_remote.cc:118] Fail to create version map in 60000 milliseconds. Reason: Failed to connect to package manager service. Is system_server down?
--------- log main
01-01 00:02:25.885 252 252 I ServiceManager: Waiting for service 'package_native' on '/dev/binder'...
01-01 00:02:25.986 252 252 I ServiceManager: Waiting for service 'package_native' on '/dev/binder'...
01-01 00:02:26.187 252 252 I ServiceManager: Waiting for service 'package_native' on '/dev/binder'...
01-01 00:02:26.288 252 252 W ServiceManager: Service package_native didn't start. Returning NULL
构建 (mk) 文件在很大程度上在非汽车版本(有效)和汽车版本(无效)之间是通用的 - 都继承product/core_64_bit_only.mk
并添加了所有设备特定的配置。
不同之处在于非汽车构建继承device/google/atv/products/atv_base.mk
而汽车构建继承packages/services/Car/car_product/build/car.mk
。
两件事将不胜感激
- 关于为什么会发生这种情况以及如何减轻它的任何指示
- 关于如何使所有日志持久化的任何说明(这样我就可以分析在启动过程中是否出现其他问题),我尝试将自定义 init.log.rc 添加到 vendor/etc/init/hw 中,但是它似乎并没有让 logcat 实际上持久化日志
on post-fs-data
exec -- touch /data/bootchart/enabled
setprop logd.logpersistd.enable true
setprop logd.logpersistd persist
setprop persist.logd.logpersistd "logcatd"