diff --git a/Android.bp b/Android.bp index 8294ee1..998a0ef 100644 --- a/Android.bp +++ b/Android.bp @@ -59,31 +59,6 @@ cc_prebuilt_library_shared { soc_specific: true, } -cc_prebuilt_library_shared { - name: "xiaomi.system.hypsys.common-V1-ndk", - owner: "xiaomi", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/lib64/xiaomi.system.hypsys.common-V1-ndk.so", - ], - shared_libs: [ - "libbinder_ndk", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - prefer: true, - soc_specific: true, -} - cc_prebuilt_library_shared { name: "libmisys_jni.xiaomi", owner: "xiaomi", @@ -483,6 +458,32 @@ cc_prebuilt_library_shared { system_ext_specific: true, } +cc_prebuilt_library_shared { + name: "xiaomi.system.hypsys.common-V1-ndk-system_ext", + stem: "xiaomi.system.hypsys.common-V1-ndk", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/system_ext/lib64/xiaomi.system.hypsys.common-V1-ndk.so", + ], + shared_libs: [ + "libbinder_ndk", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + system_ext_specific: true, +} + android_app_import { name: "MiuiCamera", owner: "xiaomi", @@ -636,3 +637,51 @@ cc_prebuilt_binary { prefer: true, soc_specific: true, } + +cc_prebuilt_binary { + name: "hypsys_system", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/system_ext/bin/hypsys_system", + ], + shared_libs: [ + "libc", + "libssl", + "libmqsas", + "libcutils", + "libcrypto", + "libhidlmemory", + "android.hidl.memory@1.0", + "android.hidl.allocator@1.0", + "vendor.xiaomi.hardware.misys@1.0", + "vendor.xiaomi.hardware.misys@3.0", + "vendor.xiaomi.hardware.misys.common-V3-ndk-system_ext", + "libjsoncpp", + "vendor.xiaomi.hardware.misys.core-V1-ndk-system_ext", + "libnl", + "libz", + "libbinder", + "liblog", + "libutils", + "libbase", + "libdumpstateaidl", + "libbinder_ndk", + "libhidlbase", + "miui.mqsas.native-cpp", + "xiaomi.system.hypsys.common-V1-ndk-system_ext", + "libmisight", + "libc++", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + system_ext_specific: true, +} diff --git a/klee-miuicamera-vendor.mk b/klee-miuicamera-vendor.mk index 98199a0..ab973a8 100644 --- a/klee-miuicamera-vendor.mk +++ b/klee-miuicamera-vendor.mk @@ -268,6 +268,7 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/klee-miuicamera/proprietary/odm/etc/camera/xiaomi/watermark/ic_wp_wuhan.webp:$(TARGET_COPY_OUT_ODM)/etc/camera/xiaomi/watermark/ic_wp_wuhan.webp \ vendor/xiaomi/klee-miuicamera/proprietary/odm/etc/camera/xiaomi/watermark/ic_wp_zhang_jia_jie.webp:$(TARGET_COPY_OUT_ODM)/etc/camera/xiaomi/watermark/ic_wp_zhang_jia_jie.webp \ vendor/xiaomi/klee-miuicamera/proprietary/odm/etc/camera/xiaomi/watermark/noise_logo.png:$(TARGET_COPY_OUT_ODM)/etc/camera/xiaomi/watermark/noise_logo.png \ + vendor/xiaomi/klee-miuicamera/proprietary/system_ext/etc/init/hypsys_system.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/hypsys_system.rc \ vendor/xiaomi/klee-miuicamera/proprietary/system_ext/etc/permissions/vendor.xiaomi.hardware.misys-V1.0-java-permission.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/vendor.xiaomi.hardware.misys-V1.0-java-permission.xml \ vendor/xiaomi/klee-miuicamera/proprietary/system_ext/etc/permissions/vendor.xiaomi.hardware.misys-V2.0-java-permission.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/vendor.xiaomi.hardware.misys-V2.0-java-permission.xml \ vendor/xiaomi/klee-miuicamera/proprietary/system_ext/etc/permissions/vendor.xiaomi.hardware.misys-V4.0-java-permission.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/vendor.xiaomi.hardware.misys-V4.0-java-permission.xml \ @@ -278,7 +279,6 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ vendor.xiaomi.hardware.misys.common-V3-ndk \ vendor.xiaomi.hardware.mtkblackbox-V3-ndk \ - xiaomi.system.hypsys.common-V1-ndk \ libmisys_jni.xiaomi \ vendor.xiaomi.hardware.misys@1.0 \ vendor.xiaomi.hardware.misys@3.0 \ @@ -290,6 +290,7 @@ PRODUCT_PACKAGES += \ vendor.mediatek.hardware.camera.isphal@1.0-system_ext \ vendor.xiaomi.hardware.misys.common-V3-ndk-system_ext \ vendor.xiaomi.hardware.misys.core-V1-ndk-system_ext \ + xiaomi.system.hypsys.common-V1-ndk-system_ext \ MiuiCamera \ mediatek-framework \ vendor.xiaomi.hardware.misys-V1.0-java \ @@ -300,7 +301,8 @@ PRODUCT_PACKAGES += \ vendor.xiaomi.hardware.misys.common.xml \ vendor.xiaomi.hardware.misys.core.xml \ vendor.xiaomi.hardware.misys.core-service \ - hypsys_vendor + hypsys_vendor \ + hypsys_system PRODUCT_BOOT_JARS += \ mediatek-framework diff --git a/proprietary/system_ext/bin/hypsys_system b/proprietary/system_ext/bin/hypsys_system new file mode 100755 index 0000000..9d227a6 Binary files /dev/null and b/proprietary/system_ext/bin/hypsys_system differ diff --git a/proprietary/system_ext/etc/init/hypsys_system.rc b/proprietary/system_ext/etc/init/hypsys_system.rc new file mode 100644 index 0000000..87638ab --- /dev/null +++ b/proprietary/system_ext/etc/init/hypsys_system.rc @@ -0,0 +1,61 @@ +on init + # check device update type + setprop sys.ota.type recovery + +# reset device update type when use update_engine +on init && property:ro.build.ab_update=true + setprop sys.ota.type update_engine + +# 1. system/core/rootdir/init.rc 里面on init阶段 mkdir /mnt/rescue +# 2. vendor部分 on fs 阶段 mount_all 然后 mount /mnt/rescue +# 3. 这里必须放到下一个节点, on post-fs 先进行restorecon 然后start mqsasd + +# mqsasd +service hypsys_system /system_ext/bin/hypsys_system + user root + group system root cache log everybody product_hyperengine + disabled + socket mqsasd stream 0660 system system + socket mqsasd_pr dgram 0666 system system + +# post fs start hypsys system +on post-fs + start hypsys_system + +# use rescue partition +on post-fs && property:sys.ota.type=update_engine + restorecon_recursive /mnt/rescue + mkdir /mnt/rescue/mqsas 0775 root system + mkdir /mnt/rescue/mqsas/dumpstateTemporary 0775 root system + mount tmpfs tmpfs /mnt/rescue/mqsas/dumpstateTemporary nodev noexec nosuid size=200M + restorecon_recursive /mnt/rescue/mqsas + restorecon_recursive /mnt/rescue/mqsas/dumpstateTemporary + +# use cache partition +on post-fs && property:sys.ota.type=recovery + restorecon_recursive /cache + mkdir /cache/mqsas 0775 root system + mkdir /cache/mqsas/dumpstateTemporary 0775 root system + mount tmpfs tmpfs /cache/mqsas/dumpstateTemporary nodev noexec nosuid size=200M + restorecon_recursive /cache/mqsas + restorecon_recursive /cache/mqsas/dumpstateTemporary + + +# Log Manager +on post-fs-data + mkdir /data/miuilog 0775 system system + mkdir /data/miuilog/bsp 0775 system system + mkdir /data/miuilog/bsp/audio 0775 audioserver audioserver + mkdir /data/miuilog/bsp/audio/traces 0777 audioserver audioserver + + mkdir /data/mqsas 0775 system system + mkdir /data/miuilog/stability 0775 system system + mkdir /data/mqsas/aging 0770 system system + +# umount memory partition when boot monitor completed! +on property:sys.boot_monitor_completed=1 && property:sys.ota.type=update_engine + umount /mnt/rescue/mqsas/dumpstateTemporary + +# umount memory partition when boot monitor completed! +on property:sys.boot_monitor_completed=1 && property:sys.ota.type=recovery + umount /cache/mqsas/dumpstateTemporary diff --git a/proprietary/vendor/lib64/xiaomi.system.hypsys.common-V1-ndk.so b/proprietary/system_ext/lib64/xiaomi.system.hypsys.common-V1-ndk.so similarity index 50% rename from proprietary/vendor/lib64/xiaomi.system.hypsys.common-V1-ndk.so rename to proprietary/system_ext/lib64/xiaomi.system.hypsys.common-V1-ndk.so index 6c20231..44e64e6 100644 Binary files a/proprietary/vendor/lib64/xiaomi.system.hypsys.common-V1-ndk.so and b/proprietary/system_ext/lib64/xiaomi.system.hypsys.common-V1-ndk.so differ