diff --git a/core/Makefile b/core/Makefile index d4c31e5ede..cb232694c9 100644 --- a/core/Makefile +++ b/core/Makefile @@ -2732,6 +2732,26 @@ endif # TARGET_BUILD_APPS .PHONY: dalvikfiles dalvikfiles: $(INTERNAL_DALVIK_MODULES) +ifeq ($(BUILD_QEMU_IMAGES),true) +INSTALLED_QEMU_SYSTEMIMAGE := $(PRODUCT_OUT)/system-qemu.img +MK_QEMU_IMAGE_SH := device/generic/goldfish/tools/mk_qemu_image.sh +SGDISK_HOST := $(HOST_OUT_EXECUTABLES)/sgdisk +$(INSTALLED_QEMU_SYSTEMIMAGE): $(INSTALLED_SYSTEMIMAGE) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) + @echo Create system-qemu.img + (export SGDISK=$(SGDISK_HOST); $(MK_QEMU_IMAGE_SH) ${PRODUCT_OUT}/system.img) + +systemimage: $(INSTALLED_QEMU_SYSTEMIMAGE) +droidcore: $(INSTALLED_QEMU_SYSTEMIMAGE) +ifeq ($(BOARD_USES_VENDORIMAGE),true) +INSTALLED_QEMU_VENDORIMAGE := $(PRODUCT_OUT)/vendor-qemu.img +$(INSTALLED_QEMU_VENDORIMAGE): $(INSTALLED_VENDORIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) + @echo Create vendor-qemu.img + (export SGDISK=$(SGDISK_HOST); $(MK_QEMU_IMAGE_SH) ${PRODUCT_OUT}/vendor.img) + +vendorimage: $(INSTALLED_QEMU_VENDORIMAGE) +droidcore: $(INSTALLED_QEMU_VENDORIMAGE) +endif +endif # ----------------------------------------------------------------- # The emulator package ifeq ($(BUILD_EMULATOR),true) diff --git a/core/tasks/sdk-addon.mk b/core/tasks/sdk-addon.mk index 610e0ce621..e3bd47d13e 100644 --- a/core/tasks/sdk-addon.mk +++ b/core/tasks/sdk-addon.mk @@ -63,7 +63,7 @@ endif # Files copied in the system-image directory files_to_copy += \ - $(addon_dir_img):$(BUILT_SYSTEMIMAGE):images/$(TARGET_CPU_ABI)/system.img \ + $(addon_dir_img):$(INSTALLED_QEMU_SYSTEMIMAGE):images/$(TARGET_CPU_ABI)/system.img \ $(addon_dir_img):$(BUILT_USERDATAIMAGE_TARGET):images/$(TARGET_CPU_ABI)/userdata.img \ $(addon_dir_img):$(BUILT_RAMDISK_TARGET):images/$(TARGET_CPU_ABI)/ramdisk.img \ $(addon_dir_img):$(PRODUCT_OUT)/system/build.prop:images/$(TARGET_CPU_ABI)/build.prop \ diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk index 9cbe215835..6267031abe 100644 --- a/target/board/generic/BoardConfig.mk +++ b/target/board/generic/BoardConfig.mk @@ -42,6 +42,7 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation guest and host libraries BUILD_EMULATOR_OPENGL := true +BUILD_QEMU_IMAGES := true # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available. diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk index a1c7b75c17..ef15bbd6d0 100644 --- a/target/board/generic_arm64/BoardConfig.mk +++ b/target/board/generic_arm64/BoardConfig.mk @@ -73,6 +73,7 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation host and guest libraries BUILD_EMULATOR_OPENGL := true +BUILD_QEMU_IMAGES := true # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available. diff --git a/target/board/generic_mips/BoardConfig.mk b/target/board/generic_mips/BoardConfig.mk index 5cc31740d0..be98998619 100644 --- a/target/board/generic_mips/BoardConfig.mk +++ b/target/board/generic_mips/BoardConfig.mk @@ -50,6 +50,7 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation guest and host libraries BUILD_EMULATOR_OPENGL := true +BUILD_QEMU_IMAGES := true # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available. diff --git a/target/board/generic_mips64/BoardConfig.mk b/target/board/generic_mips64/BoardConfig.mk index d87c924d64..7f35c8b2d8 100644 --- a/target/board/generic_mips64/BoardConfig.mk +++ b/target/board/generic_mips64/BoardConfig.mk @@ -65,6 +65,7 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation guest and host libraries BUILD_EMULATOR_OPENGL := true +BUILD_QEMU_IMAGES := true # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available. diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk index 65c4fa5dbf..fef2304ad3 100644 --- a/target/board/generic_x86/BoardConfig.mk +++ b/target/board/generic_x86/BoardConfig.mk @@ -30,6 +30,10 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation host and guest libraries BUILD_EMULATOR_OPENGL := true +# Build partitioned system.img and vendor.img (if applicable) +# for qemu, otherwise, init cannot find PART_NAME +BUILD_QEMU_IMAGES := true + # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available. USE_OPENGL_RENDERER := true diff --git a/target/board/generic_x86_64/BoardConfig.mk b/target/board/generic_x86_64/BoardConfig.mk index 88f6450cfb..6e16f35bf6 100755 --- a/target/board/generic_x86_64/BoardConfig.mk +++ b/target/board/generic_x86_64/BoardConfig.mk @@ -35,6 +35,7 @@ TARGET_USES_HWC2 := true # Build OpenGLES emulation host and guest libraries BUILD_EMULATOR_OPENGL := true +BUILD_QEMU_IMAGES := true # Build and enable the OpenGL ES View renderer. When running on the emulator, # the GLES renderer disables itself if host GL acceleration isn't available.