diff --git a/Config.in b/Config.in
index 458a3b3bce8..5763be02b1e 100644
--- a/Config.in
+++ b/Config.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -62,12 +62,12 @@ menu "Target Images"
 
 	comment "Root filesystem images"
 
-	config TARGET_ROOTFS_EXT2FS
-		bool "ext2"
-		default y if USES_EXT2
+	config TARGET_ROOTFS_EXT4FS
+		bool "ext4"
+		default y if USES_EXT4
 		depends !TARGET_ROOTFS_INITRAMFS
 		help
-		  Ext2 file system with some free space for uml images
+		  Ext4 file system with some free space for uml images
 
 	config TARGET_ROOTFS_ISO
 		bool "iso"
@@ -103,14 +103,14 @@ menu "Target Images"
 
 	config TARGET_ROOTFS_PARTSIZE
 		int "Root filesystem partition size (in MB)"
-		depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT2FS || TARGET_rb532
+		depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
 		default 48
 		help
 		    Allows you to change the root filesystem partition size
 
 	config TARGET_ROOTFS_MAXINODE
 		int "Maximum number of inodes in root filesystem"
-		depends TARGET_ROOTFS_EXT2FS
+		depends TARGET_ROOTFS_EXT4FS
 		default 6000
 		help
 		    Allows you to change the maximum number of inodes in the root filesystem
diff --git a/include/image.mk b/include/image.mk
index 4ec7d91bf7f..d7d981ba1cd 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -128,12 +128,17 @@ ifneq ($(CONFIG_TARGET_ROOTFS_TARGZ),)
   endef
 endif
 
-ifneq ($(CONFIG_TARGET_ROOTFS_EXT2FS),)
+ifneq ($(CONFIG_TARGET_ROOTFS_EXT4FS),)
   E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024)))
 
