Blame view

doc/README.JFFS2 2.11 KB
c609719b8   wdenk   Initial revision
1
2
3
4
  JFFS2 options and usage.
  -----------------------
  
  JFFS2 in U-Boot is a read only implementation of the file system in
b3aff0cb9   Jon Loeliger   disk/ doc/ lib_*/...
5
  Linux with the same name. To use JFFS2 define CONFIG_CMD_JFFS2.
c609719b8   wdenk   Initial revision
6
7
8
9
10
  
  The module adds three new commands.
  fsload  - load binary file from a file system image
  fsinfo  - print information about file systems
  ls      - list files in a directory
f39748ae8   wdenk   * Patch by Paul R...
11
  chpart  - change active partition
c609719b8   wdenk   Initial revision
12

06d01dbe0   wdenk   * Avoid flicker o...
13
14
  If you boot from a partition which is mounted writable, and you
  update your boot environment by replacing single files on that
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
15
  partition, you should also define CONFIG_SYS_JFFS2_SORT_FRAGMENTS. Scanning
06d01dbe0   wdenk   * Avoid flicker o...
16
17
18
19
  the JFFS2 filesystem takes *much* longer with this feature, though.
  Sorting is done while inserting into the fragment list, which is
  more or less a bubble sort. That algorithm is known to be O(n^2),
  thus you should really consider if you can avoid it!
c609719b8   wdenk   Initial revision
20
21
22
23
24
  
  There is two ways for JFFS2 to find the disk. The default way uses
  the flash_info structure to find the start of a JFFS2 disk (called
  partition in the code) and you can change where the partition is with
  two defines.
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
25
  CONFIG_SYS_JFFS2_FIRST_BANK
c609719b8   wdenk   Initial revision
26
  	defined the first flash bank to use
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
27
  CONFIG_SYS_JFFS2_FIRST_SECTOR
c609719b8   wdenk   Initial revision
28
  	defines the first sector to use
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
29
  The second way is to define CONFIG_SYS_JFFS_CUSTOM_PART and implement the
c609719b8   wdenk   Initial revision
30
  jffs2_part_info(int part_num) function in your board specific files.
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
31
  In this mode CONFIG_SYS_JFFS2_FIRST_BANK and CONFIG_SYS_JFFS2_FIRST_SECTOR is not
c609719b8   wdenk   Initial revision
32
33
34
35
36
37
38
  used.
  
  The input is a partition number starting with 0.
  Return a pointer to struct part_info or NULL for error;
  
  Ex jffs2_part_info() for one partition.
  ---
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
39
  #if defined CONFIG_SYS_JFFS_CUSTOM_PART
c609719b8   wdenk   Initial revision
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  #include <jffs2/jffs2.h>
  
  static struct part_info part;
  
  struct part_info*
  jffs2_part_info(int part_num)
  {
  	if(part_num==0){
  		if(part.usr_priv==(void*)1)
  			return &part;
  
  		memset(&part, 0, sizeof(part));
  		part.offset=(char*)0xFF800000;
  		part.size=1024*1024*8;
  
  		/* Mark the struct as ready */
  		part.usr_priv=(void*)1;
  
  		return &part;
  	}
  	return 0;
  }
  #endif
  ---
  
  TODO.
8bde7f776   wdenk   * Code cleanup:
66
67
68
  	Remove the assumption that JFFS can dereference a pointer
  	into the disk. The current code do not work with memory holes
  	or hardware with a sliding window (PCMCIA).