Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:user-guide:filesystems-and-partitions [2017/10/30 20:23] – ↷ Page name changed from docs:user-guide:advancedfilesystem to docs:user-guide:filesystems-and-partitions bobafetthotmail | docs:guide-user:storage:filesystems-and-partitions [2024/09/04 08:38] – [Partitions] artoria2e5 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Filesystems ====== | ====== Filesystems ====== | ||
| - | This page contains | + | This page contains |
| - | A filesystem | + | OpenWrt |
| - | Windows, macOS/OSX and LEDE (Linux) use different default filesystems, | + | |
| - | LEDE is a Linux-based system, so it can read and write data written in Windows and macOS filesystems, | + | |
| - | In case you wonder, the reason for this lack of performance/ | + | |
| - | ===== Currently supported | + | Installing these additional |
| - | To see what filesystems can be read by the firmware currently installed, write '' | + | |
| - | This is an example output from a LEDE x86 Virtual Machine, it can read many filesystems as space is not an issue. | + | |
| - | For most devices, you will have to choose what filesystems you need to be able to access, | + | |
| - | < | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | nodev bpf | + | |
| - | nodev | + | |
| - | nodev | + | |
| - | ext3 | + | |
| - | ext2 | + | |
| - | ext4 | + | |
| - | squashfs | + | |
| - | nodev | + | |
| - | btrfs | + | |
| - | f2fs | + | |
| - | xfs | + | |
| - | vfat</ | + | |
| - | ===== LEDE/ | + | ==== Check available |
| - | There are 2 main filesystems | + | To see what filesystems |
| - | In short:\\ | + | |
| - | * ext4 is best suited for hard drives | + | |
| - | * f2fs is best suited for flash drives (SSDs and usb thumbdrives) | + | |
| - | Choose | + | A full list of filesystems available in OpenWrt can be obtained by writing\\ |
| + | '' | ||
| + | |||
| + | The tools for the filesystem of your choosing can be found by writing\\ | ||
| + | '' | ||
| + | |||
| + | OpenWrt has drivers | ||
| + | |||
| + | ===== OpenWrt/ | ||
| + | The two most common Linux filesystems are [[wp> | ||
| + | |||
| + | * ext4 is well suited for HDDs and SSDs (using TRIM) and is the default filesystem of most desktop Linux distributions. | ||
| + | * f2fs is well suited for flash (SSDs or USB thumbdrives). The format can be incompatible between kernel versions, requiring some time for " | ||
| + | * btrfs is the default filesystem for more cutting-edge Linux distributions. It is considered the sucessor to ext4, with the author stating "there will be no ext5". It has some more advanced features such as checksumming. | ||
| - | <WRAP center round todo 90%> | + | ==== ext4 ==== |
| - | WARNING: **fsck.f2fs** from **f2fstools** 1.7.0 is broken on **ar71xx** (mips32 big endian) platform. | + | |
| - | **fsck.f2fs** corrupts valid f2fs partitions. Current **f2fstools** version in LEDE 17.01.1 (released mid-April) is version 1.8.0, which does not have this issue, check versions and upgrade at once. | + | |
| - | </ | + | |
| - | ==== Setup ext4 ==== | ||
| This command will download the tools needed to create and fix ext4 (and older versions)\\ | This command will download the tools needed to create and fix ext4 (and older versions)\\ | ||
| '' | '' | ||
| Line 53: | Line 32: | ||
| '' | '' | ||
| - | ==== Setup f2fs ==== | + | ==== f2fs ==== |
| This command will download the tools needed to create and fix f2fs\\ | This command will download the tools needed to create and fix f2fs\\ | ||
| '' | '' | ||
| Line 60: | Line 39: | ||
| '' | '' | ||
| - | ===== Other Linux filesystems (for advanced users) ===== | + | ==== btrfs ==== |
| - | a full list of supported linux filesystems can be obtained by writing\\ | + | This command will download the tools needed to create and fix btrfs\\ |
| - | '' | + | '' |
| - | the tools for the filesystem | + | If in the list of supported filesystems in your device you don't see btrfs, you must install also the driver itself\\ |
| - | '' | + | '' |
| + | |||
| + | ===== Windows filesystems ===== | ||
| + | |||
| + | The two most common filesystems used by Windows are [[wp> | ||
| + | |||
| + | ==== NTFS ==== | ||
| + | |||
| + | NTFS is the primary Windows filesystem and is available via the '' | ||
| + | |||
| + | Download and install via the NTFS-3G driver\\ | ||
| + | '' | ||
| + | |||
| + | This command will download | ||
| + | '' | ||
| + | |||
| + | See [[docs: | ||
| + | |||
| + | ===== Apple filesystems ===== | ||
| + | In Apple land you have [[wp> | ||
| + | |||
| + | ==== HFS and HFS+ ==== | ||
| + | This command will download | ||
| + | '' | ||
| + | |||
| + | If in the list of supported filesystems in your device you don't see **hfs** and **hfsplus**, | ||
| + | '' | ||
| - | As of this writing (2017) LEDE has drivers and filesystem tools for ext2/3/4, f2fs, xfs and btrfs, and drivers for most other filesystems supported by Linux. | ||
| ===== Multiplatform filesystems ===== | ===== Multiplatform filesystems ===== | ||
| - | The only filesystem that is recommended for drives you will use for multiplatform usage is [[wp> | ||
| - | Its main drawback (for a data drive) is that it cannot store a file bigger than 3.9 GiB even if the drive itself is bigger than that. | ||
| - | It is also prone to corruption if the device is disconnected while still writing, which can lead to data loss if the device is written again without running a filesystem check. | ||
| - | ==== Setup FAT32 ==== | + | ==== FAT32 ==== |
| - | this command will download the tools needed to create and fix FAT32 (and older versions)\\ | + | [[wp> |
| - | '' | + | |
| + | This command will download the tools needed to create and fix FAT32 (and older versions)\\ | ||
| + | '' | ||
| If in the list of supported filesystems in your device you don't see **vfat**, you must install also the driver itself\\ | If in the list of supported filesystems in your device you don't see **vfat**, you must install also the driver itself\\ | ||
| '' | '' | ||
| - | ==== Available NLS files ==== | + | === Available NLS files === |
| - | For some filesystems, | + | Some filesystems, |
| '' | '' | ||
| means that you need NLS codepage 437, and a message like\\ | means that you need NLS codepage 437, and a message like\\ | ||
| Line 89: | Line 92: | ||
| means that you need NLS ISO 8859-1. | means that you need NLS ISO 8859-1. | ||
| - | Available NLS files and their packages can be listed by writing '' | + | Available NLS packages can be listed by writing '' |
| ^ Name ^ Description | ^ Name ^ Description | ||
| Line 97: | Line 100: | ||
| | kmod-nls-cp775 | | kmod-nls-cp775 | ||
| | kmod-nls-cp850 | | kmod-nls-cp850 | ||
| - | | kmod-nls-cp852 | ||
| | kmod-nls-cp866 | | kmod-nls-cp866 | ||
| | kmod-nls-iso8859-1 | | kmod-nls-iso8859-1 | ||
| - | | kmod-nls-iso8859-13 | Kernel module for NLS ISO 8859-13 (Latin 7; Baltic) | ||
| - | | kmod-nls-iso8859-15 | Kernel module for NLS ISO 8859-15 (Latin 9) | | ||
| - | | kmod-nls-iso8859-2 | ||
| | kmod-nls-koi8r | | kmod-nls-koi8r | ||
| | kmod-nls-utf8 | | kmod-nls-utf8 | ||
| - | ===== Windows filesystems | + | ==== exFAT ==== |
| - | The only filesystem used on Windows PC is [[wp> | + | |
| - | Another filesystem that is used on newer SD cards bigger than 32 GiB is [[wp> | + | |
| - | ==== Setup NTFS ==== | + | exFAT is commonly used by OEMs for external SSDs and SD cards. The downside |
| - | This command will download the tools needed | + | |
| - | '' | + | |
| - | If in the list of supported filesystems in your device you don't see **ntfs**, you must install also the driver itself\\ | + | As of Linux kernel 5.4 there is a [[https:// |
| - | '' | + | |
| - | ==== Setup exFAT ==== | + | This will install |
| - | This command | + | '' |
| - | '' | + | |
| - | '' | + | Under Windows, exFAT does not support TRIM; but under Linux/ |
| - | ===== Apple filesystems | + | ===== Partitions |
| - | In Apple land you have [[wp> | + | |
| - | APFS is too new (as of 2017) and there is no support at all for it in LEDE (nor in Linux) | + | |
| - | + | ||
| - | ==== Setup HFS and HFS+ ==== | + | |
| - | This command will download the tools needed to create and fix HFS and HFS+\\ | + | |
| - | '' | + | |
| - | + | ||
| - | If in the list of supported filesystems in your device you don't see **hfs** and **hfsplus**, | + | |
| - | '' | + | |
| + | A [[wp> | ||
| + | This can be useful to separate different types of data, for example to keep your expanded firmware separate from the actual data you want to store and share, or data that must be easily accessible from Windows or macOS directly if you disconnect the external drive. | ||
| + | Discussing advanced partitioning is beyond the scope of this article, as OpenWrt uses the same commandline tools used by any other Linux system. | ||
| + | * **fdisk** tool is used to create/ | ||
| + | * **gdisk** tool is used to create/ | ||