shithub: lwext4

Download patch

ref: 4546c5b04d9ed617a64970568acd58eef8d0666e
parent: d2e41cad74415336b519351d63d749776d0295bf
author: gkostka <kostka.grzegorz@gmail.com>
date: Wed Nov 5 16:17:33 EST 2014

Update readme file

--- a/readme.mediawiki
+++ b/readme.mediawiki
@@ -1,242 +1,250 @@
-==About==
-
-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:=====
- - 2KB
-
-
-==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==
-
-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.
-
-==Supported 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_COMPAT (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 mode):
- 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
-
-
-==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
- - fs_test.mk       - automatic tests definition
- - Makefile         - helper makefile to call cmake
- - readme.mediawiki - yes, you are here ;)
-  
-==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
-
-==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
-
-==Generic demo application==
-
-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
- generic --in ext2 
-
-Windows volumes:
- cd build_generic
- generic --in I: --wpart
-
-Linux block devices:
- cd build_generic
- generic --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                           
-
-==Client-server automatic test suite==
-
-Build:
- make
- cd build_generic
- make
- 
-Unpack images:
- make unpack_images
- 
-Run server:
- make server_ext2
- 
-Run tests:
- make all_tests
-
-
-==Cross-Compile==
-
- Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
- Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
-
-Build bf518 library:
- make bf518
- cd build_bf518
- make lwext4
-
-Build avrxmega7 library:
- make avrxmega7
- cd build_avrxmega7
- make lwext4
-
-Build cortex-m0 library:
- make cortex-m0
- cd build_cortex-m0
- make lwext4
-
-Build cortex-m3 library:
- make cortex-m3
- cd build_cortex-m3
- make lwext4
-
-Build cortex-m4 library:
- make cortex-m4
- cd build_cortex-m4
- make lwext4
-
-==Ports==
-STM32F429-DISCO USB flash drive Demo 
- 
-Build STM32F429 Demo:
- make cortex-m4
- cd build_cortex-m4
- make all
-
-==Footprint==
-
- TOOLCHAIN: arm-none-eabi-gcc
- OPT: Os  
- OUTPUT:
-   text    data     bss     dec     hex filename
-   5728       0       0    5728    1660 ext4.c.obj (ex liblwext4.a)
-   2264       0       0    2264     8d8 ext4_balloc.c.obj (ex liblwext4.a)
-   1324       0       0    1324     52c ext4_bcache.c.obj (ex liblwext4.a)
-    936       0       0     936     3a8 ext4_bitmap.c.obj (ex liblwext4.a)
-   2016       0       0    2016     7e0 ext4_blockdev.c.obj (ex liblwext4.a)
-    624       0       0     624     270 ext4_block_group.c.obj (ex liblwext4.a)
-     24       0       4      28      1c ext4_debug.c.obj (ex liblwext4.a)
-   2264       0       0    2264     8d8 ext4_dir.c.obj (ex liblwext4.a)
-   3204       0       0    3204     c84 ext4_dir_idx.c.obj (ex liblwext4.a)
-   3104       0       0    3104     c20 ext4_extent.c.obj (ex liblwext4.a)
-   7360       0       0    7360    1cc0 ext4_fs.c.obj (ex liblwext4.a)
-   2496       0       0    2496     9c0 ext4_hash.c.obj (ex liblwext4.a)
-    684       0       0     684     2ac ext4_ialloc.c.obj (ex liblwext4.a)
-    652       0       0     652     28c ext4_inode.c.obj (ex liblwext4.a)
-    352       0       0     352     160 ext4_super.c.obj (ex liblwext4.a)                      
+==About==
+
+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:=====
+ - 2KB
+
+
+==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==
+
+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.
+
+==Supported ext2/3/4 fs features==
+
+
+;FEATURE_INCOMPAT (unable to mount with unsupported feature):
+    compression: no
+    filetype: yes
+    recover: no (could be ignored)
+    journal_dev: no
+    meta_bg: yes
+    extents: yes
+    64bit: yes
+    mmp: no (could be ignored)
+    flex_bg: yes
+    ea_inode: no
+    dirdata: no
+    bg_meta_csum: no
+    largedir: no
+    inline_data: no
+
+;FEATURE_COMPAT (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 mode):
+    sparse_super: yes
+    large_file: yes
+    btree_dir: yes (obsolete)
+    huge_file: yes
+    gdt_csum: yes
+    dir_nlink: yes
+    extra_isize: yes
+    quota: no
+    bigalloc: no
+    metadata_csum: no
+
+
+==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
+
+
+==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
+ - fs_test.mk       - automatic tests definition
+ - Makefile         - helper makefile to call cmake
+ - readme.mediawiki - yes, you are here ;)
+  
+==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
+
+==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
+
+==Generic demo application==
+
+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
+ generic --in ext2 
+
+Windows volumes:
+ cd build_generic
+ generic --in I: --wpart
+
+Linux block devices:
+ cd build_generic
+ generic --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                           
+
+==Client-server automatic test suite==
+
+Build:
+ make
+ cd build_generic
+ make
+ 
+Unpack images:
+ make unpack_images
+ 
+Run server:
+ make server_ext2
+ 
+Run tests:
+ make all_tests
+
+
+==Cross-Compile==
+
+ Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
+ Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
+
+Build bf518 library:
+ make bf518
+ cd build_bf518
+ make lwext4
+
+Build avrxmega7 library:
+ make avrxmega7
+ cd build_avrxmega7
+ make lwext4
+
+Build cortex-m0 library:
+ make cortex-m0
+ cd build_cortex-m0
+ make lwext4
+
+Build cortex-m3 library:
+ make cortex-m3
+ cd build_cortex-m3
+ make lwext4
+
+Build cortex-m4 library:
+ make cortex-m4
+ cd build_cortex-m4
+ make lwext4
+
+==Ports==
+STM32F429-DISCO USB flash drive Demo 
+ 
+Build STM32F429 Demo:
+ make cortex-m4
+ cd build_cortex-m4
+ make all
+
+==Footprint==
+
+ TOOLCHAIN: arm-none-eabi-gcc
+ OPT: Os  
+ OUTPUT:
+   text    data     bss     dec     hex filename
+   5728       0       0    5728    1660 ext4.c.obj (ex liblwext4.a)
+   2264       0       0    2264     8d8 ext4_balloc.c.obj (ex liblwext4.a)
+   1324       0       0    1324     52c ext4_bcache.c.obj (ex liblwext4.a)
+    936       0       0     936     3a8 ext4_bitmap.c.obj (ex liblwext4.a)
+   2016       0       0    2016     7e0 ext4_blockdev.c.obj (ex liblwext4.a)
+    624       0       0     624     270 ext4_block_group.c.obj (ex liblwext4.a)
+     24       0       4      28      1c ext4_debug.c.obj (ex liblwext4.a)
+   2264       0       0    2264     8d8 ext4_dir.c.obj (ex liblwext4.a)
+   3204       0       0    3204     c84 ext4_dir_idx.c.obj (ex liblwext4.a)
+   3104       0       0    3104     c20 ext4_extent.c.obj (ex liblwext4.a)
+   7360       0       0    7360    1cc0 ext4_fs.c.obj (ex liblwext4.a)
+   2496       0       0    2496     9c0 ext4_hash.c.obj (ex liblwext4.a)
+    684       0       0     684     2ac ext4_ialloc.c.obj (ex liblwext4.a)
+    652       0       0     652     28c ext4_inode.c.obj (ex liblwext4.a)
+    352       0       0     352     160 ext4_super.c.obj (ex liblwext4.a)                      
                            
\ No newline at end of file