config BR2_TARGET_ROOTFS_EXT2
	bool "ext2 root filesystem"
	default y
	select BR2_HOST_FAKEROOT
	help
	  Build an ext2 root filesystem

config BR2_TARGET_ROOTFS_EXT2_BLOCKS
	int "size in blocks (leave at 0 for auto calculation)"
	depends on BR2_TARGET_ROOTFS_EXT2
	default 0

config BR2_TARGET_ROOTFS_EXT2_INODES
	int "inodes (leave at 0 for auto calculation)"
	depends on BR2_TARGET_ROOTFS_EXT2
	default 0

config BR2_TARGET_ROOTFS_EXT2_RESBLKS
	int "reserved blocks percentage"
	depends on BR2_TARGET_ROOTFS_EXT2
	default 0

config BR2_TARGET_ROOTFS_EXT2_SQUASH
	bool "Make all files be owned by root"
	depends on  BR2_TARGET_ROOTFS_EXT2
	default y

config BR2_TARGET_ROOTFS_EXT2_OUTPUT
	string "Output File"
	depends on BR2_TARGET_ROOTFS_EXT2
	default "$(IMAGE).ext2"

choice
	prompt "Compression method"
	default BR2_TARGET_ROOTFS_EXT2_NONE
	depends on BR2_TARGET_ROOTFS_EXT2
	help
	  Select compressor for ext2 filesystem of the root filesystem

config BR2_TARGET_ROOTFS_EXT2_NONE
	bool "no compression"
	help
	  Do not compress the ext2 filesystem.

config BR2_TARGET_ROOTFS_EXT2_GZIP
	bool "gzip"
	help
	  Do compress the ext2 filesystem with gzip.
	  Note that you either have to have gzip installed on your host
	  or select to build a gzip for your host. See the packages submenu.

config BR2_TARGET_ROOTFS_EXT2_BZIP2
	bool "bzip2"
	help
	  Do compress the ext2 filesystem with bzip2.
	  Note that you either have to have bzip2 installed on your host
	  or select to build a bzip2 for your host. See the packages submenu.

config BR2_TARGET_ROOTFS_EXT2_LZMA
	bool "lzma"
	help
	  Do compress the ext2 filesystem with lzma.
	  Note that you either have to have lzma installed on your host
	  or select to build a lzma for your host. See the packages submenu.

endchoice

config BR2_TARGET_ROOTFS_EXT2_COPYTO
	string "also copy the image to..."
	depends on BR2_TARGET_ROOTFS_EXT2
	default ""
	help
	  Copies the resulting image to a secondary location
	  like a tftp server's root directory.

