ARM64 デバイスでビルド ASOP (automotiv/car 関連のパッケージを含む) を実行しようとしています。車の部品なしで、デバイス上で 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
です。
高く評価される2つのこと
- これが発生する理由とそれを軽減する方法へのポインタ
- すべてのログを永続化する方法に関する指示 (起動中に何か問題が発生したかどうかを分析できるようにするため)、次のようにカスタムの 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"