Build a single GSI for O-MR1-VENDOR and Master-VENDOR
The objective of this commit is to support these 3 combinations:
1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)
2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)
3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)
This commit defines a new property `ro.vndk.lite` to indicate the status
of BOARD_VNDK_VERSION run-time enforcement. Now, all devices should
have `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and
`libnativeloader.so` can find the versioned VNDK directory.
Bug: 78605339
Test: aosp_sailfish Master-SYSTEM + Master-VENDOR boots
Test: aosp_sailfish Master-GSI + Master-VENDOR boots
Test: aosp_walleye Master-SYSTEM + Master-VENDOR boots
Test: aosp_walleye Master-GSI + Master-VENDOR boots
Test: aosp_walleye Master-GSI + O-MR1-VENDOR boots
Change-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
Merged-In: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
(cherry picked from commit d73b94c097
)
This commit is contained in:
parent
625ad4a0c8
commit
86b52aec24
|
@ -476,6 +476,9 @@ $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/JAVA_LIBRARIES/
|
|||
$(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/APPS/*_intermediates/java-source-list)
|
||||
$(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/JAVA_LIBRARIES/*_intermediates/java-source-list)
|
||||
|
||||
# Remove stale init.noenforce.rc
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/gsi/init.noenforce.rc)
|
||||
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
|
|
@ -125,8 +125,12 @@ ifdef BOARD_VNDK_VERSION
|
|||
else
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES := ro.vndk.version=$(BOARD_VNDK_VERSION)
|
||||
endif
|
||||
ifdef BOARD_VNDK_RUNTIME_DISABLE
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES += ro.vndk.lite=true
|
||||
endif
|
||||
else
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES :=
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES := ro.vndk.version=$(PLATFORM_VNDK_VERSION)
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES += ro.vndk.lite=true
|
||||
endif
|
||||
FINAL_VENDOR_DEFAULT_PROPERTIES += \
|
||||
$(call collapse-pairs, $(PRODUCT_DEFAULT_PROPERTY_OVERRIDES))
|
||||
|
|
|
@ -76,15 +76,14 @@ PRODUCT_COPY_FILES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
device/generic/common/nfc/libnfc-nci.conf:system/etc/libnfc-nci.conf
|
||||
|
||||
# Support for the devices with no VNDK enforcing
|
||||
# Support for the O-MR1 devices
|
||||
PRODUCT_COPY_FILES += \
|
||||
build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc \
|
||||
build/make/target/product/vndk/init.noenforce.rc:system/etc/init/gsi/init.noenforce.rc
|
||||
build/make/target/product/vndk/init.vndk-27.rc:system/etc/init/gsi/init.vndk-27.rc
|
||||
|
||||
# Name space configuration file for non-enforcing VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
ld.config.noenforce.txt
|
||||
ld.config.vndk_lite.txt
|
||||
|
||||
# Set current VNDK version for GSI
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.gsi.vndk.version=$(PLATFORM_VNDK_VERSION)
|
||||
# Support addtional O-MR1 vendor interface
|
||||
PRODUCT_EXTRA_VNDK_VERSIONS := 27
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# If ro.vndk.version is not defined, import init.noenforce.rc
|
||||
import /system/etc/init/gsi/init.${ro.vndk.version:-noenforce}.rc
|
||||
# If ro.vndk.version is not defined, import init.vndk-27.rc.
|
||||
import /system/etc/init/gsi/init.vndk-${ro.vndk.version:-27}.rc
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
on early-init
|
||||
# If ro.vndk.version is not set, use ld.config.nonenforce.txt
|
||||
export LD_CONFIG_FILE /system/etc/ld.config.noenforce.txt
|
||||
# To use current VNDK libs, set ro.vndk.version to system vndk version
|
||||
setprop ro.vndk.version ${ro.gsi.vndk.version}
|
|
@ -0,0 +1,3 @@
|
|||
on early-init
|
||||
# Set ro.vndk.version to 27 so that O-MR1-VENDOR can run latest GSI.
|
||||
setprop ro.vndk.version 27
|
Loading…
Reference in New Issue