mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-03 01:41:44 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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 ∂
 | 
						|
 | 
						|
		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 ∂
 | 
						|
	}
 | 
						|
	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).
 |