Skip to content
Snippets Groups Projects
README.ext4 2.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • U-Boot supports access of both ext2 and ext4 filesystems, either in read-only
    mode or in read-write mode.
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    First, to enable support for both ext4 (and, automatically, ext2 as well),
    but without selecting the corresponding commands, use one of:
    
      #define CONFIG_FS_EXT4	(for read-only)
      #define CONFIG_EXT4_WRITE	(for read-write)
    
    Next, to select the ext2-related commands:
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
      * ext2ls
      * ext2load
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    or ext4-related commands:
    
      * ext4size
      * ext4ls
      * ext4load
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    use one or both of:
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
      #define CONFIG_CMD_EXT2
      #define CONFIG_CMD_EXT4
    
    Selecting either of the above automatically defines CONFIG_FS_EXT4 if it
    wasn't defined already.
    
    In addition, to get the write access command "ext4write", use:
    
      #define CONFIG_CMD_EXT4_WRITE
    
    which automatically defines CONFIG_EXT4_WRITE if it wasn't defined
    already.
    
    Also relevant are the generic filesystem commands, selected by:
    
      #define CONFIG_CMD_FS_GENERIC
    
    This does not automatically enable EXT4 support for you, you still need
    to do that yourself.
    
    Some sample commands to test ext4 support:
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    1. Check that the commands can be seen in the output of U-Boot help:
    
    	UBOOT #help
    	...
    
    	ext4load- load binary file from a Ext4 file system
    	ext4ls  - list files in a directory (default /)
    
    	ext4size - determine a file's size
    
    	ext4write- create a file in ext4 formatted partition
    
    	...
    
    2. To list the files in an ext4-formatted partition, run:
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    	ext4ls <interface> <dev[:part]> [directory]
    
    	For example:
    	UBOOT #ext4ls mmc 0:5 /usr/lib
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    3. To read and load a file from an ext4-formatted partition to RAM, run:
    
    
    	ext4load <interface> <dev[:part]> [addr] [filename] [bytes]
    
    	For example:
    	UBOOT #ext4load mmc 2:2 0x30007fc0 uImage
    
    Uma Shankar's avatar
    Uma Shankar committed
    
    
    4. To write a file to an 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's avatar
    Uma Shankar committed
    
    References :
    	-- ext4 implementation in Linux Kernel
    	-- Uboot existing ext2 load and ls implementation
    	-- Journaling block device JBD2 implementation in linux Kernel