1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 CFG_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.
- CFG_JFFS2_FIRST_BANK
- defined the first flash bank to use
- CFG_JFFS2_FIRST_SECTOR
- defines the first sector to use
- The second way is to define CFG_JFFS_CUSTOM_PART and implement the
- jffs2_part_info(int part_num) function in your board specific files.
- In this mode CFG_JFFS2_FIRST_BANK and CFG_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 CFG_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).
|