diff --git a/CleanSpec.mk b/CleanSpec.mk index 284ef394bd..1e0e97194c 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -662,10 +662,6 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*system_ext*) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/product) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/system_ext) -# Move GSI-specific files from /system to /system/system_ext -$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/init.gsi.rc) -$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/config/) - # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/target/product/gsi/Android.mk b/target/product/gsi/Android.mk index 57dee0a3da..018bbb07a1 100644 --- a/target/product/gsi/Android.mk +++ b/target/product/gsi/Android.mk @@ -169,36 +169,3 @@ _binder32 := include $(BUILD_PHONY_PACKAGE) endif # BOARD_VNDK_VERSION is set - -##################################################################### -# skip_mount.cfg, read by init to skip mounting some partitions when GSI is used. - -include $(CLEAR_VARS) -LOCAL_MODULE := gsi_skip_mount.cfg -LOCAL_MODULE_STEM := skip_mount.cfg -LOCAL_SRC_FILES := $(LOCAL_MODULE) -LOCAL_MODULE_CLASS := ETC -LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := init/config - -# Adds a symlink under /system/etc/init/config pointing to /system/system_ext/etc/init/config -# because first-stage init in Android 10.0 will read the skip_mount.cfg from /system/etc/* after -# chroot /system. -# TODO: remove this symlink when no need to support new GSI on Android 10. -# The actual file needs to be under /system/system_ext because it's GSI-specific and does not -# belong to core CSI. -LOCAL_POST_INSTALL_CMD := ln -sf /system/system_ext/etc/init/config $(TARGET_OUT)/etc/init/config - -include $(BUILD_PREBUILT) - -##################################################################### -# init.gsi.rc, GSI-specific init script. - -include $(CLEAR_VARS) -LOCAL_MODULE := init.gsi.rc -LOCAL_SRC_FILES := $(LOCAL_MODULE) -LOCAL_MODULE_CLASS := ETC -LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := init - -include $(BUILD_PREBUILT) diff --git a/target/product/gsi/gsi_skip_mount.cfg b/target/product/gsi/skip_mount.cfg similarity index 100% rename from target/product/gsi/gsi_skip_mount.cfg rename to target/product/gsi/skip_mount.cfg diff --git a/target/product/gsi_common.mk b/target/product/gsi_common.mk index bfecc9563a..1b5cd55475 100644 --- a/target/product/gsi_common.mk +++ b/target/product/gsi_common.mk @@ -50,6 +50,11 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ # Some GSI builds enable dexpreopt, whitelist these preopt files PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += %.odex %.vdex %.art +# Exclude GSI specific files +PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ + system/etc/init/config/skip_mount.cfg \ + system/etc/init/init.gsi.rc \ + # Exclude all files under system/product and system/system_ext PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/product/% \ @@ -66,9 +71,9 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true # GSI specific tasks on boot -PRODUCT_PACKAGES += \ - gsi_skip_mount.cfg \ - init.gsi.rc +PRODUCT_COPY_FILES += \ + build/make/target/product/gsi/skip_mount.cfg:system/etc/init/config/skip_mount.cfg \ + build/make/target/product/gsi/init.gsi.rc:system/etc/init/init.gsi.rc \ # Support addtional P vendor interface PRODUCT_EXTRA_VNDK_VERSIONS := 28 diff --git a/target/product/gsi_release.mk b/target/product/gsi_release.mk index cab3916382..0dd2598971 100644 --- a/target/product/gsi_release.mk +++ b/target/product/gsi_release.mk @@ -24,6 +24,11 @@ # - etc. # +# Exclude GSI specific files +PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ + system/etc/init/config/skip_mount.cfg \ + system/etc/init/init.gsi.rc \ + # Exclude all files under system/product and system/system_ext PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/product/% \ @@ -45,9 +50,9 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true # GSI specific tasks on boot -PRODUCT_PACKAGES += \ - gsi_skip_mount.cfg \ - init.gsi.rc +PRODUCT_COPY_FILES += \ + build/make/target/product/gsi/skip_mount.cfg:system/etc/init/config/skip_mount.cfg \ + build/make/target/product/gsi/init.gsi.rc:system/etc/init/init.gsi.rc \ # Support addtional P and Q VNDK packages PRODUCT_EXTRA_VNDK_VERSIONS := 28 29