Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:techref:filesystems [2021/03/04 21:56] – [Other filesystems] number mwynn | docs:techref:filesystems [2024/03/09 03:22] (current) – [Filesystems] add link to intro palebloodsky | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Filesystems ====== | ====== Filesystems ====== | ||
| - | This article is about file systems | + | This article is about file systems |
| - | For general external support for installing file systems on other devices, including partitioning and mounting see [[docs: | + | |
| - | Please read about the -> [[flash.layout]] as well. Also, note that there are two types of flash memory: [[wp> | + | For installing additional file systems, including partitioning and mounting, see this page for [[docs: |
| + | |||
| + | Please read about the [[flash.layout]] as well. Also, note that there are two types of flash memory: [[wp> | ||
| ===== Common File System ===== | ===== Common File System ===== | ||
| Line 10: | Line 11: | ||
| ==== OverlayFS ==== | ==== OverlayFS ==== | ||
| Used to merge two filesystems, | Used to merge two filesystems, | ||
| + | * [[wp> | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[http:// | + | * [[http:// |
| - | * was mainlined in Linux kernel 3.18, see [[https:// | + | * Was mainlined in Linux kernel 3.18 |
| - | * [[https:// | + | |
| * Overlayfs' | * Overlayfs' | ||
| + | |||
| ==== tmpfs ==== | ==== tmpfs ==== | ||
| - | * [[wp> | + | [[wp> |
| - | * ''/ | + | |
| - | * (+) no wear leveling | + | * [[https:// |
| + | |||
| + | * (+) doesn' | ||
| + | * (-) no wear leveling | ||
| * (-) volatile (doesn' | * (-) volatile (doesn' | ||
| - | * [[http:// | ||
| ==== SquashFS ==== | ==== SquashFS ==== | ||
| Line 30: | Line 35: | ||
| * (-) read only | * (-) read only | ||
| * (-) waste space, since each time a file contained on it is modified, actually a copy of it is being copied to the second (JFFS2) partition | * (-) waste space, since each time a file contained on it is modified, actually a copy of it is being copied to the second (JFFS2) partition | ||
| - | * [[http://lxr.free-electrons.com/source/Documentation/ | + | * [[https://www.kernel.org/doc/html/latest/ |
| - | * [[http://tree.celinuxforum.org/CelfPubWiki/ | + | * [[https://elinux.org/Squash_Fs_Comparisons|SquashFs Performance Comparisons]] |
| - | There is a generic problem when running SquashFS on NAND: The issue is that SquashFS has no bad block management at all and requires all blocks on order; but for proper NAND bad block management you also need to be able to skip bad blocks and occasionally relocate blocks (see [[http:// | + | There is a generic problem when running SquashFS on NAND: The issue is that SquashFS has no bad block management at all and requires all blocks on order; but for proper NAND bad block management you also need to be able to skip bad blocks and occasionally relocate blocks (see [[https:// |
| ==== JFFS2 ==== | ==== JFFS2 ==== | ||
| Line 42: | Line 47: | ||
| * (-) is compressed, so a program ('' | * (-) is compressed, so a program ('' | ||
| * (+) is compressed, so a program (which is preinstalled) takes much less space, so effectively you have more space | * (+) is compressed, so a program (which is preinstalled) takes much less space, so effectively you have more space | ||
| + | |||
| + | For NAND-flash targets, it was replaced with UBIFS. | ||
| ==== UBIFS ==== | ==== UBIFS ==== | ||
| * [[wp> | * [[wp> | ||
| - | * [[http://lxr.free-electrons.com/source/Documentation/ | + | * [[https://www.kernel.org/doc/html/latest/ |
| - | * [[https:// | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| * [[https:// | * [[https:// | ||
| Line 54: | Line 61: | ||
| * [[wp> | * [[wp> | ||
| * Ext2/3/4 is used on x86, x86-64 and for some arch with SD-card rootfs | * Ext2/3/4 is used on x86, x86-64 and for some arch with SD-card rootfs | ||
| - | * [[http://lxr.free-electrons.com/source/Documentation/ | + | * [[https://www.kernel.org/doc/html/latest/ |
| * (+) a program ('' | * (+) a program ('' | ||
| * (+) good ol' veteran FOSS file system | * (+) good ol' veteran FOSS file system | ||
| - | * (-) no journaling | + | * (-) no journaling |
| * (-) no wear leveling | * (-) no wear leveling | ||
| * (-) no transparent compression | * (-) no transparent compression | ||
| Line 69: | Line 76: | ||
| * was used by older OpenWrt version and thus there are still references to this in the Wiki | * was used by older OpenWrt version and thus there are still references to this in the Wiki | ||
| * replaced by [[# | * replaced by [[# | ||
| - | * [[https:// | + | * [[https:// |
| - | * [[http:// | + | * [[https:// |
| Line 134: | Line 141: | ||
| ===== Notes ===== | ===== Notes ===== | ||
| - | Example pictures: on formated | + | Example pictures: on formatted |
| * how data is stored and addressed by ext2: | * how data is stored and addressed by ext2: | ||
| * how data is stored and addressed by ext3: | * how data is stored and addressed by ext3: | ||