]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - doc/README.JFFS2
* Avoid flicker on the TRAB's VFD by synchronizing the enable with
[karo-tx-uboot.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 CFG_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
12 If you boot from a partition which is mounted writable, and you
13 update your boot environment by replacing single files on that
14 partition, you should also define CFG_JFFS2_SORT_FRAGMENTS. Scanning
15 the JFFS2 filesystem takes *much* longer with this feature, though.
16 Sorting is done while inserting into the fragment list, which is
17 more or less a bubble sort. That algorithm is known to be O(n^2),
18 thus you should really consider if you can avoid it!
19
20
21 There is two ways for JFFS2 to find the disk. The default way uses
22 the flash_info structure to find the start of a JFFS2 disk (called
23 partition in the code) and you can change where the partition is with
24 two defines.
25
26 CFG_JFFS2_FIRST_BANK
27         defined the first flash bank to use
28
29 CFG_JFFS2_FIRST_SECTOR
30         defines the first sector to use
31
32
33 The second way is to define CFG_JFFS_CUSTOM_PART and implement the
34 jffs2_part_info(int part_num) function in your board specific files.
35 In this mode CFG_JFFS2_FIRST_BANK and CFG_JFFS2_FIRST_SECTOR is not
36 used.
37
38 The input is a partition number starting with 0.
39 Return a pointer to struct part_info or NULL for error;
40
41 Ex jffs2_part_info() for one partition.
42 ---
43 #if defined CFG_JFFS_CUSTOM_PART
44 #include <jffs2/jffs2.h>
45
46 static struct part_info part;
47
48 struct part_info*
49 jffs2_part_info(int part_num)
50 {
51         if(part_num==0){
52                 if(part.usr_priv==(void*)1)
53                         return &part;
54
55                 memset(&part, 0, sizeof(part));
56                 part.offset=(char*)0xFF800000;
57                 part.size=1024*1024*8;
58
59                 /* Mark the struct as ready */
60                 part.usr_priv=(void*)1;
61
62                 return &part;
63         }
64         return 0;
65 }
66 #endif
67 ---
68
69 TODO.
70
71         Add a new command so it's actually possible to change
72         partition.
73
74         Remove the assumption that JFFS can dereference a pointer
75         into the disk. The current code do not work with memory holes
76         or hardware with a sliding window (PCMCIA).