-  define Image/mkfs/ext2
-		$(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext2
-		$(call Image/Build,ext2)
+  define Image/mkfs/ext4
+# generate an ext2 fs
+	$(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4
+# convert it to ext4
+	$(STAGING_DIR_HOST)/bin/tune2fs -O extents,uninit_bg,dir_index $(KDIR)/root.ext4
+# fix it up
+	$(STAGING_DIR_HOST)/bin/e2fsck -fy $(KDIR)/root.ext4
+	$(call Image/Build,ext4)
   endef
 endif
 
@@ -184,7 +189,7 @@ define BuildImage
 		$(call Image/BuildKernel)
 		$(call Image/mkfs/cpiogz)
 		$(call Image/mkfs/targz)
-		$(call Image/mkfs/ext2)
+		$(call Image/mkfs/ext4)
 		$(call Image/mkfs/iso)
 		$(call Image/mkfs/jffs2)
 		$(call Image/mkfs/squashfs)
@@ -195,7 +200,7 @@ define BuildImage
 		$(call Image/BuildKernel)
 		$(call Image/mkfs/cpiogz)
 		$(call Image/mkfs/targz)
-		$(call Image/mkfs/ext2)
+		$(call Image/mkfs/ext4)
 		$(call Image/mkfs/iso)
 		$(call Image/mkfs/jffs2)
 		$(call Image/mkfs/squashfs)
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index e86178d423c..37c0a51ee79 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -163,7 +163,7 @@ sub target_config_features(@) {
 		/pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
 		/squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
 		/jffs2/ and $ret .= "\tselect USES_JFFS2\n";
-		/ext2/ and $ret .= "\tselect USES_EXT2\n";
+		/ext4/ and $ret .= "\tselect USES_EXT4\n";
 		/targz/ and $ret .= "\tselect USES_TARGZ\n";
 		/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
 		/ubifs/ and $ret .= "\tselect USES_UBIFS\n";
diff --git a/target/Config.in b/target/Config.in
index 4c65eae8673..226624564a2 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -40,7 +40,7 @@ config USES_SQUASHFS
 config USES_JFFS2
 	bool
 
-config USES_EXT2
+config USES_EXT4
 	bool
 
 config USES_TARGZ
diff --git a/target/linux/at91/config-default b/target/linux/at91/config-default
index 9da6aace08b..b29bb24c825 100644
--- a/target/linux/at91/config-default
+++ b/target/linux/at91/config-default
@@ -64,7 +64,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DECOMPRESS_LZMA=y
 CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
 # CONFIG_DM9000 is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FPE_FASTFPE is not set
 # CONFIG_FPE_NWFPE is not set
 CONFIG_FRAME_POINTER=y
diff --git a/target/linux/cobalt/Makefile b/target/linux/cobalt/Makefile
index 0e7a8450021..f7beb95920e 100644
--- a/target/linux/cobalt/Makefile
+++ b/target/linux/cobalt/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=cobalt
 BOARDNAME:=Cobalt Microservers
-FEATURES:=targz pci ext2
+FEATURES:=targz pci ext4
 CFLAGS:=-O2 -pipe -mtune=r5000 -funit-at-a-time
 
 LINUX_VERSION:=2.6.32.25
diff --git a/target/linux/ep93xx/Makefile b/target/linux/ep93xx/Makefile
index e3c93a8f0a8..c429e2e7673 100644
--- a/target/linux/ep93xx/Makefile
+++ b/target/linux/ep93xx/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=arm
 BOARD:=ep93xx
 BOARDNAME:=Cirrus Logic EP93xx
-FEATURES:=squashfs jffs2 ext2 targz usb
+FEATURES:=squashfs jffs2 ext4 targz usb
 CFLAGS:=-Os -pipe -march=armv4t -funit-at-a-time
 
 LINUX_VERSION:=2.6.36
diff --git a/target/linux/ixp4xx/harddisk/config-default b/target/linux/ixp4xx/harddisk/config-default
index ef9a47c7e89..3fe6f0c6ad2 100644
--- a/target/linux/ixp4xx/harddisk/config-default
+++ b/target/linux/ixp4xx/harddisk/config-default
@@ -1,8 +1,7 @@
 CONFIG_ATA=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CMDLINE="root=/dev/sda1 noinitrd console=ttyS0,115200"
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_JBD=y
 CONFIG_REISERFS_FS=y
 CONFIG_SATA_VIA=y
diff --git a/target/linux/kirkwood/config-default b/target/linux/kirkwood/config-default
index 0f334639784..4436bed4e90 100644
--- a/target/linux/kirkwood/config-default
+++ b/target/linux/kirkwood/config-default
@@ -44,8 +44,7 @@ CONFIG_DEVPORT=y
 # CONFIG_DLCI is not set
 # CONFIG_DM9000 is not set
 CONFIG_DNOTIFY=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FPE_FASTFPE is not set
 # CONFIG_FPE_NWFPE is not set
 CONFIG_FRAME_POINTER=y
diff --git a/target/linux/mpc52xx/Makefile b/target/linux/mpc52xx/Makefile
index ee9fa6c09ac..152e51e5834 100644
--- a/target/linux/mpc52xx/Makefile
+++ b/target/linux/mpc52xx/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=powerpc
 BOARD:=mpc52xx
 BOARDNAME:=Freescale MPC52xx
-FEATURES:=targz ext2
+FEATURES:=targz ext4
 
 LINUX_VERSION:=2.6.30.10
 
diff --git a/target/linux/omap24xx/config-2.6.36 b/target/linux/omap24xx/config-2.6.36
index 0766214ceb5..976d495a665 100644
--- a/target/linux/omap24xx/config-2.6.36
+++ b/target/linux/omap24xx/config-2.6.36
@@ -145,16 +145,7 @@ CONFIG_DNOTIFY=y
 CONFIG_DUMMY_CONSOLE=y
 # CONFIG_EASYCAP is not set
 CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-# CONFIG_EXT2_FS_SECURITY is not set
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_XIP=y
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
diff --git a/target/linux/omap24xx/config-2.6.37 b/target/linux/omap24xx/config-2.6.37
index 086968283e3..45ee7dc0a3e 100644
--- a/target/linux/omap24xx/config-2.6.37
+++ b/target/linux/omap24xx/config-2.6.37
@@ -171,16 +171,7 @@ CONFIG_DUMMY_CONSOLE=y
 # CONFIG_ECRYPT_FS is not set
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_EXPORTFS=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-# CONFIG_EXT2_FS_SECURITY is not set
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_XIP=y
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
diff --git a/target/linux/omap35xx/beagleboard/profiles/beagleboard.mk b/target/linux/omap35xx/beagleboard/profiles/beagleboard.mk
index 69ecdbb827e..59c40f4e8ae 100644
--- a/target/linux/omap35xx/beagleboard/profiles/beagleboard.mk
+++ b/target/linux/omap35xx/beagleboard/profiles/beagleboard.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006 - 2009 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,7 +7,7 @@
 
 define Profile/Beagleboard
   NAME:=beagleboard
-  FEATURES:=ext2 usb
+  FEATURES:=ext4 usb
 endef
 
 define Profile/Beagleboard/Description
diff --git a/target/linux/omap35xx/config-2.6.32 b/target/linux/omap35xx/config-2.6.32
index e814d792618..9fd008b11ed 100644
--- a/target/linux/omap35xx/config-2.6.32
+++ b/target/linux/omap35xx/config-2.6.32
@@ -340,17 +340,7 @@ CONFIG_EPOLL=y
 CONFIG_EVENTFD=y
 CONFIG_EXPERIMENTAL=y
 CONFIG_EXPORTFS=m
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT2_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS=y
 # CONFIG_EZX_PCAP is not set
 CONFIG_FAIR_GROUP_SCHED=y
 CONFIG_FAT_DEFAULT_CODEPAGE=437
diff --git a/target/linux/omap35xx/gumstix/config-2.6.34 b/target/linux/omap35xx/gumstix/config-2.6.34
index a79aa803cf2..8c9688793e3 100644
--- a/target/linux/omap35xx/gumstix/config-2.6.34
+++ b/target/linux/omap35xx/gumstix/config-2.6.34
@@ -107,12 +107,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_ELF_CORE=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_EXPORTFS=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
diff --git a/target/linux/omap35xx/gumstix/config-2.6.36 b/target/linux/omap35xx/gumstix/config-2.6.36
index a9e14cecb56..dbe1325908f 100644
--- a/target/linux/omap35xx/gumstix/config-2.6.36
+++ b/target/linux/omap35xx/gumstix/config-2.6.36
@@ -119,12 +119,7 @@ CONFIG_EARLY_PRINTK=y
 CONFIG_ELF_CORE=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_EXPORTFS=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
diff --git a/target/linux/orion/harddisk/config-default b/target/linux/orion/harddisk/config-default
index d170448604a..ec77f5ef36a 100644
--- a/target/linux/orion/harddisk/config-default
+++ b/target/linux/orion/harddisk/config-default
@@ -10,8 +10,7 @@ CONFIG_BLK_DEV_SD=y
 # CONFIG_DM_SNAPSHOT is not set
 # CONFIG_DM_UEVENT is not set
 # CONFIG_DM_ZERO is not set
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_JBD=y
 CONFIG_LBD=y
 CONFIG_MD_AUTODETECT=y
diff --git a/target/linux/rb532/config-2.6.32 b/target/linux/rb532/config-2.6.32
index f7aefc7d1e9..e11c339f405 100644
--- a/target/linux/rb532/config-2.6.32
+++ b/target/linux/rb532/config-2.6.32
@@ -61,7 +61,7 @@ CONFIG_DEVPORT=y
 CONFIG_DMA_NEED_PCI_MAP_STATE=y
 CONFIG_DMA_NONCOHERENT=y
 # CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FSNOTIFY is not set
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
diff --git a/target/linux/rb532/config-2.6.33 b/target/linux/rb532/config-2.6.33
index 9ca6f883228..7e90ea71a6d 100644
--- a/target/linux/rb532/config-2.6.33
+++ b/target/linux/rb532/config-2.6.33
@@ -63,7 +63,7 @@ CONFIG_DEVPORT=y
 CONFIG_DMA_NEED_PCI_MAP_STATE=y
 CONFIG_DMA_NONCOHERENT=y
 # CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FSNOTIFY is not set
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
diff --git a/target/linux/rb532/config-2.6.34 b/target/linux/rb532/config-2.6.34
index a274d79a447..60e25137a7b 100644
--- a/target/linux/rb532/config-2.6.34
+++ b/target/linux/rb532/config-2.6.34
@@ -63,7 +63,7 @@ CONFIG_DEVPORT=y
 # CONFIG_DM9000 is not set
 CONFIG_DMA_NONCOHERENT=y
 # CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FSNOTIFY is not set
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
diff --git a/target/linux/rb532/config-2.6.35 b/target/linux/rb532/config-2.6.35
index b58b90324e1..8e7c201c742 100644
--- a/target/linux/rb532/config-2.6.35
+++ b/target/linux/rb532/config-2.6.35
@@ -67,7 +67,7 @@ CONFIG_DEVPORT=y
 # CONFIG_DM9000 is not set
 CONFIG_DMA_NONCOHERENT=y
 # CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 # CONFIG_FSNOTIFY is not set
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
diff --git a/target/linux/s3c24xx/openmoko-gta02/config-2.6.30 b/target/linux/s3c24xx/openmoko-gta02/config-2.6.30
index 68c5f872858..1be7f6dea41 100644
--- a/target/linux/s3c24xx/openmoko-gta02/config-2.6.30
+++ b/target/linux/s3c24xx/openmoko-gta02/config-2.6.30
@@ -74,6 +74,7 @@ CONFIG_ELF_CORE=y
 # CONFIG_ENABLE_WARN_DEPRECATED is not set
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_IMAGEBLIT=y
diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile
index 40cb746f312..94a08f3bd0c 100644
--- a/target/linux/uml/Makefile
+++ b/target/linux/uml/Makefile
@@ -20,7 +20,7 @@ ARCH:=$(shell uname -m | sed \
 )
 BOARD:=uml
 BOARDNAME:=User Mode Linux
-FEATURES:=ext2 audio
+FEATURES:=ext4 audio
 LINUX_CONFIG:=$(CURDIR)/config/$(ARCH)
 
 LINUX_VERSION:=2.6.32.25
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index 3cbed95426c..5ff1d246fb2 100644
--- a/target/linux/x86/Makefile
+++ b/target/linux/x86/Makefile
@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
 ARCH:=i386
 BOARD:=x86
 BOARDNAME:=x86
-FEATURES:=squashfs jffs2 ext2 vdi vmdk pcmcia targz
+FEATURES:=squashfs jffs2 ext4 vdi vmdk pcmcia targz
 SUBTARGETS=generic olpc xen_domu ep80579 net5501 kvm_guest geos
 
-LINUX_VERSION:=2.6.32.25
+LINUX_VERSION:=2.6.36
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/x86/config-default b/target/linux/x86/config-default
index 0b0981b8940..eff0b2800b6 100644
--- a/target/linux/x86/config-default
+++ b/target/linux/x86/config-default
@@ -101,7 +101,7 @@ CONFIG_EARLY_PRINTK=y
 CONFIG_ELF_CORE=y
 # CONFIG_ELPLUS is not set
 # CONFIG_EUROTECH_WDT is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_FIRMWARE_IN_KERNEL=y
 CONFIG_FIRMWARE_MEMMAP=y
 CONFIG_FIX_EARLYCON_MEM=y
diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in
index 8467f48a4f2..3557e63c2fc 100644
--- a/target/linux/x86/image/Config.in
+++ b/target/linux/x86/image/Config.in
@@ -1,7 +1,7 @@
 config X86_GRUB_IMAGES
 	bool "Build GRUB images (Linux x86 or x86_64 host only)"
 	depends TARGET_x86 && !TARGET_x86_olpc
-	depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+	depends TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
 	select PACKAGE_grub
 	default y
 
@@ -35,21 +35,21 @@ config X86_VDI_IMAGES
 	bool "Build VirtualBox image files (VDI)"
 	depends X86_GRUB_IMAGES
 	depends TARGET_x86_generic
-	depends TARGET_ROOTFS_EXT2FS
+	depends TARGET_ROOTFS_EXT4FS
 	select PACKAGE_kmod-pcnet32
 
 config X86_VMDK_IMAGES
 	bool "Build VMware image files (VMDK)"
 	depends X86_GRUB_IMAGES
 	depends TARGET_x86_generic
-	depends TARGET_ROOTFS_EXT2FS
+	depends TARGET_ROOTFS_EXT4FS
 	select PACKAGE_kmod-e1000
 
 
 config OLPC_BOOTSCRIPT_IMAGES
 	bool "Build images with bootscript"
 	depends TARGET_x86_olpc
-	depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+	depends TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
 
 
 config TARGET_IMAGES_PAD
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index b5297bbff8b..57d7b0b46d0 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -35,8 +35,8 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
 
   BOOTOPTS:=$(call qstrip,$(CONFIG_X86_GRUB_BOOTOPTS))
 
-  define Image/cmdline/ext2
-    root=$(ROOTPART) rootfstype=ext2 rootwait
+  define Image/cmdline/ext4
+    root=$(ROOTPART) rootfstype=ext4 rootwait
   endef
   
   define Image/cmdline/jffs2-64k
@@ -88,8 +88,8 @@ ROOTDELAY=10
 
 ifneq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),)
 
-  define Image/cmdline/ext2
-    root=$(ROOTPART) rootfstype=ext2 rootwait
+  define Image/cmdline/ext4
+    root=$(ROOTPART) rootfstype=ext4 rootwait
   endef
 
   define Image/cmdline/jffs2-64k
@@ -141,7 +141,7 @@ endef
 ifneq ($(CONFIG_X86_VDI_IMAGES),)
   define Image/Build/vdi
     # left here because the image builder doesnt need these
-    ifeq ($(1),ext2)
+    ifeq ($(1),ext4)
 		rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true
 		qemu-img convert -f raw -O vdi \
 			$(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
@@ -155,7 +155,7 @@ endif
 ifneq ($(CONFIG_X86_VMDK_IMAGES),)
   define Image/Build/vmdk
     # left here because the image builder doesnt need these
-    ifeq ($(1),ext2)
+    ifeq ($(1),ext4)
 		rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true
 		qemu-img convert -f raw -O vmdk \
 			$(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
@@ -184,7 +184,7 @@ define Image/Build
   endif
 	$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
 	$(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-vmlinuz
-  ifeq ($(1),ext2)
+  ifeq ($(1),ext4)
 	gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img
 	gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
   endif
diff --git a/target/linux/xburst/config-2.6.34 b/target/linux/xburst/config-2.6.34
index 5e0e37cc969..95aa8ccc7c4 100644
--- a/target/linux/xburst/config-2.6.34
+++ b/target/linux/xburst/config-2.6.34
@@ -67,8 +67,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_ELF_CORE=y
 CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 # CONFIG_FB_JZ4740 is not set
 CONFIG_FB_SYS_COPYAREA=y
diff --git a/target/linux/xburst/config-2.6.35 b/target/linux/xburst/config-2.6.35
index 62052f438ff..ea088ac5f6d 100644
--- a/target/linux/xburst/config-2.6.35
+++ b/target/linux/xburst/config-2.6.35
@@ -68,8 +68,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_ELF_CORE=y
 CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 # CONFIG_FB_JZ4740 is not set
 CONFIG_FB_SYS_COPYAREA=y
diff --git a/target/linux/xburst/config-2.6.36 b/target/linux/xburst/config-2.6.36
index a6336694475..70b205b9d29 100644
--- a/target/linux/xburst/config-2.6.36
+++ b/target/linux/xburst/config-2.6.36
@@ -69,8 +69,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_ELF_CORE=y
 CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
 CONFIG_FAT_FS=y
 # CONFIG_FB_JZ4740 is not set
 CONFIG_FB_SYS_COPYAREA=y