[U-Boot] [PATCH V5 0/2] *** Add ext4 filesystem support in uboot ***

Uma Shankar uma.shankar at samsung.com
Fri May 25 17:48:45 CEST 2012


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

To Enable ext2 ls and load commands, modify the board specific config file with
#define CONFIG_CMD_EXT2

To Enable ext4 ls and load commands, modify the board specific config file with
#define CONFIG_CMD_EXT4

To enable ext4 write command, modify the board specific config file with
#define CONFIG_CMD_EXT4
#define CONFIG_CMD_EXT4_WRITE

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

***


Uma Shankar (2):
  ext4fs ls load support
  ext4fs write support

Changes for v4:
	- Redesigned ext2, ext4 command interface
	- Removed ext2 folder from fs/
	- Memory Leak issue handled

Changes for v3:
        - Copyright has been updated in respective files
        - ext4fs has been made independant of ext2fs.c
        - Fixed API namespace
        - Removed endianness conversion API, used uboot defined API
          for the same
        - Fixed coding style issues
        - Moved README.ext4 file into doc folder

Changes for v2:
        - Code cleanup, changed comment style
        - camel case removed, resolved code alignment issues
        - memory allocation logic changed, removed busybox logic
        - Modified ext4 load to remove grub dependency (GPLv3)
        - Introduced new Config for ext4 write

Changes for v1:
        - Removed checkpatch warnings and errors
        - Moved common API's of ext2 and ext4 to one generic header file

 Makefile                   |    2 +-
 common/Makefile            |    6 +
 common/cmd_ext2.c          |  219 +----
 common/cmd_ext4.c          |  237 +++++
 common/cmd_ext_common.c    |  259 +++++
 doc/README.ext4            |   46 +
 fs/Makefile                |    5 +-
 fs/ext2/dev.c              |  131 ---
 fs/ext2/ext2fs.c           |  897 ------------------
 fs/{ext2 => ext4}/Makefile |    9 +-
 fs/ext4/crc16.c            |   62 ++
 fs/ext4/crc16.h            |   16 +
 fs/ext4/dev.c              |  145 +++
 fs/ext4/ext4_common.c      | 2228 ++++++++++++++++++++++++++++++++++++++++++++
 fs/ext4/ext4_common.h      |   88 ++
 fs/ext4/ext4_journal.c     |  667 +++++++++++++
 fs/ext4/ext4_journal.h     |  141 +++
 fs/ext4/ext4fs.c           | 1189 +++++++++++++++++++++++
 include/ext2fs.h           |   81 --
 include/ext4fs.h           |  144 +++
 include/ext_common.h       |  199 ++++
 21 files changed, 5455 insertions(+), 1316 deletions(-)
 create mode 100644 common/cmd_ext4.c
 create mode 100644 common/cmd_ext_common.c
 create mode 100644 doc/README.ext4
 delete mode 100644 fs/ext2/dev.c
 delete mode 100644 fs/ext2/ext2fs.c
 rename fs/{ext2 => ext4}/Makefile (86%)
 create mode 100644 fs/ext4/crc16.c
 create mode 100644 fs/ext4/crc16.h
 create mode 100644 fs/ext4/dev.c
 create mode 100644 fs/ext4/ext4_common.c
 create mode 100644 fs/ext4/ext4_common.h
 create mode 100644 fs/ext4/ext4_journal.c
 create mode 100644 fs/ext4/ext4_journal.h
 create mode 100644 fs/ext4/ext4fs.c
 delete mode 100644 include/ext2fs.h
 create mode 100644 include/ext4fs.h
 create mode 100644 include/ext_common.h



More information about the U-Boot mailing list