I am trying to create a super.img using an Android 11 vendor image and a pure Android 13 system image. I am using the merge_target_files tool in the system build area followed by build_super_image tool.
However the host_init_verifier errors out, it appears that the init rc files from the vendor refer to hidl interfaces that the host_init_verifier doesn't know anything about. Based on some digging it appears that during the system build a tool generates a c++ file from hidl_inheritance_hierarchy.json which contains and embedded list of known hidl interfaces and is statically compiled into the host_init_verifier itself. Since I am using a pure Android 13 system build I am not sure how it would ever know about custom vendor interfaces reference in the vendor init file. If I hack the host_init_verifier file interface_utils.cpp to not perform the hidl interface check then the merge proceeds but that doesn't seem like the correct solution. Maybe I need to get hidl_inheritance_hierarchy.json to contain all the custom vendor interfaces? I am not sure if that is the correct approach or how to do that. -- Jacob Here is the relevant part of the error: 2023-04-28 22:49:47 - common.py - INFO : Running: "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/host_init_verifier --out_system /tmp/merge_target_files_50lso94e/output/SYSTEM --property-contexts=/tmp/merge_target_files_50lso94e/output/SYSTEM/etc/selinux/plat_property_contexts -p /tmp/merge_target_files_50lso94e/output/SYSTEM/etc/passwd --out_vendor /tmp/merge_target_files_50lso94e/output/VENDOR --property-contexts=/tmp/merge_target_files_50lso94e/output/VENDOR/etc/selinux/vendor_property_contexts -p /tmp/merge_target_files_50lso94e/output/VENDOR/etc/passwd --out_product /tmp/merge_target_files_50lso94e/output/PRODUCT -p /tmp/merge_target_files_50lso94e/output/PRODUCT/etc/passwd --out_system_ext /tmp/merge_target_files_50lso94e/output/SYSTEM_EXT -p /tmp/merge_target_files_50lso94e/output/SYSTEM_EXT/etc/passwd --out_odm /tmp/merge_target_files_50lso94e/output/VENDOR/odm -p /tmp/merge_target_files_50lso94e/output/VENDOR/odm/etc/passwd" 2023-04-28 22:49:47 - common.py - INFO : Running: "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/secilc -m -M true -G -N -c 30 -o /tmp/merge_target_files_50lso94e/output/META/combined_sepolicy -f /dev/null /tmp/merge_target_files_50lso94e/output/SYSTEM/etc/selinux/plat_sepolicy.cil /tmp/merge_target_files_50lso94e/output/SYSTEM/etc/selinux/mapping/30.0.cil /tmp/merge_target_files_50lso94e/output/VENDOR/etc/selinux/vendor_sepolicy.cil /tmp/merge_target_files_50lso94e/output/VENDOR/etc/selinux/plat_pub_versioned.cil /tmp/merge_target_files_50lso94e/output/SYSTEM/etc/selinux/mapping/30.0.compat.cil" 2023-04-28 22:49:48 - merge_target_files.py - ERROR : Failed to run command '['host_init_verifier', '--out_system', '/tmp/merge_target_files_50lso94e/output/SYSTEM', '--property-contexts=/tmp/merge_target_files_50lso94e/output/SYSTEM/etc/selinux/plat_property_contexts', '-p', '/tmp/merge_target_files_50lso94e/output/SYSTEM/etc/passwd', '--out_vendor', '/tmp/merge_target_files_50lso94e/output/VENDOR', '--property-contexts=/tmp/merge_target_files_50lso94e/output/VENDOR/etc/selinux/vendor_property_contexts', '-p', '/tmp/merge_target_files_50lso94e/output/VENDOR/etc/passwd', '--out_product', '/tmp/merge_target_files_50lso94e/output/PRODUCT', '-p', '/tmp/merge_target_files_50lso94e/output/PRODUCT/etc/passwd', '--out_system_ext', '/tmp/merge_target_files_50lso94e/output/SYSTEM_EXT', '-p', '/tmp/merge_target_files_50lso94e/output/SYSTEM_EXT/etc/passwd', '--out_odm', '/tmp/merge_target_files_50lso94e/output/VENDOR/odm', '-p', '/tmp/merge_target_files_50lso94e/output/VENDOR/odm/etc/passwd']' (exit code 1): host_init_verifier: /tmp/merge_target_files_50lso94e/output/VENDOR/etc/init/[email protected]_64.rc: 18: Interface is not in the known set of hidl_interfaces: '[email protected]::IPostProcService'. Please ensure the interface is spelled correctly and built by a hidl_interface target. host_init_verifier: /tmp/merge_target_files_50lso94e/output/VENDOR/etc/init/android.hardware.wifi.supplicant-service.rc: 3: Interface is not in the known set of hidl_interfaces: '[email protected]::ISupplicantVendor'. Please ensure the interface is spelled correctly and built by a hidl_interface target. Interface is not in the known set of hidl_interfaces: '[email protected]::ISupplicantVendor'. Please ensure the interface is spelled correctly and built by a hidl_interface target. Interface is not in the known set of hidl_interfaces: '[email protected]::ISupplicantVendor'. Please ensure the interface is spelled correctly and built by a hidl_interface target. ... more errors ... host_init_verifier: Failed to parse init scripts with 13 error(s). Traceback (most recent call last): File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/internal/stdlib/runpy.py", line 196, in _run_module_as_main File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/internal/stdlib/runpy.py", line 86, in _run_code File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/__main__.py", line 12, in <module> File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/internal/stdlib/runpy.py", line 196, in _run_module_as_main File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/internal/stdlib/runpy.py", line 86, in _run_code File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/merge_target_files.py", line 611, in <module> File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/merge_target_files.py", line 602, in main File "/home/jacob/work/platforms/qcmdevice/aosp/out/host/linux-x86/bin/merge_target_files/merge_target_files.py", line 416, in merge_target_files common.ExternalError: Found incompatibilities in the merged target files package. -- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-building?hl=en --- You received this message because you are subscribed to the Google Groups "Android Building" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/85ee044b-26a3-4876-8d24-c4ab7fd5d721n%40googlegroups.com.
