Blame view

bootloader/u-boot_2015_04/doc/README.JFFS2 2.11 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
66
67
68
69
70
71
72
73
74
  JFFS2 options and usage.
  -----------------------
  
  JFFS2 in U-Boot is a read only implementation of the file system in
  Linux with the same name. To use JFFS2 define CONFIG_CMD_JFFS2.
  
  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
  chpart  - change active partition
  
  If you boot from a partition which is mounted writable, and you
  update your boot environment by replacing single files on that
  partition, you should also define CONFIG_SYS_JFFS2_SORT_FRAGMENTS. Scanning
  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!
  
  
  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.
  
  CONFIG_SYS_JFFS2_FIRST_BANK
  	defined the first flash bank to use
  
  CONFIG_SYS_JFFS2_FIRST_SECTOR
  	defines the first sector to use
  
  
  The second way is to define CONFIG_SYS_JFFS_CUSTOM_PART and implement the
  jffs2_part_info(int part_num) function in your board specific files.
  In this mode CONFIG_SYS_JFFS2_FIRST_BANK and CONFIG_SYS_JFFS2_FIRST_SECTOR is not
  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.
  ---
  #if defined CONFIG_SYS_JFFS_CUSTOM_PART
  #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.
  
  	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).