128983f4bSRobert P. J. DayU-Boot supports access of both ext2 and ext4 filesystems, either in read-only 228983f4bSRobert P. J. Daymode or in read-write mode. 3ed34f34dSUma Shankar 428983f4bSRobert P. J. DayFirst, to enable support for both ext4 (and, automatically, ext2 as well), 5*3d22bae5STuomas Tynkkynenbut without selecting the corresponding commands, enable one of the following: 603e2ecf6SStephen Warren 7*3d22bae5STuomas Tynkkynen CONFIG_FS_EXT4 (for read-only) 8*3d22bae5STuomas Tynkkynen CONFIG_EXT4_WRITE (for read-write) 903e2ecf6SStephen Warren 1028983f4bSRobert P. J. DayNext, to select the ext2-related commands: 1128983f4bSRobert P. J. Day 1228983f4bSRobert P. J. Day * ext2ls 1328983f4bSRobert P. J. Day * ext2load 1428983f4bSRobert P. J. Day 1528983f4bSRobert P. J. Dayor ext4-related commands: 1628983f4bSRobert P. J. Day 1728983f4bSRobert P. J. Day * ext4size 1828983f4bSRobert P. J. Day * ext4ls 1928983f4bSRobert P. J. Day * ext4load 2028983f4bSRobert P. J. Day 2128983f4bSRobert P. J. Dayuse one or both of: 2228983f4bSRobert P. J. Day 23*3d22bae5STuomas Tynkkynen CONFIG_CMD_EXT2 24*3d22bae5STuomas Tynkkynen CONFIG_CMD_EXT4 25ed34f34dSUma Shankar 26*3d22bae5STuomas TynkkynenSelecting either of the above automatically selects CONFIG_FS_EXT4 if it 27*3d22bae5STuomas Tynkkynenwasn't enabled already. 2828983f4bSRobert P. J. Day 29*3d22bae5STuomas TynkkynenIn addition, to get the write access command "ext4write", enable: 3028983f4bSRobert P. J. Day 31*3d22bae5STuomas Tynkkynen CONFIG_CMD_EXT4_WRITE 3203e2ecf6SStephen Warren 33*3d22bae5STuomas Tynkkynenwhich automatically selects CONFIG_EXT4_WRITE if it wasn't defined 3428983f4bSRobert P. J. Dayalready. 3528983f4bSRobert P. J. Day 3628983f4bSRobert P. J. DayAlso relevant are the generic filesystem commands, selected by: 3728983f4bSRobert P. J. Day 38*3d22bae5STuomas Tynkkynen CONFIG_CMD_FS_GENERIC 39ed34f34dSUma Shankar 4028983f4bSRobert P. J. DayThis does not automatically enable EXT4 support for you, you still need 4128983f4bSRobert P. J. Dayto do that yourself. 42ed34f34dSUma Shankar 4328983f4bSRobert P. J. DaySome sample commands to test ext4 support: 4428983f4bSRobert P. J. Day 4528983f4bSRobert P. J. Day1. Check that the commands can be seen in the output of U-Boot help: 4628983f4bSRobert P. J. Day 47ed34f34dSUma Shankar UBOOT #help 4828983f4bSRobert P. J. Day ... 49ed34f34dSUma Shankar ext4load- load binary file from a Ext4 file system 50ed34f34dSUma Shankar ext4ls - list files in a directory (default /) 5128983f4bSRobert P. J. Day ext4size - determine a file's size 52ed34f34dSUma Shankar ext4write- create a file in ext4 formatted partition 5328983f4bSRobert P. J. Day ... 54ed34f34dSUma Shankar 5528983f4bSRobert P. J. Day2. To list the files in an ext4-formatted partition, run: 5628983f4bSRobert P. J. Day 57ed34f34dSUma Shankar ext4ls <interface> <dev[:part]> [directory] 5828983f4bSRobert P. J. Day 59ed34f34dSUma Shankar For example: 60ed34f34dSUma Shankar UBOOT #ext4ls mmc 0:5 /usr/lib 61ed34f34dSUma Shankar 6228983f4bSRobert P. J. Day3. To read and load a file from an ext4-formatted partition to RAM, run: 6328983f4bSRobert P. J. Day 64ed34f34dSUma Shankar ext4load <interface> <dev[:part]> [addr] [filename] [bytes] 6528983f4bSRobert P. J. Day 66ed34f34dSUma Shankar For example: 67ed34f34dSUma Shankar UBOOT #ext4load mmc 2:2 0x30007fc0 uImage 68ed34f34dSUma Shankar 6928983f4bSRobert P. J. Day4. To write a file to an ext4-formatted partition. 7028983f4bSRobert P. J. Day 71ed34f34dSUma Shankar a) First load a file to RAM at a particular address for example 0x30007fc0. 7228983f4bSRobert P. J. Day Now execute ext4write command: 73ed34f34dSUma Shankar ext4write <interface> <dev[:part]> [filename] [Address] [sizebytes] 7428983f4bSRobert P. J. Day 75ed34f34dSUma Shankar For example: 76ed34f34dSUma Shankar UBOOT #ext4write mmc 2:2 /boot/uImage 0x30007fc0 6183120 77ed34f34dSUma Shankar (here 6183120 is the size of the file to be written) 78ed34f34dSUma Shankar Note: Absolute path is required for the file to be written 79ed34f34dSUma Shankar 80ed34f34dSUma ShankarReferences : 81ed34f34dSUma Shankar -- ext4 implementation in Linux Kernel 82ed34f34dSUma Shankar -- Uboot existing ext2 load and ls implementation 83ed34f34dSUma Shankar -- Journaling block device JBD2 implementation in linux Kernel 84