shithub: lwext4

Download patch

ref: b31faab0fab65e98b1700622427e29555d8197d1
parent: 67234632535b947ed8430f8603052e6651bd1ec6
author: gkostka <kostka.grzegorz@gmail.com>
date: Mon Nov 11 09:34:55 EST 2013

Update readme file.

--- /dev/null
+++ b/readme.mediawiki
@@ -1,0 +1,186 @@
+==About lwext4==
+
+The main goal of the lwext4 project is to provide ext2/3/4 filesystem
+library for microcontrolers with SD/MMC card support. Ext2/3/4, in my
+opinion is one of the best filesystem for SD/MMC.
+
+kostka.grzegorz@gmail.com
+
+==Minimum memory requirements==
+
+=====PROGRAM:=====
+ - 20KB
+=====RAM:=====
+ - 8KB
+=====STACK:=====
+ - 1KB-2KB (not tested yet)
+
+
+==ext2/3/4 vs FAT32==
+;ext2/3/4 > FAT32
+* fseek operation on big file in FAT32 is IO heavy
+* ext2/3/4 HTREE directories operations are faster than FAT32  
+* ext4 extents makes truncate/remove opertion really fast
+* more at https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout
+
+;ext2/3/4 < FAT32
+* FAT32 has smaller footprint
+
+==Credits lwext4==
+
+A lot of the implementation of lwext4 was taken from HelenOS:
+    http://helenos.org/
+ 
+Some of ideas and features are based on FreeBSD and Linux implementations.
+
+==lwext4 supported/unsupported ext2/3/4 fs features==
+
+;FEATURE_INCOMPAT (unable to mount with unsupported feature):
+ COMPRESSION: no
+ FILETYPE:    yes
+ RECOVER:     no
+ JOURNAL_DEV: no
+ META_BG:     no
+ EXTENTS:     yes
+ 64BIT:       yes
+ MMP:         no
+ FLEX_BG:     no
+ EA_INODE:    no
+ DIRDATA:     no
+ 
+;FEATURE_INCOMPAT (able to mount with unsupported feature):
+ DIR_PREALLOC:   no
+ IMAGIC_INODES:  no
+ HAS_JOURNAL:    no
+ EXT_ATTR:       no
+ RESIZE_INODE:   no
+ DIR_INDEX:      yes
+
+;FEATURE_RO (able to mount in read only with unsupported feature):
+ SPARSE_SUPER:  yes
+ LARGE_FILE:    yes
+ BTREE_DIR:     no
+ HUGE_FILE:     yes
+ GDT_CSUM:      yes
+ DIR_NLINK:     yes
+ EXTRA_ISIZE:   yes
+
+==Supported filetypes:==
+ FIFO:      no
+ CHARDEV:   no
+ DIRECTORY: yes
+ BLOCKDEV:  no
+ FILE:      yes
+ SOFTLINK:  no
+ SOCKET:    no
+
+==Other:==
+ - block_size: 1KB, 2KB, 4KB ... 64KB
+ - little/big endian architecture support
+
+
+==lwext4 project tree==
+
+ - blockdev         - block devices set, supported blockdevs
+ -- filedev         - file based block device
+ -- io_raw          - wiodows IO block device
+
+ - demos            - demo directory sources
+ -- generic         - generic demo app, used for development and and debbuging purpose
+ 
+ - lwext4           - internals of the lwext4 library
+
+ - toolchain        - specific toolchain cmake files
+
+ - ext4.h           - lwext4 client library header
+ - CMakeLists.txt   - CMake config file
+ - ext_images.7z    - ext2/3/4 100MB images
+ - Makefile         - helper makefile to call cmake
+ - readme.mediawiki - yes, you are here ;)
+  
+==lwext4 compile Windows==
+;Tools needed:
+* CMake:  http://www.cmake.org/cmake/resources/software.html
+* MinGw:  http://www.mingw.org/
+* GnuWin: http://gnuwin32.sourceforge.net/ 
+
+;Create CMake files:
+ make
+
+;Remove CMake files:
+ clean
+
+;Build
+ cd build_generic
+ make
+
+==lwext4 compile Linux==
+
+Tools needed:
+ - CMake:  http://www.cmake.org/cmake/resources/software.html
+ 
+;Create CMake files:
+ make
+
+;Remove CMake files:
+ clean
+
+;Build
+ cd build_generic
+ make
+
+==lwext4 generic demo app==
+
+Features:
+ - load ext2/3/4 images
+ - load linux block device with ext2/3/4 part
+ - load windows volume with ext2/3/4 filesystem 
+ - directory speed test
+ - file write/read speed test
+
+How to use:
+Windows/Linux fileimages:
+ cd build_generic
+ fileimage_demo --in ext2 
+
+Windows volumes:
+ cd build_generic
+ fileimage_demo --in I: --wpart
+
+Linux block devices:
+ cd build_generic
+ fileimage_demo --in /dev/your_block_device
+
+Usage:                                                          
+    --i   - input file              (default = ext2)            
+    --rws - single R/W size         (default = 1024 * 1024)     
+    --rwc - R/W count               (default = 10)                     
+    --cache  - 0 static, 1 dynamic  (default = 1)               
+    --dirs   - directory test count (default = 0)               
+    --clean  - clean up after test                              
+    --bstat  - block device stats                               
+    --sbstat - superblock stats                                 
+    --wpart  - windows partition mode                           
+
+
+==lwext4 compile Cross==
+
+Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
+Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
+
+Build bf158 library:
+ make bf518
+
+Build cortex-m3 library:
+ make cortex-m3
+
+Build cortex-m4 library:
+ make cortex-m4
+
+==lwext4 ports==
+ -Blackfin BF518 EZKIT SD Card Demo: TBD
+ -STM32F4-Discovery SD Card Demo: TBD 
+
+==lwext4 footprint==
+                           
+TBD
\ No newline at end of file