Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-riscv into...
[platform/kernel/u-boot.git] / doc / README.JFFS2
1 JFFS2 options and usage.
2 -----------------------
3
4 JFFS2 in U-Boot is a read only implementation of the file system in
5 Linux with the same name. To use JFFS2 define CONFIG_CMD_JFFS2.
6
7 The module adds three new commands.
8 fsload  - load binary file from a file system image
9 fsinfo  - print information about file systems
10 ls      - list files in a directory
11 chpart  - change active partition
12
13 If you do now need the commands, you can enable the filesystem separately
14 with CONFIG_FS_JFFS2 and call the jffs2 functions yourself.
15
16 If you boot from a partition which is mounted writable, and you
17 update your boot environment by replacing single files on that
18 partition, you should also define CONFIG_SYS_JFFS2_SORT_FRAGMENTS. Scanning
19 the JFFS2 filesystem takes *much* longer with this feature, though.
20 Sorting is done while inserting into the fragment list, which is
21 more or less a bubble sort. That algorithm is known to be O(n^2),
22 thus you should really consider if you can avoid it!
23
24
25 There only one way for JFFS2 to find the disk. It uses the flash_info
26 structure to find the start of a JFFS2 disk (called partition in the code)
27 and you can change where the partition is with two defines.
28
29 CONFIG_SYS_JFFS2_FIRST_BANK
30         defined the first flash bank to use
31
32 CONFIG_SYS_JFFS2_FIRST_SECTOR
33         defines the first sector to use
34 ---
35
36 TODO.
37
38         Remove the assumption that JFFS can dereference a pointer
39         into the disk. The current code do not work with memory holes
40         or hardware with a sliding window (PCMCIA).