diff --git a/config.mk b/config.mk
index c01d188..6398b27 100644
--- a/config.mk
+++ b/config.mk
@@ -136,6 +136,7 @@
 ######################################################################
 # Now make a data image that contains all the target image files for the
 # installer.
+
 bootldr_bin := $(PRODUCT_OUT)/grub/grub.bin
 installer_target_data_files := \
 	$(INSTALLED_BOOTIMAGE_TARGET) \
@@ -143,6 +144,17 @@
 	$(INSTALLED_USERDATAIMAGE_TARGET) \
 	$(bootldr_bin)
 
+# $(1): src directory
+# $(2): output file
+# $(3): mount point
+# $(4): ext variant (ext2, ext3, ext4)
+# $(5): size of the partition
+define build-installerimage-ext-target
+  @mkdir -p $(dir $(2))
+    $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$(PATH) \
+          $(MKEXTUSERIMG) $(1) $(2) $(4) $(3) $(5)
+endef
+
 installer_data_img := $(TARGET_INSTALLER_OUT)/installer_data.img
 $(installer_data_img): $(diskinstaller_root)/config.mk \
 			$(installer_target_data_files) \
@@ -157,8 +169,8 @@
 		$(TARGET_INSTALLER_OUT)/data/system.img
 	cp -f $(INSTALLED_USERDATAIMAGE_TARGET) \
 		$(TARGET_INSTALLER_OUT)/data/userdata.img
-	$(call build-userimage-ext2-target,$(TARGET_INSTALLER_OUT)/data,$@,\
-		inst_data,)
+	$(call build-installerimage-ext-target,$(TARGET_INSTALLER_OUT)/data,$@, \
+		inst_data,ext4,$(BOARD_INSTALLERIMAGE_PARTITION_SIZE))
 	@echo --- Finished installer data image -[ $@ ]-
 
 ######################################################################
diff --git a/installer.c b/installer.c
index 357c210..5201452 100644
--- a/installer.c
+++ b/installer.c
@@ -247,7 +247,9 @@
             goto fail;
         }
 
-        if (!strcmp(tmp, "ext2"))
+        if (!strcmp(tmp, "ext4"))
+            journal_opts = "";
+        else if (!strcmp(tmp, "ext2"))
             journal_opts = "";
         else if (!strcmp(tmp, "ext3"))
             journal_opts = "-j";
@@ -313,6 +315,8 @@
         type = INSTALL_IMAGE_EXT2;
     } else if (!strcmp(tmp, "ext3")) {
         type = INSTALL_IMAGE_EXT3;
+    } else if (!strcmp(tmp, "ext4")) {
+        type = INSTALL_IMAGE_EXT4;
     } else {
         LOGE("Unknown image type '%s' for image %s", tmp, img->name);
         goto fail;
@@ -345,6 +349,9 @@
             }
             /* ...fall through... */
 
+        case INSTALL_IMAGE_EXT4:
+            /* fallthru */
+
         case INSTALL_IMAGE_EXT2:
             if (process_ext2_image(dest_part, filename, flags, test))
                 goto fail;
@@ -371,7 +378,7 @@
     char *inst_conf_file = "/system/etc/installer.conf";
     char *inst_data_dir = "/data";
     char *inst_data_dev = NULL;
-    char *data_fstype = "ext2";
+    char *data_fstype = "ext4";
     cnode *config;
     cnode *images;
     cnode *img;
diff --git a/installer.conf b/installer.conf
index acdd7a2..96b81e8 100644
--- a/installer.conf
+++ b/installer.conf
@@ -14,15 +14,13 @@
     system {
         partition system
         filename /data/system.img
-        type ext2
-        flags resize,addjournal
+        type raw
     }
 
     data {
         partition data
         filename /data/userdata.img
-        type ext2
-        flags resize,addjournal
+        type raw
     }
 
     cache {
diff --git a/installer.h b/installer.h
index 98bb2f9..a7108ae 100644
--- a/installer.h
+++ b/installer.h
@@ -24,6 +24,7 @@
 #define INSTALL_IMAGE_RAW          1
 #define INSTALL_IMAGE_EXT2         2
 #define INSTALL_IMAGE_EXT3         3
+#define INSTALL_IMAGE_EXT4         4
 #define INSTALL_IMAGE_TARGZ        10
 
 
