1JFFS2 options and usage. 2----------------------- 3 4JFFS2 in U-Boot is a read only implementation of the file system in 5Linux with the same name. To use JFFS2 define CFG_CMD_JFFS2. 6 7The module adds three new commands. 8fsload - load binary file from a file system image 9fsinfo - print information about file systems 10ls - list files in a directory 11 12If you boot from a partition which is mounted writable, and you 13update your boot environment by replacing single files on that 14partition, you should also define CFG_JFFS2_SORT_FRAGMENTS. Scanning 15the JFFS2 filesystem takes *much* longer with this feature, though. 16Sorting is done while inserting into the fragment list, which is 17more or less a bubble sort. That algorithm is known to be O(n^2), 18thus you should really consider if you can avoid it! 19 20 21There is two ways for JFFS2 to find the disk. The default way uses 22the flash_info structure to find the start of a JFFS2 disk (called 23partition in the code) and you can change where the partition is with 24two defines. 25 26CFG_JFFS2_FIRST_BANK 27 defined the first flash bank to use 28 29CFG_JFFS2_FIRST_SECTOR 30 defines the first sector to use 31 32 33The second way is to define CFG_JFFS_CUSTOM_PART and implement the 34jffs2_part_info(int part_num) function in your board specific files. 35In this mode CFG_JFFS2_FIRST_BANK and CFG_JFFS2_FIRST_SECTOR is not 36used. 37 38The input is a partition number starting with 0. 39Return a pointer to struct part_info or NULL for error; 40 41Ex jffs2_part_info() for one partition. 42--- 43#if defined CFG_JFFS_CUSTOM_PART 44#include <jffs2/jffs2.h> 45 46static struct part_info part; 47 48struct part_info* 49jffs2_part_info(int part_num) 50{ 51 if(part_num==0){ 52 if(part.usr_priv==(void*)1) 53 return ∂ 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 ∂ 63 } 64 return 0; 65} 66#endif 67--- 68 69TODO. 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). 77