diff --git a/Config.in b/Config.in
index e412338921b185b6d4004067ae2aef2df197fea2..4d75896d8dd931d9fc679fc5afa8178651310fec 100644
--- a/Config.in
+++ b/Config.in
@@ -15,7 +15,7 @@ source "target/Config.in"
 menu "Target Images"
 	config TARGET_ROOTFS_INITRAMFS
 		bool "ramdisk"
-		default n
+		default y if USES_INITRAMFS
 		depends LINUX_2_6
 		help
 		  Embed the rootfs into the kernel (initramfs)
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 3d9d68a654b4fb5b8f3c4c2745ca42dd3d3ea2e2..c341e652617edaf74739891f4f6a7ce42558fa05 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -163,6 +163,7 @@ sub target_config_features(@) {
 		/tgz/ and $ret .= "\tselect USES_TGZ\n";
 		/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
 		/fpu/ and $ret .= "\tselect HAS_FPU\n";
+		/ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
 	}
 	return $ret;
 }
diff --git a/target/Config.in b/target/Config.in
index 31f7a50b391188119e7ca368c0b3ca86bb2bd976..6506312b37a2a8c4ad8999b681a7c9b397f923aa 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -29,6 +29,9 @@ config USB_SUPPORT
 config BIG_ENDIAN
 	bool
 
+config USES_INITRAMFS
+	bool
+
 config USES_SQUASHFS
 	bool
 
diff --git a/target/linux/ps3/petitboot/target.mk b/target/linux/ps3/petitboot/target.mk
index a3d84dde0343e5a7f380dc9714ee772655d8c13b..4b53f57b6b3bb6fcbf28279a766dea2227512aeb 100644
--- a/target/linux/ps3/petitboot/target.mk
+++ b/target/linux/ps3/petitboot/target.mk
@@ -1,7 +1,7 @@
 BOARDNAME:=Petitboot
-FEATURES:=fpu
+FEATURES:=fpu ramdisk
 
-DEFAULT_PACKAGES+= dnsmasq
+DEFAULT_PACKAGES+= dnsmasq petitboot
 
 define Target/Description
 	Build Petitboot bootloader