12ac6dde27a0a9c30a7acbcd1f20dbcffc49576a
[lwext4.git] / readme.txt
1 \r
2 About lwext4\r
3 ============\r
4 \r
5 The main goal of the lwext4 project is to provide ext2/3/4 filesystem\r
6 library for microcontrolers.\r
7 \r
8 kostka.grzegorz@gmail.com\r
9 \r
10 Credits lwext4\r
11 ==============\r
12 \r
13 A lot of the implementation of lwext4 was taken from HelenOS:\r
14  - http://www.helenos.org/\r
15  \r
16 Some of ideas and features are based on FreeBSD and Linux implementations.\r
17 \r
18 lwext4 supported/unsupported ext2/3/4 fs features\r
19 =================================================\r
20 FEATURE_INCOMPAT (unable to mount with unsupported feature):\r
21  - COMPRESSION: no\r
22  - FILETYPE:    yes\r
23  - RECOVER:     no\r
24  - JOURNAL_DEV: no\r
25  - META_BG:             no\r
26  - EXTENTS:     yes\r
27  - 64BIT:               yes\r
28  - MMP:                 no\r
29  - FLEX_BG              no\r
30  - EA_INODE:    no\r
31  - DIRDATA:             no\r
32  \r
33 FEATURE_INCOMPAT (able to mount with unsupported feature):\r
34  - DIR_PREALLOC:   no\r
35  - IMAGIC_INODES:  no\r
36  - HAS_JOURNAL:    no\r
37  - EXT_ATTR:       no\r
38  - RESIZE_INODE:   no\r
39  - DIR_INDEX:      yes\r
40 \r
41 FEATURE_RO (able to mount in read only with unsupported feature):\r
42  - SPARSE_SUPER:  yes\r
43  - LARGE_FILE:    yes\r
44  - BTREE_DIR:     no\r
45  - HUGE_FILE:     yes\r
46  - GDT_CSUM:      yes\r
47  - DIR_NLINK:     yes\r
48  - EXTRA_ISIZE:   yes\r
49 \r
50 Supported filetypes:\r
51  - FIFO:          no\r
52  - CHARDEV:       no\r
53  - DIRECTORY: yes\r
54  - BLOCKDEV:  no\r
55  - FILE:      yes\r
56  - SOFTLINK:  no\r
57  - SOCKET:    no\r
58 \r
59 Other:\r
60  - block_size: 1KB, 2KB, 4KB ... 64KB\r
61  - little/big endian architecture support\r
62 \r
63 \r
64 lwext4 project tree\r
65 ===================\r
66 \r
67 +blockdev      - block devices set, supported blockdevs\r
68  - filedev     - file based block device\r
69  - io_raw      - wiodows IO block device\r
70 \r
71 +demos         - demo directory sources\r
72  - generic     - generic demo app, used for development and and debbuging purpose\r
73  \r
74 +lwext4        - internals of the lwext4 library\r
75 \r
76 +toolchain     - specific toolchain cmake files\r
77 \r
78 +ext4.h        - lwext4 client library header\r
79 CMakeLists.txt - CMake config file\r
80 ext_images.7z  - ext2/3/4 100MB images\r
81 Makefile       - helper makefile to call cmake\r
82 readme.txt     - yes, you are here ;)\r
83   \r
84 lwext4 compile Windows\r
85 ======================\r
86 \r
87 Tools needed:\r
88  - CMake:  http://www.cmake.org/cmake/resources/software.html\r
89  - MinGw:  http://www.mingw.org/\r
90  - GnuWin: http://gnuwin32.sourceforge.net/ \r
91 \r
92 Build:\r
93 >>make\r
94 \r
95 Clean:\r
96 >>clean\r
97 \r
98 Successful build generates out of source build directory:\r
99 +build_generic\r
100 \r
101 lwext4 compile Linux\r
102 ====================\r
103 Tools needed:\r
104  - CMake:  http://www.cmake.org/cmake/resources/software.html\r
105  \r
106 Build:\r
107 >>make\r
108 \r
109 Clean:\r
110 >>clean\r
111 \r
112 Successful build generates out of source build directory:\r
113 +build_generic\r
114 \r
115 lwext4 generic demo app\r
116 =======================\r
117 \r
118 Features:\r
119  - load ext2/3/4 images\r
120  - load linux block device with ext2/3/4 part\r
121  - load windows volume with ext2/3/4 filesystem \r
122  - directory speed test\r
123  - file write/read speed test\r
124 \r
125 How to use:\r
126 Windows/Linux fileimages:\r
127 > cd build_generic\r
128 > fileimage_demo --in ext2 \r
129 \r
130 Windows volumes:\r
131 > cd build_generic\r
132 > fileimage_demo --in I: --wpart\r
133 \r
134 Linux block devices:\r
135 > cd build_generic\r
136 > fileimage_demo --in /dev/your_block_device\r
137 \r
138 Usage:                                                          \r
139     --i   - input file              (default = ext2)            \r
140     --rws - single R/W size         (default = 1024 * 1024)     \r
141     --rwc - R/W count               (default = 10)                     \r
142     --cache  - 0 static, 1 dynamic  (default = 1)               \r
143     --dirs   - directory test count (default = 0)               \r
144     --clean  - clean up after test                              \r
145     --bstat  - block device stats                               \r
146     --sbstat - superblock stats                                 \r
147     --wpart  - windows partition mode                           \r
148 \r
149 \r
150 lwext4 compile Cross\r
151 ====================\r
152 \r
153 Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded\r
154 Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php\r
155 \r
156 Build bf158 library:\r
157 > make bf518\r
158 \r
159 Build cortex-m3 library:\r
160 > make cortex-m3\r
161 \r
162 Build cortex-m4 library:\r
163 > make cortex-m4\r
164 \r
165 lwext4 ports\r
166 ============\r
167 \r
168 Blackfin BF518 EZKIT SD Card Demo: TBD\r
169 ETM32F4-Dis SD Card Demo: TBD \r
170 \r
171 \r
172 lwext4 footprint\r
173 ================                              \r