diff --git a/core/Makefile b/core/Makefile index 38f5aa8d48..47cb114e95 100644 --- a/core/Makefile +++ b/core/Makefile @@ -931,7 +931,15 @@ INTERNAL_USERDATAIMAGE_FILES += \ $(filter $(TARGET_OUT_DATA)/%,$(tests_MODULES)) endif -ifdef BOARD_USERDATAIMAGE_PARTITION_SIZE +# Don't build userdata.img if it's extfs but no partition size +skip_userdata.img := +ifdef INTERNAL_USERIMAGES_EXT_VARIANT +ifndef BOARD_USERDATAIMAGE_PARTITION_SIZE +skip_userdata.img := true +endif +endif + +ifneq ($(skip_userdata.img),true) userdataimage_intermediates := \ $(call intermediates-dir-for,PACKAGING,userdata) BUILT_USERDATAIMAGE_TARGET := $(PRODUCT_OUT)/userdata.img @@ -957,7 +965,8 @@ $(INSTALLED_USERDATAIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) \ userdataimage-nodeps: | $(INTERNAL_USERIMAGES_DEPS) $(build-userdataimage-target) -endif # BOARD_USERDATAIMAGE_PARTITION_SIZE is set +endif # not skip_userdata.img +skip_userdata.img := ####### ## data partition tarball diff --git a/tools/releasetools/img_from_target_files b/tools/releasetools/img_from_target_files index 3a5234273e..007a3f76be 100755 --- a/tools/releasetools/img_from_target_files +++ b/tools/releasetools/img_from_target_files @@ -57,8 +57,9 @@ def AddUserdata(output_zip): image_props = build_image.ImagePropFromGlobalDict(OPTIONS.info_dict, "data") - # If no userdata_size is provided, skip userdata.img. - if not image_props.get("partition_size"): + # If no userdata_size is provided for extfs, skip userdata.img. + if (image_props.get("fs_type", "").startswith("ext") and + not image_props.get("partition_size")): return print "creating userdata.img..."