]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - doc/README.JFFS2
Remove CONFIG_SYS_BOOTCOUNT_SINGLEWORD
[people/ms/u-boot.git] / doc / README.JFFS2
index 0d39c46453a8489a61403a3bb09e9b8cd77a4fcb..0245da0488fb6ef65d6b665b332cf0e1f3ce81db 100644 (file)
@@ -2,67 +2,39 @@ 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 CFG_CMD_JFFS2.
+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 do now need the commands, you can enable the filesystem separately
+with CONFIG_FS_JFFS2 and call the jffs2 functions yourself.
 
-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
+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!
 
 
-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>
+There only one way for JFFS2 to find the disk. It 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.
 
-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;
+CONFIG_SYS_JFFS2_FIRST_BANK
+       defined the first flash bank to use
 
-               return &part;
-       }
-       return 0;
-}
-#endif
+CONFIG_SYS_JFFS2_FIRST_SECTOR
+       defines the first sector to use
 ---
 
 TODO.
 
-        Add a new command so it's actually possible to change
-       partition.
-
-        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).
+       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).