README.ext4 2.08 KB
This patch series adds support for ext4 ls,load and write features in uboot
Journaling is supported for write feature.

To enable support for the ext4 (and ext2) filesystem implementation,
#define CONFIG_FS_EXT4

If you want write support,
#define CONFIG_EXT4_WRITE

To Enable ext2 ls and load commands, modify the board specific config file with
#define CONFIG_CMD_EXT2
This automatically defines CONFIG_FS_EXT4 for you.

To Enable ext4 ls and load commands, modify the board specific config file with
#define CONFIG_CMD_EXT4
This automatically defines CONFIG_FS_EXT4 for you.

To enable ext4 write command, modify the board specific config file with
#define CONFIG_CMD_EXT4
#define CONFIG_CMD_EXT4_WRITE
These automatically define CONFIG_FS_EXT4 and CONFIG_EXT4_WRITE for you.

Also relevant are the generic filesystem commands,
#define CONFIG_CMD_FS_GENERIC
This does not automatically enable EXT4 support for you.

Steps to test:

1. After applying the patch, ext4 specific commands can be seen
   in the boot loader prompt using
	UBOOT #help

	ext4load- load binary file from a Ext4 file system
	ext4ls  - list files in a directory (default /)
	ext4write- create a file in ext4 formatted partition

2. To list the files in ext4 formatted partition, execute
	ext4ls <interface> <dev[:part]> [directory]
	For example:
	UBOOT #ext4ls mmc 0:5 /usr/lib

3. To read and load a file from an ext4 formatted partition to RAM, execute
	ext4load <interface> <dev[:part]> [addr] [filename] [bytes]
	For example:
	UBOOT #ext4load mmc 2:2 0x30007fc0 uImage

4. To write a file to a ext4 formatted partition.
	a) First load a file to RAM at a particular address for example 0x30007fc0.
	Now execute ext4write command
	ext4write <interface> <dev[:part]> [filename] [Address] [sizebytes]
	For example:
	UBOOT #ext4write mmc 2:2 /boot/uImage 0x30007fc0 6183120
	(here 6183120 is the size of the file to be written)
	Note: Absolute path is required for the file to be written

References :
	-- ext4 implementation in Linux Kernel
	-- Uboot existing ext2 load and ls implementation
	-- Journaling block device JBD2 implementation in linux Kernel