Site Tools


jffs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
jffs [2020/05/24 10:17] rs232jffs [2021/11/12 00:57] (current) – there is not "underlyingg (Linux) OS" djk44883
Line 1: Line 1:
-Broadcom routers come with two important storage type:\\ +====== JFFS ====== 
-**FLASH** - This is where your tomato image is uploaded and executed. At boot the images is loaded inot so called squash-filesystem which mean it's executed read-only.\\ + 
-**NVRAM** - Is where the config is stored, so while loading from the squash-filesystem parameters under the form of variables are fetched from the NVRAM.\\ +The JFFS menu contains settings and information used to create, prepare and view the status of a JFFS2 partition used for permanent storage. 
-Since modern routers have a relatively large FLASH memory available tomato can "mountthe unused storage and make it available to the OS for normal file storage operations. This function is called JFFS.\\ + 
-The figures below are an example and don'scale. they will also vary based on your tomato version and especially your HW capabilitiesRefer to the [[hardware_compatibility|HW compatibility]] page to more information.\\ +Common routers contain two types of permanent storage: 
-{{:pasted:20200524-095635.png}}\\  + 
-To enable JFFS select the appropriate flag as per image below\\ +**Flash** - is the storage area where the FreshTomato firmware image is uploaded, stored and executed. At boot time, the image is loaded into a squash filesystem which means it's executed read-only. Flash size is measured in Megabytes (MB). You might find Flash storage occasionally referred to as Flash RAM. However, the FreshTomato team intentionally avoided this term, to reduce the chance of confusion with traditional (dynamic) RAM. 
-Executed when mounted can be used to run a script or similar just after the partition becomes available to tomato.\\ + 
-**Total / Free Size** displays the storage size/usageThe size is not configurable.\\ +**NVRAM** - (Non-volatile RAM) is used for storing the hardware's configuration. While loading the firmware from the squash filesystemparameters in the form of variables are fetched from the NVRAM. NVRAM size is relatively small and is measured in Kilobytes (KB). 
-**Format / Erase**The very first time you enable JFFS you must format the partition. Once done the (not mounted) should turn into (mounted)\\ + 
-Once JFFS is mounted it can be accessed in the filesystem under the root folder /jffs\\ +Since modern routers have a relatively large amount of Flash memory available, FreshTomato can mount the unused storage space and make it available to FreshTomato for normal file storage. This function is called JFFS, short for the //Journalling Flash File System// type used for the storageCurrently, JFFS2 (version 2) is used. 
-{{:pasted:20200524-101530.png}}\\ + 
-NOTEYou will not be able to upgrade FreshTomato if a JFFS partition is mountedif you do disable JFFS and upgrade FreshTomato you'll lose the content so a backup/restore operation is needed.\\ +The figures below represent an example of storage allocation (not to scale)The numbers will vary based on your FreshTomato version and your hardware specificationsSee the [[:hardware_compatibility|Hardware Compatibility]] page for more information on specific FLASH and NVRAM specifications. 
-**Very important**Flash storage is not meant for frequent write operations hence you must avoid constant writes into it e.g. storing the logs in JFFS is a really bad idea at it will shorten your router lifeLimitation is the writes butnot the reads so e.g. an entware installation would be totally ok insteadBeaware of your JFFS, it should be used only if no other storage like USB or CIFS is available.+ 
 +\\  [[https://wiki.freshtomato.org/lib/exe/detail.php?id=jffs&media=pasted:20200524-095635.png|{{:pasted:20200524-095635.png}}]] 
 + 
 +**Enable:** Checking this box enables JFFSas shown in the image below. (Default: Disabled). 
 + 
 +**Execute when mounted:** In this field, you can enter the name of a script or similar to run immediately after the partition becomes available to FreshTomato(Default: blank). 
 + 
 +**Total / Free Size**This displays the storage size available to be usedThis cannot be changed. 
 + 
 +**Format / Erase:** The very first time you enable JFFSyou must format the partition with the JFFS2 filesystem. Once formatting is complete, the "(not mounted)" status should change to "(mounted)" to reflect that FreshTomato has access to the partition. Once the JFFS partition is mountedit can be accessed in the filesystem under the root directory as /jffs 
 + 
 +\\  [[https://wiki.freshtomato.org/lib/exe/detail.php?id=jffs&media=pasted:20200524-101530.png|{{:pasted:20200524-101530.png}}]] \\ 
 + 
 +===== Notes/Troubleshooting ===== 
 + 
 +**WARNING**As a safety precaution, FreshTomato will prevent you from performing firmware upgrades if a JFFS partition is mounted/in use. The reason for this is that if you were to disable JFFS and upgrade the FreshTomato firmware, you might lose the contents of the /jffs partition. For this reason, you should do a backup and restore operation to preserve the data there. To learn more about backup and restore of JFFS partition data, see the XXXX page. 
 + 
 +**WARNING: **Flash storage is not designed for frequent write operations. Because of this, you should avoid performing frequent write operations to it. For example, avoid storing the logs in JFFS, as this will shorten the life of your router. However, flash memory's limitation is in the number or write operations, but not the number of read operationsTherefore, an Entware installation would be fineBe aware that your JFFS should be used only if no other storage like USB or CIFS share is available. 
 + 
jffs.1590311841.txt.gz · Last modified: 2020/05/24 10:17 by rs232