So far we have looked at the technology behind solid-state memory and at the many types of filesystems. Now it is time to summarize the options. In most cases, you will be able to divide your storage requirements into these three categories:
- Permanent, read-write data: Runtime configuration, network parameters, passwords, data logs, and user data
- Permanent, read-only data: Programs, libraries, and configurations files that are constant, for example, the root filesystem
- Volatile data: Temporary storage, for example, /tmp
The choices for read-write storage are as follows:
- NOR: UBIFS or JFFS2
- NAND: UBIFS, JFFS2, or YAFFS2
- eMMC: ext4 or F2FS
For read-only storage, you can use any of these, mounted with the ro attribute. Additionally, if you want to save space, you could use squashfs. Finally, for volatile storage, there is only one choice, tmpfs.
...