Group: Software/FSDG distributions/Filesystems

From LibrePlanet
Jump to: navigation, search
(General comparison: clarify btrfs safety)
(General comparison: NTFS: add a bit more context)
 
(102 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
This article is about filesystems support and might be extended to take into account block device technologies too like LVM,RAID, etc.
 
This article is about filesystems support and might be extended to take into account block device technologies too like LVM,RAID, etc.
 +
 +
For now this article assumes that people use GNU/Linux as primary operating system, and ideally fully free distributions.  The interaction with nonfree operating systems isn't really taken into account yet in this article.
 +
 +
For instance there are partial implementations of filesystems and/or tools either in GNU/Linux or in nonfree operating systems that can interact badly between both free and nonfree operating systems. For instance:
 +
 +
* ntfsresize in GNU/Linux is known to break prevent recent Windows from booting, so some well known free software graphical tools like Gparted put huge warnings before resizing or moving NTFS partitions.
 +
 +
* Windows have less stable third party free BTRFS drivers that could potentially corrupt data. Since we don't want to run Windows to test we don't know how stable this is in practice.
 +
 +
There are also well known cases where things are mostly fine like with FAT32, Exfat, but people also already know that as these filesystems are usually used to transfer data between many different operating systems or embedded devices (like camera, music players, etc).
 +
 +
Though sometimes older nonfree operating systems have additional limitations (like with FAT32) that limits the file sizes or characters types. And sometimes filesystems made for nonfree operating systems (like FAT32, or Exfat) miss some features like symlinks that are standard under GNU/Linux, which is fine for storing simple files (like documents, music, videos, etc) but that can make them not suitable to install GNU/Linux on them or store code, configuration files, etc.
 +
 +
All that isn't taken into account in this article yet but as shown in the next section, distributions installers already gives hint of what filesystem is best supported.
  
 
== Choosing a filesystem ==
 
== Choosing a filesystem ==
Line 7: Line 21:
 
Using the default filesystem currently proposed during the installation of your distribution is a good idea. It makes sure that the filesystem is properly integrated and that the distribution trusts it enough (with data integrity, and security<ref>See the [https://lwn.net/Articles/939097/ Unmaintained filesystems as a threat vector lwn.net article] for more details.</ref>) to propose it by default.
 
Using the default filesystem currently proposed during the installation of your distribution is a good idea. It makes sure that the filesystem is properly integrated and that the distribution trusts it enough (with data integrity, and security<ref>See the [https://lwn.net/Articles/939097/ Unmaintained filesystems as a threat vector lwn.net article] for more details.</ref>) to propose it by default.
  
=== Known issues and limitations ===
+
For external medias like USB keys and so on, filesystems with unix permissions (like ext4) can also usable by less technical users: gnome-disks has a "Take Ownership..." function <ref>It is at least present in PureOS 10 (byzantium), Trisquel 11 (aramo) and Guix, so it is probably available everywhere. To use it, once gnome-disks is launched, you need to select the right partition, and then  find a button with some gears and click on it, it will show a menu with the "Take Ownership..." option.</ref> that can set the right permissions to make these usable, though "Take Ownership..." could be slow if there are a huge number of files.
 
 
* With NTFS the free software implementation lacks the ability to repair the filesystem without nonfree software, so if you have data in NTFS filesystem it would be a good idea to move it to other filesystems.
 
 
 
* ReiserFS 3 was removed from Linux in 2025.<ref name="reiserfs-deprecated">
 
The Linux kernel documentation for the REISERFS_FS option tells that:<br/>
 
Reiserfs is deprecated and scheduled to be removed from the kernel<br/>
 
in 2025. If you are still using it, please migrate to another<br/>
 
filesystem or tell us your usecase for reiserfs.<br/> In practice it is not available anymore since Linux 6.13, so if you need to migrate your data, you will need to use in one way or another Linux 6.12 or earlier. [https://www.kernel.org/ kenrel.org] lists the versions currently maintained and it is also possible to install (older) GNU/Linux distributions that ship a Linux version earlier than 6.13.</ref>
 
  
 
=== General comparison ===
 
=== General comparison ===
Line 23: Line 29:
 
! Filesystem
 
! Filesystem
 
! protection against data corruption
 
! protection against data corruption
 +
! Linux status
 +
! Limitations
 +
|-
 +
! Bcachefs
 +
| Not safe according to Linus Torvalds<ref>https://web.archive.org/web/20240422185730/https://lore.kernel.org/lkml/CAHk-=whDuqyVC6xMkOnNt2EeTd-s4uqa3sYghj5UzkELFW2bpw@mail.gmail.com/</ref>.
 +
|
 +
* Removed from Linux 6.18 in 2025<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f2c61db29f27</ref>.
 +
* Distributions with versions earlier than Linux 6.18 can still use Bcachefs.
 +
* Bcachefs might also still be available in distributions as an external kernel module.
 +
|
 
|-
 
|-
 
! btrfs
 
! btrfs
| Less safe (status from September 2025)<ref>According to the Bcachefs maintainer, the 30 August 2025, "btrfs is still eating filesystems - they may be better than they were, but I still see reports regularly, and they don't seem to be taking reliability seriously"</ref>
+
| Less safe (status from September 2025)<ref>According to the Bcachefs maintainer, [https://lwn.net/Articles/1035859/ the 30 August 2025], "btrfs is still eating filesystems - they may be better than they were, but I still see reports regularly, and they don't seem to be taking reliability seriously"</ref>, but in another hand it doesn't require regular file system checks, so it may be safer than ext4 if the ext4 filesystem is never checked.
 +
| {{yes|maintained}}
 +
|
 
|-
 
|-
! ext2, ext3, ext4
+
! ext2
| safest
+
| Less safe: because there is no journal, data can be corrupted during improper shutdown for instance.
 +
| {{yes|maintained}}
 +
|
 
|-
 
|-
|}
+
! ext3
 
+
|
== Defaults ==
+
| {{yes|maintained}}
 
+
|
The defaults filesystems used are often a good indication of what filesystems are best supported by the distribution.
 
 
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! Distribution
 
! Defaults
 
! Comments
 
 
|-
 
|-
! Dragora 3.0 beta2
+
! exfat
 +
|
 +
| {{yes|maintained}}
 
|  
 
|  
{| class="wikitable sortable" border="1"
+
* Cannot resize
|-
 
! Instal/l method
 
! Boot software
 
! Default filesystem
 
|-
 
| Graphical installer
 
| BIOS
 
| ext3
 
|-
 
|}
 
| In the graphical installer, the "FILE SYSTEM SELECTION" default choice is set to ext3. Beside that there is no defaults for the partitioning.
 
 
|-
 
|-
! Dynebolic
+
! ext4
 +
| Safest but requires regular filesystem checks<ref name="ext4-fsck">Big disks tend to not be perfect and that create file system corruptions. Ext4 has been designed for that in mind, and it requires users to somewhat regularely check the  ext4 file system (with fsck or graphical tools or at boot) to repair data once it is corrupted. If users wait too long the data can be corrupted beyond repair.</ref>.
 +
| {{yes|maintained}}
 
|
 
|
 +
|-
 +
! NTFS
 +
| Not safe: no ability to repair the filesystem without nonfree software<ref name="ntfsck">From the ntfsfix manual: "ntfsfix is a utility that fixes some common NTFS problems.  ntfsfix is NOT a Linux version of chkdsk. It only repairs some fundamental NTFS inconsistencies, resets the NTFS journal file and schedules an NTFS consistency check for the first boot into Windows.". This means that there are many things that ntfsfix can't repair and repairing these requires Windows (chksdk is Windows's equivalent of fsck).</ref>.
 +
| {{yes|maintained}}
 
|
 
|
 
|-
 
|-
! Guix 1.4.0
+
! ReiserFS 3
 +
| Not safe: fsck can corrupt ReiserFS 3 images<ref>https://en.wikipedia.org/wiki/ReiserFS#fsck</ref>.
 +
|
 +
* Removed from Linux 6.13 in 2025.<ref name="reiserfs-deprecated">
 +
The Linux kernel documentation for the REISERFS_FS option tells that:<br/>
 +
Reiserfs is deprecated and scheduled to be removed from the kernel<br/>
 +
in 2025. If you are still using it, please migrate to another<br/>
 +
filesystem or tell us your usecase for reiserfs.<br/> In practice it is not available anymore since Linux 6.13, so if you need to migrate your data, you will need to use in one way or another Linux 6.12 or earlier. [https://www.kernel.org/ kenrel.org] lists the versions currently maintained and it is also possible to install (older) GNU/Linux distributions that ship a Linux version earlier than 6.13.</ref>
 +
* Distributions with versions earlier than Linux 6.13 can still use ReiserFS 3
 +
|
 +
|-
 +
! XFS v4
 +
|
 +
|
 +
* Starts being removed from some GNU/Linux distributions in September 2025<ref name="xfs-v4-distros-removal">According to the [https://www.kernel.org/doc/html/latest/admin-guide/xfs.html Linux XFS driver documentation], "[Support for mounting V4 filesystems] will default to yes until September 2025". This means that some distributions that use the defaults will most likely end up disabling support for XFS v4.</ref>
 +
* Will be removed from Linux in September 2030.<ref name="xfs-v4-linux-removal">According to the [https://www.kernel.org/doc/html/latest/admin-guide/xfs.html Linux XFS driver documentation], "In September 2030, support [for XFS v4] will be removed from the codebase entirely [in Linux]"</ref>
 +
|
 +
|-
 +
! XFS v5
 +
|
 +
| {{yes|maintained}}
 
|
 
|
 +
|}
 +
 +
=== Creation without root ===
 +
 +
Sometimes it can be useful to create filesystems without root permissions. This is used to format files that are owned by the user (and not root) with a given filesystem. Some filesystem utilities even enable to populate the filesystem with data coming from a directory and/or store arbitrary files or directories inside the given filesystem without needing to mount the filesystem (which typically requires root permissions in one way or another).
 +
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
|-
+
|- bgcolor="#6699ff"
! Install method
+
! Filesystem
! Boot software
+
! Creation without root
! colspan=3 | Partitions
+
! Utilities required
|-
+
! UUID
! rowspan=3 | Graphical installer
+
! Label
! rowspan=3 | BIOS
+
! Guix image support
| bios_grub
+
|-
| swap
+
! BTRFS
| /
+
| {{yes|mkfs.btrfs -r ./directory [...]}}
|-
+
|  
| not encrypted
+
* btrfs-progs
| not encrypted
+
| {{yes}} <!-- UUID -->
| not encrypted
+
| {{yes}} <!-- Label -->
|-
+
| {{yes}}
| N/A
 
| swap
 
| ext4
 
|}
 
|
 
 
|-
 
|-
! Hyperbola
+
! exFAT
|
+
| exfatprogs 1.2.9 and exfat-utils 1.4.0 don't seem to support that
|
+
| ?
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{no}}
 
|-
 
|-
! LibreCMC
+
! ext2, ext3, ext4
|
+
| {{yes|mke2fs -d ./directory [...]}}
|
+
|
 +
* e2fsprogs
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{yes}}
 
|-
 
|-
! Parabola
+
! F2FS
|
+
| {{yes|mkfs.f2fs [...] && sload.f2fs -f ./directory [...]}}
|
+
|
 +
* f2fs-tools
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{yes}}
 +
|-
 +
! FAT12, FAT16, FAT32, VFAT
 +
| {{yes|mkfs.msdos [...] && mcopy -bsp -i [...]}}
 +
|
 +
* dosfstools
 +
* mtools
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{yes}}
 +
|-
 +
! HFS+
 +
| Might be possible with hpcopy and hpmkdir
 +
|
 +
* hfsplus
 +
| ? <!-- UUID -->
 +
| ? <!-- Label -->
 +
| {{no}}
 +
|-
 +
! JFS
 +
| jfsutils 1.1.15 don't seem to support that
 +
| ?
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{no}}
 +
|-
 +
! NILFS2
 +
| nilfsutils 2.2.11 don't seem to support that
 +
| ?
 +
| ? <!-- UUID -->
 +
| ? <!-- Label -->
 +
| {{no}}
 
|-
 
|-
! ProteanOS
+
! NTFS
|
+
| ntfscp can copy regular files, but it is unclear how to copy directories or other file types (/dev/ nodes, symlinks, etc)
 
|
 
|
 +
* ntfs-3g
 +
| ? <!-- UUID -->
 +
| ? <!-- Label -->
 +
| {{no}}
 
|-
 
|-
! PureOS 10 (byzantium)
+
! XFS
|
+
| Might be possible since xfsprogs 6.17.0 ([https://marc.info/?l=linux-xfs&m=175371666506191 patch merged in 6.17.0])
{| class="wikitable sortable" border="1"
+
|  
|-
+
* xfsprogs
! Install method
+
| {{yes}} <!-- UUID -->
! Boot software
+
| {{yes}} <!-- Label -->
! colspan=2 | Partitions
+
| {{no}}
|-
+
|}
! rowspan=3 | Graphical installer
+
 
! rowspan=3 | BIOS
+
And for read-only filesystems:
| /boot
+
 
| /
+
{| class="wikitable sortable" border="1"
|-
+
|- bgcolor="#6699ff"
| not encrypted
+
! Filesystem
| LUKS
+
! Creation without root
|-
+
! Utilities required
| ext4
+
! UUID
| ext4
+
! Label
|}
+
! Guix image support
|
 
* In the graphical installer, encryption is mandatory when selecting "Erase disk", but it can be avoided when using manual partitioning.
 
 
|-
 
|-
! Replicant 6.0
+
! EROFS
|
+
| {{yes|mkfs.erofs [OPTIONS] /path/to/file.img DIRECTORY}}
 +
|
 +
* erofs-utils
 +
| {{yes}} <!-- UUID -->
 +
| {{yes}} <!-- Label -->
 +
| {{no}}
 +
|-
 +
! SquashFS
 +
| {{yes|mksquashfs ./directory [...]}}
 +
|
 +
* squashfs-tools
 +
| {{no}}<ref name="squashfs-tools-issue-59">https://github.com/plougher/squashfs-tools/issues/59</ref> <!-- UUID -->
 +
| {{no}}<ref name="squashfs-tools-issue-59"></ref> <!-- Label -->
 +
| {{no}}
 +
|}
 +
 
 +
And for other things than filesystems:
 +
 
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! patition type
 +
! Creation without root
 +
! Utilities required
 +
! Guix image support
 
|-
 
|-
! Trisquel 10 (nabia)
+
! LUKS (v1 and/or v2)
|
+
| May be possible with cryptsetup-reencrypt
 +
|
 +
| {{no}}
 
|-
 
|-
! Ututo S
+
! swap
 +
| {{yes|mkswap --file [...]}}
 
|
 
|
 +
* util-linux
 +
| {{yes}}
 
|-
 
|-
 
|}
 
|}
  
== Filesystems ==
+
=== Tools support ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
|- bgcolor="#6699ff"
! rowspan=2  |
+
! Filesystem
! colspan=12 | Distributions
+
! "lvresize --resizefs" reduce support
 +
! "lvresize --resizefs" extend support
 +
|-
 +
! BTRFS
 +
| {{no}}
 +
| {{yes}}
 
|-
 
|-
! Dragora 3.0 beta2
+
! ext2, ext3, ext4
! Dynebolics
+
| {{yes}}
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
+
| {{yes}}
! Guix i586-gnu (HURD)
+
|-
! Hyperbola
+
! F2FS
! LibreCMC
+
| {{no}}
! Parabola
+
| {{no}}
! ProteanOS
+
|-
! PureOS 10 (byzantium)
+
! FAT12, FAT16, FAT32, VFAT
! Replicant 6.0
+
| {{no}}
! Trisquel 11 (aramo)
+
| {{no}}
! Ututo S
 
 
|-
 
|-
! btrfs
+
! JFS
| <!--  Dragora -->
+
| {{no}}
{| class="wikitable sortable" border="1"
+
| {{no}}
|- bgcolor="#6699ff"
+
|-
! Packages
+
! NILFS2
| {{yes|Yes: {{DistroPackage|Dragora|tools/btrfs-progs}}}}
+
| {{no}}
|-
+
| {{no}}
! Rootfs with the graphical installer
+
|-
| {{yes}}
+
! NTFS
|}
+
| {{no}}
| <!--  Dynebolics -->
+
| {{no}}
| <!--  Guix x86 GNU/Linux -->
+
|-
 +
! XFS
 +
| {{no}}
 +
| {{yes}}
 +
|}
 +
 
 +
== Defaults ==
 +
 
 +
The defaults filesystems used are often a good indication of what filesystems are best supported by the distribution.
 +
 
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Distribution
 +
! Defaults
 +
! Comments
 +
|-
 +
! Dragora 3.0 beta2
 +
|  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
|- bgcolor="#6699ff"
 
 
  |-
 
  |-
  ! Packages
+
  ! Instal/l method
  | {{yes|Yes: {{DistroPackage|guix|btrfs-progs}}}}
+
  ! Boot software
 +
! Default filesystem
 
  |-
 
  |-
  ! Guix system<ref name="guix-system">This tells if that filesystem can be used in a system.scm system definition.</ref>
+
  | Graphical installer
  | {{yes}}
+
| BIOS
 +
  | ext3
 
  |-
 
  |-
! Installer
 
| {{yes}}
 
|-
 
! Rootfs
 
| {{yes}}
 
 
  |}
 
  |}
| <!--  Guix HURD -->
+
| In the graphical installer, the "FILE SYSTEM SELECTION" default choice is set to ext3. Beside that there is no defaults for the partitioning.
| <!--  Hyperbola -->
+
|-
| <!--  LibreCMC -->
+
! Dynebolic
| <!--  Parabola -->
+
|
 +
|
 +
|-
 +
! Guix 1.4.0
 +
|
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
|- bgcolor="#6699ff"
 
 
  |-
 
  |-
  ! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
+
  ! Install method
  | {{yes|Yes: {{DistroPackage|parabola|btrfs-progs}}}}
+
! Boot software
 +
  ! colspan=3 | Partitions
 
  |-
 
  |-
  ! Graphical installer
+
  ! rowspan=3 | Graphical installer
  |
+
! rowspan=3 | BIOS
 +
| bios_grub
 +
| swap
 +
  | /
 
  |-
 
  |-
! Rootfs
+
  | not encrypted
| {{yes}}
+
  | not encrypted
  |}
+
  | not encrypted
| <!-- ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
 
  |-
 
  |-
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
+
  | N/A
  | {{yes|Yes: {{DistroPackage|pureos|btrfs-progs}}}}
+
  | swap
|-
+
  | ext4
! Graphical installer
 
| {{no}}
 
|-
 
! Rootfs with the graphical installer
 
  | {{no}}
 
 
  |}
 
  |}
| <!--  Replicant 6.0 -->
+
|
| <!--  Trisquel 11 (aramo) -->
 
| <!--  Ututo S -->
 
 
|-
 
|-
! erofs
+
! Hyperbola
| <!-- Dragora -->
+
|
| <!--  Dynebolics -->
+
|
| <!--  Guix x86 GNU/Linux -->
+
|-
 +
! LibreCMC
 +
|
 +
|
 +
|-
 +
! Parabola
 +
|
 +
|
 +
|-
 +
! ProteanOS
 +
|
 +
|
 +
|-
 +
! PureOS 10 (byzantium)
 +
|
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
|- bgcolor="#6699ff"
 
! rowspan=2 |
 
! colspan=2 | Implementation
 
 
  |-
 
  |-
  ! kernel
+
  ! Install method
  ! fuse
+
  ! Boot software
 +
! colspan=2 | Partitions
 
  |-
 
  |-
  ! Packages
+
  ! rowspan=3 | Graphical installer
  | {{yes|Yes: {{DistroPackage|guix|erofs-utils}} and linux-libre}}
+
  ! rowspan=3 | BIOS
  | {{no}}
+
| /boot
 +
  | /
 
  |-
 
  |-
! Guix system<ref name="guix-system"></ref>
+
  | not encrypted
  | {{no}}
+
  | LUKS
  | {{no}}
 
 
  |-
 
  |-
! Installer
+
  | ext4
  | {{no}}
+
  | ext4
  | {{no}}
 
 
  |}
 
  |}
| <!-- Guix HURD -->
+
|
| <!--  Hyperbola -->
+
* In the graphical installer, encryption is mandatory when selecting "Erase disk", but it can be avoided when using manual partitioning.
| <!--  LibreCMC -->
+
|-
| <!--  Parabola -->
+
! Replicant 6.0
{| class="wikitable sortable" border="1"
+
|
|- bgcolor="#6699ff"
+
|-
! rowspan=2 |
+
! Trisquel 10 (nabia)
! colspan=2 | Implementation
+
|
|-
+
|-
! kernel
+
! Ututo S
! fuse
+
|
|-
+
|-
! Packages
+
|}
| {{yes|Yes: {{DistroPackage|parabola|erofs-utils}}}}
+
 
| {{yes|Yes: {{DistroPackage|parabola|erofsfuse}}, {{DistroPackage|parabola|erofs-utils}}}}
+
== Filesystems ==
|-
+
 
! Rootfs
+
{| class="wikitable sortable" border="1"
| ?
+
|- bgcolor="#6699ff"
| ?
+
! rowspan=2 |
|}
+
! colspan=12 | Distributions
| <!--  ProteanOS -->
+
|-
| <!--  PureOS 10 (byzantium) -->
+
! Dragora 3.0 beta2
| <!--  Replicant 6.0 -->
+
! Dynebolics
| <!--  Trisquel 11 (aramo) -->
+
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
 +
! Guix i586-gnu (HURD)
 +
! Hyperbola
 +
! LibreCMC
 +
! Parabola
 +
! ProteanOS
 +
! PureOS 10 (byzantium)
 +
! Replicant 6.0
 +
! Trisquel 11 (aramo)
 +
! Ututo S
 +
|-
 +
! btrfs
 +
| <!--  Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! rowspan=2 |
+
  ! Packages
! colspan=2 | Implementation
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/btrfs-progs}}}}
|-
 
! kernel
 
! fuse
 
|-
 
  ! Packages
 
  | {{yes|Yes: {{DistroPackage|parabola|erofs-utils}} and linux-libre}}
 
| {{no}}
 
|-
 
! Rootfs
 
| ?
 
| {{no}}
 
|}
 
| <!--  Ututo S -->
 
|-
 
|-
 
! exfat
 
| <!--  Dragora -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! Packages
 
| {{no}}
 
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
  | {{no}}
+
  | {{yes}}
 
  |}
 
  |}
 
| <!--  Dynebolics -->
 
| <!--  Dynebolics -->
Line 296: Line 414:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! rowspan=2 |
 
! colspan=2 | Implementation
 
 
  |-
 
  |-
  ! kernel
+
  ! Packages
  ! fuse
+
  | {{yes|Yes: {{DistroPackage|guix|btrfs-progs}}}}
 
  |-
 
  |-
  ! Packages
+
  ! Guix system<ref name="guix-system">This tells if that filesystem can be used in a system.scm system definition.</ref>
| {{yes|Yes: {{DistroPackage|Guix|exfatprogs}}}}
+
  | {{yes}}
  | {{yes|Yes: {{DistroPackage|Guix|exfat-utils}}}}
 
 
  |-
 
  |-
 
  ! Installer
 
  ! Installer
  | {{no}}
+
  | {{yes}}
| {{no}}
 
 
  |-
 
  |-
 +
! Rootfs
 +
| {{yes}}
 
  |}
 
  |}
 
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
 
| <!--  Hyperbola -->
 
| <!--  Hyperbola -->
Line 318: Line 433:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! rowspan=2 |
 
! colspan=2 | Implementation
 
 
  |-
 
  |-
  ! kernel
+
  ! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
  ! fuse
+
  | {{yes|Yes: {{DistroPackage|parabola|btrfs-progs}}}}
 
  |-
 
  |-
  ! Packages
+
  ! Graphical installer
  | {{yes|Yes: {{DistroPackage|Parabola|exfatprogs}}}}
+
  |
| {{yes|Yes: {{DistroPackage|Parabola|exfat-utils}}}}
 
 
  |-
 
  |-
 +
! Rootfs
 +
| {{yes}}
 
  |}
 
  |}
 
| <!--  ProteanOS -->
 
| <!--  ProteanOS -->
Line 333: Line 447:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! rowspan=2 |
 
! colspan=2 | Implementation
 
 
  |-
 
  |-
  ! kernel
+
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
! fuse
+
  | {{yes|Yes: {{DistroPackage|pureos|btrfs-progs}}}}
|-
 
! Packages
 
  | {{yes|Yes: {{DistroPackage|pureos|exfatprogs}}}}
 
| {{yes|Yes: {{DistroPackage|pureos|exfat-fuse}}, {{DistroPackage|pureos|exfat-utils}}}}
 
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
| {{yes}}
 
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer  
+
  ! Rootfs with the graphical installer
| {{no|Broken}}<ref>The installation fails with an error.</ref>
 
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
 
| <!--  Replicant 6.0 -->
 
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! erofs
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
Line 360: Line 473:
 
  ! fuse
 
  ! fuse
 
  |-
 
  |-
  ! Internal partitions
+
  ! Packages
 +
| {{yes|Yes: {{DistroPackage|guix|erofs-utils}} and linux-libre}}
 
  | {{no}}
 
  | {{no}}
| {{yes}}
 
 
  |-
 
  |-
  ! Rootfs
+
  ! Guix system<ref name="guix-system"></ref>
 
  | {{no}}
 
  | {{no}}
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
  ! MicroSD card
+
  ! Installer
 +
| {{no}}
 
  | {{no}}
 
  | {{no}}
| {{yes}}
 
|-
 
 
  |}
 
  |}
| <!--  Trisquel 11 (aramo) -->
+
| <!--  Guix HURD -->
| <!--  Ututo S -->
+
| <!--  Hyperbola -->
|-
+
| <!--  LibreCMC -->
! ext2
+
| <!-- Parabola -->
| <!-- Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! rowspan=2 |
 +
! colspan=2 | Implementation
 +
|-
 +
! kernel
 +
! fuse
 +
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|parabola|erofs-utils}}}}
 +
| {{yes|Yes: {{DistroPackage|parabola|erofsfuse}}, {{DistroPackage|parabola|erofs-utils}}}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Rootfs
  | {{yes}}
+
  | ?
 +
| ?
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- ProteanOS -->
| <!--  Guix x86 GNU/Linux -->
+
| <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! rowspan=2 |
 +
! colspan=2 | Implementation
 +
|-
 +
! kernel
 +
! fuse
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|parabola|erofs-utils}} and linux-libre}}
|-
 
! Guix system<ref name="guix-system"></ref>
 
|
 
|-
 
! Installer
 
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
  |
+
  | ?
 +
| {{no}}
 
  |}
 
  |}
| <!--  Guix HURD -->
+
| <!--  Ututo S -->
 +
|-
 +
|-
 +
! exfat
 +
| <!--  Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
|-
 
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
+
  | {{no}}
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Rootfs with the graphical installer
  | {{yes}}
+
  | {{no}}
|-
 
! Installer
 
| N/A<ref name="guix-hurd-installer">There is no HURD installer yet.</ref>
 
|-
 
! Rootfs
 
| {{yes}}
 
 
  |}
 
  |}
| <!-- Hyperbola -->
+
| <!--  Dynebolics -->
| <!-- LibreCMC -->
+
| <!--  Guix x86 GNU/Linux -->
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! Packages
 
| {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
 
|}
 
| <!-- ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!-- Replicant 6.0 -->
 
| <!-- Trisquel 11 (aramo) -->
 
| <!-- Ututo S -->
 
|-
 
! ext3
 
| <!--  Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! rowspan=2 |
 +
! colspan=2 | Implementation
 +
|-
 +
! kernel
 +
! fuse
 +
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|Guix|exfatprogs}}}}
 +
| {{yes|Yes: {{DistroPackage|Guix|exfat-utils}}}}
 +
|-
 +
! Installer
 +
| {{no}}
 +
| {{no}}
 
  |-
 
  |-
! Rootfs with the graphical installer
 
| {{yes}}
 
|}
 
| <!--  Dynebolics -->
 
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! Packages
 
| {{yes|Yes: {{DistroPackage|Guix|e2fsprogs}}}}
 
|-
 
! Installer
 
| {{no}}
 
 
  |}
 
  |}
 +
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
 
| <!--  Hyperbola -->
 
| <!--  Hyperbola -->
Line 459: Line 564:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! rowspan=2 |
 +
! colspan=2 | Implementation
 +
|-
 +
! kernel
 +
! fuse
 +
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|exfatprogs}}}}
 +
| {{yes|Yes: {{DistroPackage|Parabola|exfat-utils}}}}
 +
|-
 
  |}
 
  |}
 
| <!--  ProteanOS -->
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!--  PureOS 10 (byzantium) -->
| <!-- Replicant 6.0 -->
+
{| class="wikitable sortable" border="1"
| <!-- Trisquel 11 (aramo) -->
+
  |- bgcolor="#6699ff"
| <!-- Ututo S -->
+
! rowspan=2 |
|-
+
! colspan=2 | Implementation
! ext4
+
|-
| <!-- Dragora -->
+
! kernel
{| class="wikitable sortable" border="1"
+
! fuse
  |- bgcolor="#6699ff"
+
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|exfatprogs}}}}
 +
| {{yes|Yes: {{DistroPackage|pureos|exfat-fuse}}, {{DistroPackage|pureos|exfat-utils}}}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Graphical installer
 
  | {{yes}}
 
  | {{yes}}
 +
| {{no}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| {{no|Broken}}<ref>The installation fails with an error.</ref>
 +
| {{no}}
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!--  Replicant 6.0 -->
| <!--  Guix x86 GNU/Linux -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! rowspan=2 |
 +
! colspan=2 | Implementation
 
  |-
 
  |-
  ! Packages
+
  ! kernel
  | {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
+
  ! fuse
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Internal partitions
 +
| {{no}}
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
  ! Installer
+
  ! Rootfs
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
! MicroSD card
 +
| {{no}}
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
! Rootfs
 
| {{yes}}
 
 
  |}
 
  |}
| <!--  Guix HURD -->
+
| <!--  Trisquel 11 (aramo) -->
| <!-- Hyperbola -->
+
| <!-- Ututo S -->
 +
|-
 +
! ext2
 +
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
 
  |-
 
  |-
  ! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
+
  ! Rootfs with the graphical installer
| {{yes|Yes: e2fsprogs}}
 
|-
 
! Rootfs
 
 
  | {{yes}}
 
  | {{yes}}
 
  |}
 
  |}
| <!-- LibreCMC -->
+
| <!-- Dynebolics -->
| <!--  Parabola -->
+
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
+
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Guix system<ref name="guix-system"></ref>
 
  |
 
  |
 +
|-
 +
! Installer
 +
| {{no}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
  | {{yes}}
+
  |
 
  |}
 
  |}
| <!-- ProteanOS -->
+
| <!--  Guix HURD -->
| <!--  PureOS 10 (byzantium) -->  
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
+
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|e2fsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Guix system<ref name="guix-system"></ref>
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Installer
  | {{yes}}
+
  | N/A<ref name="guix-hurd-installer">There is no HURD installer yet.</ref>
|}
 
| <!-- Replicant 6.0 -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! Internal partitions
 
| {{yes}}
 
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
 
  | {{yes}}
 
  | {{yes}}
|-
 
! MicroSD card
 
| {{no}}<ref>After creating the rootfs with mkfs.ext4 from Guix, in Replicant, it says "Corrupted <vendor> SD card" in the notification bar.</ref>
 
|-
 
 
  |}
 
  |}
| <!-- Trisquel 11 (aramo) -->
+
| <!-- Hyperbola -->
 +
| <!-- LibreCMC -->
 +
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
|-
+
  ! Packages
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
+
  | {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
  | {{yes|Yes: {{DistroPackage|trisquel|e2fsprogs}}}}
+
  |}
  |-
+
| <!-- ProteanOS -->
! Graphical installer
+
| <!-- PureOS 10 (byzantium) -->
|
+
| <!-- Replicant 6.0 -->
  |-
+
| <!-- Trisquel 11 (aramo) -->
! Rootfs
 
| {{yes}}
 
|}
 
 
| <!-- Ututo S -->
 
| <!-- Ututo S -->
 
|-
 
|-
! f2fs
+
! ext3
| <!-- Dragora -->
+
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
  | {{no}}
+
  | {{yes}}
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- Dynebolics -->
 
| <!--  Guix x86 GNU/Linux -->
 
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
|-
 
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|f2fs-tools}}}}
+
  | {{yes|Yes: {{DistroPackage|Guix|e2fsprogs}}}}
 
  |-
 
  |-
! Guix system<ref name="guix-system"></ref>
+
  ! Installer
| {{yes}}
 
|-
 
  ! Installer
 
 
  | {{no}}
 
  | {{no}}
|-
 
! Rootfs
 
| {{yes}}
 
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
Line 595: Line 705:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
|-
+
  ! Packages
  ! Packages and manual installation<ref name="manual-installation"></ref>
+
  | {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
  | {{yes|Yes: {{DistroPackage|Parabola|f2fs-tools}}}}
 
|-
 
! Graphical installer
 
|
 
|-
 
! Rootfs
 
| {{yes}}
 
 
  |}
 
  |}
 
| <!--  ProteanOS -->
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!--  PureOS 10 (byzantium) -->
 +
| <!-- Replicant 6.0 -->
 +
| <!-- Trisquel 11 (aramo) -->
 +
| <!-- Ututo S -->
 +
|-
 +
! ext4
 +
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|Dragora|tools/e2fsprogs}}}}
 
  |-
 
  |-
! Packages and debootstrap installation<ref name="manual-installation"></ref>
+
  ! Rootfs with the graphical installer
| {{yes|Yes: {{DistroPackage|pureos|f2fs-tools}}}}
+
  | {{yes}}
|-
 
! Graphical installer
 
| {{no}}
 
|-
 
  ! Rootfs with the graphical installer
 
  | {{no}}
 
 
  |}
 
  |}
| <!-- Replicant 6.0 -->
+
| <!-- Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Internal partitions
+
  ! Packages
 +
| {{yes|Yes: {{DistroPackage|guix|e2fsprogs}}}}
 +
|-
 +
! Guix system<ref name="guix-system"></ref>
 +
| {{yes}}
 +
|-
 +
! Installer
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
| ?
+
  | {{yes}}
|-
 
! MicroSD card
 
  | {{yes}}<ref>We can easily view the card content with "File Manager". It also detects a new MicroSD card when it is just formatted.</ref>
 
|-
 
 
  |}
 
  |}
| <!-- Trisquel 11 (aramo) -->
+
| <!-- Guix HURD -->
| <!-- Ututo S -->
+
| <!-- Hyperbola -->
|-
 
! fat
 
| <!-- Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Packages
 
| {{yes|Yes: {{DistroPackage|Dragora|tools/dosfstools}}}}
 
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
  | {{no}}
+
| {{yes|Yes: e2fsprogs}}
 +
|-
 +
  ! Rootfs
 +
  | {{yes}}
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- LibreCMC -->
| <!--  Guix x86 GNU/Linux -->
+
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages
+
  ! Packages and manual installation<ref name="manual-installation">Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.</ref>
  | {{yes|Yes: {{DistroPackage|guix|dosfstools}}, {{DistroPackage|guix|mtools}}}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|e2fsprogs}}}}
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Graphical installer
  | {{yes}}
+
  |
 
  |-
 
  |-
  ! Installer
+
  ! Rootfs
 
  | {{yes}}
 
  | {{yes}}
|-
 
! Rootfs
 
| {{no}}
 
 
  |}
 
  |}
| <!--  Guix HURD -->
+
| <!-- ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages
+
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
  | {{yes|Yes: {{DistroPackage|guix|dosfstools}}, {{DistroPackage|guix|mtools}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|e2fsprogs}}}}
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Graphical installer
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
  ! Installer
+
  ! Rootfs with the graphical installer
  | N/A<ref name="guix-hurd-installer"></ref>
+
| {{yes}}
 +
  |}
 +
| <!-- Replicant 6.0 -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Internal partitions
 +
| {{yes}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
  | {{no}}
+
| {{yes}}
 +
|-
 +
! MicroSD card
 +
  | {{no}}<ref>After creating the rootfs with mkfs.ext4 from Guix, in Replicant, it says "Corrupted <vendor> SD card" in the notification bar.</ref>
 +
|-
 
  |}
 
  |}
| <!-- Hyperbola -->
+
| <!-- Trisquel 11 (aramo) -->
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages and manual installation<ref name="manual-installation"></ref>
+
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
  | {{yes|Yes: {{DistroPackage|parabola|dosfstools}}, {{DistroPackage|parabola|mtools}}}}
+
  | {{yes|Yes: {{DistroPackage|trisquel|e2fsprogs}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
Line 692: Line 804:
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
  | {{no}}
+
  | {{yes}}
 
  |}
 
  |}
| <!-- ProteanOS -->
+
| <!-- Ututo S -->
| <!-- PureOS 10 (byzantium) -->
+
|-
 +
! f2fs
 +
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
|-
 
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|dosfstools}}, {{DistroPackage|pureos|mtools}}}}
+
  | {{no}}
 
  |-
 
  |-
! Graphical installer
+
  ! Rootfs with the graphical installer
| {{yes}}
+
  | {{no}}
|-
 
  ! Rootfs with the graphical installer  
 
  | {{no|Broken}}<ref>The installation fails with an error.</ref>
 
 
  |}
 
  |}
| <!-- Replicant 6.0 -->
+
| <!-- Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Internal partitions
+
  ! Packages
 +
| {{yes|Yes: {{DistroPackage|guix|f2fs-tools}}}}
 +
|-
 +
! Guix system<ref name="guix-system"></ref>
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
  ! Rootfs
+
  ! Installer
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
  ! MicroSD card
+
  ! Rootfs
 
  | {{yes}}
 
  | {{yes}}
|-
 
 
  |}
 
  |}
| <!-- Trisquel 11 (aramo) -->
+
| <!-- Guix HURD -->
| <!-- Ututo S -->
+
| <!-- Hyperbola -->
|-
+
| <!--  LibreCMC -->
! hfs
+
| <!-- Parabola -->
| <!-- Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Packages
 
| {{no}}
 
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
! Packages and manual installation<ref name="manual-installation"></ref>
  | {{no}}
+
| {{yes|Yes: {{DistroPackage|Parabola|f2fs-tools}}}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
  ! Rootfs
 +
  | {{yes}}
 
  |}
 
  |}
| <!-- Dynebolics -->
 
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsutils There is no hfsutils package].</ref>
 
|
 
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsutils There is no hfsutils package].</ref>
 
| <!--  LibreCMC -->
 
| {{no}}<ref>[https://www.parabola.nu/packages/?sort=&q=hfsutils&maintainer=&flagged= There is no hfsutils package].</ref>
 
 
| <!--  ProteanOS -->
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!--  PureOS 10 (byzantium) -->
Line 746: Line 856:
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages
+
  ! Packages and debootstrap installation<ref name="manual-installation"></ref>
  | {{yes|Yes: {{DistroPackage|pureos|hfsutils}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|f2fs-tools}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
Line 755: Line 865:
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
| {{no}}<ref>There is no hfsutils repository in the manifest.</ref>
+
| <!-- Replicant 6.0 -->
| <!-- Trisquel 11 (aramo) -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
  ! Packages
+
  ! Internal partitions
  | {{yes|Yes: {{DistroPackage|trisquel|hfsutils}}}}
+
  | {{yes}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Rootfs
 
  | ?
 
  | ?
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! MicroSD card
  | ?
+
| {{yes}}<ref>We can easily view the card content with "File Manager". It also detects a new MicroSD card when it is just formatted.</ref>
 +
  |-
 
  |}
 
  |}
 +
| <!-- Trisquel 11 (aramo) -->
 
| <!-- Ututo S -->
 
| <!-- Ututo S -->
 
|-
 
|-
! hfs+
+
! fat
 
| <!-- Dragora -->
 
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/dosfstools}}}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
Line 782: Line 893:
 
  |}
 
  |}
 
| <!-- Dynebolics -->
 
| <!-- Dynebolics -->
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsprogs There is no hfsprogs package].</ref>
+
| <!--  Guix x86 GNU/Linux -->
|
 
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsprogs There is no hfsprogs package].</ref>
 
| <!--  LibreCMC -->
 
| {{no}}<ref>[https://www.parabola.nu/packages/?sort=&q=hfsprogs&maintainer=&flagged= There is no hfsprogs package].</ref>
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|hfsplus}}}}
+
  | {{yes|Yes: {{DistroPackage|guix|dosfstools}}, {{DistroPackage|guix|mtools}}}}
 +
|-
 +
! Guix system<ref name="guix-system"></ref>
 +
| {{yes}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Installer
  | {{no}}
+
  | {{yes}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Rootfs
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
| {{no}}<ref>There is no hfsprogs repository in the manifest.</ref>
+
| <!-- Guix HURD -->
| <!-- Trisquel 11 (aramo) -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|trisquel|hfsplus}}}}
+
  | {{yes|Yes: {{DistroPackage|guix|dosfstools}}, {{DistroPackage|guix|mtools}}}}
 +
|-
 +
! Guix system<ref name="guix-system"></ref>
 +
| {{yes}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Installer
  | ?
+
  | N/A<ref name="guix-hurd-installer"></ref>
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Rootfs
  | ?
+
  | {{no}}
 
  |}
 
  |}
| <!-- Ututo S -->
+
| <!-- Hyperbola -->
|-
+
| <!--  LibreCMC -->
! jfs
+
| <!-- Parabola -->
| <!-- Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Packages
 
| {{no}}
 
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
! Packages and manual installation<ref name="manual-installation"></ref>
 +
| {{yes|Yes: {{DistroPackage|parabola|dosfstools}}, {{DistroPackage|parabola|mtools}}}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
  ! Rootfs
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- ProteanOS -->
| <!--  Guix x86 GNU/Linux -->
+
| <!--  PureOS 10 (byzantium) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|jfsutils}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|dosfstools}}, {{DistroPackage|pureos|mtools}}}}
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Graphical installer
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
  ! Installer
+
  ! Rootfs with the graphical installer
 +
| {{no|Broken}}<ref>The installation fails with an error.</ref>
 +
|}
 +
| <!-- Replicant 6.0 -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Internal partitions
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
 +
| {{no}}
 +
|-
 +
! MicroSD card
 
  | {{yes}}
 
  | {{yes}}
 +
|-
 
  |}
 
  |}
| <!-- Guix HURD -->
+
| <!-- Trisquel 11 (aramo) -->
| <!-- Hyperbola -->
+
| <!-- Ututo S -->
| <!-- LibreCMC -->
+
|-
| <!-- Parabola -->
+
! hfs
 +
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Packages
 +
| {{no}}
 
  |-
 
  |-
  ! Packages
+
  ! Rootfs with the graphical installer
  | {{yes|Yes: {{DistroPackage|Parabola|jfsutils}}}}
+
  | {{no}}
 
  |}
 
  |}
| <!-- ProteanOS -->
+
| <!-- Dynebolics -->
| <!-- PureOS 10 (byzantium) -->
+
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsutils There is no hfsutils package].</ref>
 +
|
 +
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsutils There is no hfsutils package].</ref>
 +
| <!--  LibreCMC -->
 +
| {{no}}<ref>[https://www.parabola.nu/packages/?sort=&q=hfsutils&maintainer=&flagged= There is no hfsutils package].</ref>
 +
| <!--  ProteanOS -->
 +
| <!-- PureOS 10 (byzantium) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|jfsutils}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|hfsutils}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer  
+
  ! Rootfs with the graphical installer
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
| <!-- Replicant 6.0 -->
+
| {{no}}<ref>There is no hfsutils repository in the manifest.</ref>
 
| <!-- Trisquel 11 (aramo) -->
 
| <!-- Trisquel 11 (aramo) -->
| <!-- Ututo S -->
 
|-
 
! minix
 
| <!--  Dragora -->
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/util-linux}}}}
+
  | {{yes|Yes: {{DistroPackage|trisquel|hfsutils}}}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
! Graphical installer
  | {{no}}
+
| ?
 +
|-
 +
  ! Rootfs with the graphical installer
 +
  | ?
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- Ututo S -->
| <!-- Guix x86 GNU/Linux -->
+
|-
 +
! hfs+
 +
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Guix|util-linux}}}}
+
  | {{no}}
 
  |-
 
  |-
  ! Installer
+
  ! Rootfs with the graphical installer
 
  | {{no}}
 
  | {{no}}
|-
 
 
  |}
 
  |}
| <!-- Guix HURD -->
+
| <!-- Dynebolics -->
| <!--  Hyperbola -->
+
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsprogs There is no hfsprogs package].</ref>
 +
|
 +
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsprogs There is no hfsprogs package].</ref>
 
| <!--  LibreCMC -->
 
| <!--  LibreCMC -->
| <!--  Parabola -->
+
| {{no}}<ref>[https://www.parabola.nu/packages/?sort=&q=hfsprogs&maintainer=&flagged= There is no hfsprogs package].</ref>
 +
| <!--  ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
|-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|util-linux}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|hfsplus}}}}
 +
|-
 +
! Graphical installer
 +
| {{no}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| {{no}}
 
  |}
 
  |}
| <!--  ProteanOS -->
+
| {{no}}<ref>There is no hfsprogs repository in the manifest.</ref>
| <!-- PureOS 10 (byzantium) -->
+
| <!-- Trisquel 11 (aramo) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|util-linux}}}}
+
  | {{yes|Yes: {{DistroPackage|trisquel|hfsplus}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
  | {{yes}}
+
  | ?
 
  |-
 
  |-
  ! Rootfs with the graphical installer  
+
  ! Rootfs with the graphical installer
  | {{no|Broken}}<ref>The installation fails with an error.</ref>
+
  | ?
 
  |}
 
  |}
| <!-- Replicant 6.0 -->
+
| <!-- Ututo S -->
| <!--  Trisquel 11 (aramo) -->
 
| <!--  Ututo S -->
 
 
|-
 
|-
! nilfs2
+
! jfs
 
| <!-- Dragora -->
 
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 936: Line 1,079:
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|nilfs-utils}}}}
+
  | {{yes|Yes: {{DistroPackage|guix|jfsutils}}}}
 
  |-
 
  |-
 
  ! Guix system<ref name="guix-system"></ref>
 
  ! Guix system<ref name="guix-system"></ref>
  | ?
+
  | {{yes}}
 
  |-
 
  |-
 
  ! Installer
 
  ! Installer
  | {{no}}
+
  | {{yes}}
 
  |-
 
  |-
 
  ! Rootfs
 
  ! Rootfs
  | ?
+
  | {{yes}}
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
Line 955: Line 1,098:
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|nilfs-utils}}}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|jfsutils}}}}
 
  |}
 
  |}
 
| <!-- ProteanOS -->
 
| <!-- ProteanOS -->
Line 963: Line 1,106:
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|nilfs-tools}}}}
+
  | {{yes|Yes: {{DistroPackage|pureos|jfsutils}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
Line 975: Line 1,118:
 
| <!-- Ututo S -->
 
| <!-- Ututo S -->
 
|-
 
|-
! ntfs
+
! minix
 
| <!--  Dragora -->
 
| <!--  Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/ntfs-3g}}}}
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/util-linux}}}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
Line 990: Line 1,133:
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|ntfs-3g}}}}
+
  | {{yes|Yes: {{DistroPackage|Guix|util-linux}}}}
|-
 
! Guix system<ref name="guix-system"></ref>
 
| ?
 
 
  |-
 
  |-
 
  ! Installer
 
  ! Installer
  | {{no|Broken}}<ref>The graphical installer complains about some UUID related issue</ref>
+
  | {{no}}
 
  |-
 
  |-
! Rootfs
 
| {{no|Broken}}<ref>In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.</ref>
 
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
Line 1,008: Line 1,146:
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|ntfs-3g}}}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|util-linux}}}}
|-
 
 
  |}
 
  |}
 
| <!--  ProteanOS -->
 
| <!--  ProteanOS -->
Line 1,015: Line 1,152:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! rowspan=2 |
 
! colspan=2 | Implementation
 
|-
 
! kernel
 
! fuse
 
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
|
+
  | {{yes|Yes: {{DistroPackage|pureos|util-linux}}}}
  | {{yes|Yes: {{DistroPackage|pureos|ntfs-3g}}}}
 
 
  |-
 
  |-
  ! Graphical installer  
+
  ! Graphical installer
| {{no}}<ref>Once installed, the rootfs is mounted with FUSE and ntfs-3g.</ref>
 
 
  | {{yes}}
 
  | {{yes}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer  
 
  ! Rootfs with the graphical installer  
|
+
  | {{no|Broken}}<ref>The installation fails with an error.</ref>
  | {{No|Broken}}<ref>The installation succeeds, but then sudo and policykit are broken due to wrong permissions. So users can't install any software. It's also a very bad idea to use NTFS since there is at the time of writing no way to safely repair corrupted NTFS filesystems with free software: The only tools we have are in ntfs-3g and they are way too experimental and dangerous so they are probably not shipped by any distribution.</ref>
 
 
  |}
 
  |}
 
| <!--  Replicant 6.0 -->
 
| <!--  Replicant 6.0 -->
Line 1,037: Line 1,166:
 
| <!--  Ututo S -->
 
| <!--  Ututo S -->
 
|-
 
|-
! reiser4
+
! nilfs2
 
| <!-- Dragora -->
 
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/reiser4progs}}}}
+
  | {{no}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
Line 1,051: Line 1,180:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Kernel
 
| {{no}}<ref name="reiser4-not-upstream">According to the [https://reiser4.wiki.kernel.org/index.php/Reiser4_patchsets reiser 4 wiki], upstream Linux has no reiser4 support.</ref>
 
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|guix|nilfs-utils}}}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Guix system<ref name="guix-system"></ref>
 +
| ?
 +
|-
 +
! Installer
 
  | {{no}}
 
  | {{no}}
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Rootfs
  | {{no}}
+
  | ?
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
Line 1,069: Line 1,199:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Kernel
 
| {{no}}<ref name="reiser4-not-upstream"></ref>
 
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|nilfs-utils}}}}
|-
 
! Graphical installer
 
|
 
|-
 
! Rootfs
 
|
 
 
  |}
 
  |}
 
| <!-- ProteanOS -->
 
| <!-- ProteanOS -->
Line 1,085: Line 1,207:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Kernel
 
| {{no}}<ref name="reiser4-not-upstream"></ref>
 
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: reiser4progs}}
+
  | {{yes|Yes: {{DistroPackage|pureos|nilfs-tools}}}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
Line 1,101: Line 1,221:
 
| <!-- Ututo S -->
 
| <!-- Ututo S -->
 
|-
 
|-
! reiserfs
+
! ntfs
| <!-- Dragora -->
+
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Kernel
 
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
 
|-
 
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/ntfs-3g}}}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
 
  | {{no}}
 
  | {{no}}
 
  |}
 
  |}
| <!-- Dynebolics -->
+
| <!-- Dynebolics -->
 
| <!--  Guix x86 GNU/Linux -->
 
| <!--  Guix x86 GNU/Linux -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
  ! Kernel
+
  ! Packages
  | {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
+
  | {{yes|Yes: {{DistroPackage|guix|ntfs-3g}}}}
 
  |-
 
  |-
  ! Packages
+
  ! Guix system<ref name="guix-system"></ref>
  | {{no}}
+
  | ?
 
  |-
 
  |-
  ! Graphical installer
+
  ! Installer
  | {{no}}
+
  | {{no|Broken}}<ref>The graphical installer complains about some UUID related issue</ref>
 
  |-
 
  |-
  ! Rootfs with the graphical installer
+
  ! Rootfs
  | {{no}}
+
  | {{no|Broken}}<ref>In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.</ref>
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
| <!-- Hyperbola -->
+
| <!-- Hyperbola -->
| <!-- LibreCMC -->
+
| <!-- LibreCMC -->
| <!-- Parabola -->
+
| <!-- Parabola -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
! Kernel
 
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
 
|-
 
 
  ! Packages
 
  ! Packages
  | {{no}}
+
  | {{yes|Yes: {{DistroPackage|Parabola|ntfs-3g}}}}
|-
 
! Graphical installer
 
|
 
 
  |-
 
  |-
! Rootfs
 
|
 
 
  |}
 
  |}
| <!-- ProteanOS -->
+
| <!-- ProteanOS -->
| <!-- PureOS 10 (byzantium) -->
+
| <!-- PureOS 10 (byzantium) -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
  ! Kernel
+
  ! rowspan=2 |
  | {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
+
  ! colspan=2 | Implementation
 +
|-
 +
! kernel
 +
! fuse
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|reiserfsprogs}}}}
+
|
 +
  | {{yes|Yes: {{DistroPackage|pureos|ntfs-3g}}}}
 
  |-
 
  |-
  ! Graphical installer
+
  ! Graphical installer  
  | {{no}}
+
  | {{no}}<ref>Once installed, the rootfs is mounted with FUSE and ntfs-3g.</ref>
 +
| {{yes}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer  
 
  ! Rootfs with the graphical installer  
  | {{no}}
+
|
 +
  | {{No|Broken}}<ref>The installation succeeds, but then sudo and policykit are broken due to wrong permissions. So users can't install any software. It's also a very bad idea to use NTFS since there is at the time of writing no way to safely repair corrupted NTFS filesystems with free software: The only tools we have are in ntfs-3g and they are way too experimental and dangerous so they are probably not shipped by any distribution.</ref>
 
  |}
 
  |}
| <!-- Replicant 6.0 -->
+
| <!-- Replicant 6.0 -->
| <!-- Trisquel 11 (aramo) -->
+
| <!-- Trisquel 11 (aramo) -->
| <!-- Ututo S -->
+
| <!-- Ututo S -->
 
|-
 
|-
! xfs
+
! reiser4
 
| <!-- Dragora -->
 
| <!-- Dragora -->
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Dragora|tools/xfsprogs}}}}
+
  | {{yes|Yes: {{DistroPackage|Dragora|tools/reiser4progs}}}}
 
  |-
 
  |-
 
  ! Rootfs with the graphical installer
 
  ! Rootfs with the graphical installer
  | {{yes}}
+
  | {{no}}
 
  |}
 
  |}
 
| <!-- Dynebolics -->
 
| <!-- Dynebolics -->
Line 1,182: Line 1,297:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Kernel
 +
| {{no}}<ref name="reiser4-not-upstream">According to the [https://reiser4.wiki.kernel.org/index.php/Reiser4_patchsets reiser 4 wiki], upstream Linux has no reiser4 support.</ref>
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|guix|xfsprogs}}}}
+
  | {{no}}
 
  |-
 
  |-
  ! Guix system<ref name="guix-system"></ref>
+
  ! Graphical installer
  | {{yes}}
+
  | {{no}}
 
  |-
 
  |-
! Installer
+
  ! Rootfs with the graphical installer
| {{yes}}
+
  | {{no}}
|-
 
  ! Rootfs
 
  | {{yes}}
 
 
  |}
 
  |}
 
| <!--  Guix HURD -->
 
| <!--  Guix HURD -->
Line 1,201: Line 1,315:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Kernel
 +
| {{no}}<ref name="reiser4-not-upstream"></ref>
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|Parabola|xfsprogs}}, {{DistroPackage|Parabola|xfsdump}}}}
+
  | {{no}}
 +
|-
 +
! Graphical installer
 +
|
 
  |-
 
  |-
 +
! Rootfs
 +
|
 
  |}
 
  |}
 
| <!-- ProteanOS -->
 
| <!-- ProteanOS -->
Line 1,210: Line 1,331:
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
  |- bgcolor="#6699ff"
 
  |- bgcolor="#6699ff"
 +
! Kernel
 +
| {{no}}<ref name="reiser4-not-upstream"></ref>
 
  |-
 
  |-
 
  ! Packages
 
  ! Packages
  | {{yes|Yes: {{DistroPackage|pureos|xfsprogs}}, {{DistroPackage|pureos|xfsdump}}}}
+
  | {{yes|Yes: reiser4progs}}
 
  |-
 
  |-
 
  ! Graphical installer
 
  ! Graphical installer
Line 1,224: Line 1,347:
 
| <!-- Ututo S -->
 
| <!-- Ututo S -->
 
|-
 
|-
! rowspan=2  |
+
! reiserfs
! Dragora 3.0 beta2
+
| <!-- Dragora -->
! Dynebolics
 
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
 
! Guix i586-gnu (HURD)
 
! Hyperbola
 
! LibreCMC
 
! Parabola
 
! ProteanOS
 
! PureOS 10 (byzantium)
 
! Replicant 6.0
 
! Trisquel 11 (aramo)
 
! Ututo S
 
|-
 
! colspan=12 | Distributions
 
|}
 
 
 
=== More detailed Guix status ===
 
 
 
Guix has many areas where only some filesystems are supported. Because of that making a more detailed status about that is interesting.
 
 
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
! Filesystems
+
|- bgcolor="#6699ff"
! guix system: operating-system: file-systems
+
! Kernel
! guix system image
+
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
|-
+
|-
! btrfs
+
! Packages
| {{yes|yes:rootfs}}<ref name="FOOT10">https://guix.gnu.org/manual/devel/en/guix.html#FOOT10</ref>
+
| {{no}}
| {{yes}}
+
|-
|-
+
! Rootfs with the graphical installer
! ext2
+
| {{no}}
| {{yes}}
+
|}
| {{yes}}
+
| <!-- Dynebolics -->
|-
+
| <!--  Guix x86 GNU/Linux -->
! ext3
+
{| class="wikitable sortable" border="1"
| {{yes}}
+
|- bgcolor="#6699ff"
| {{yes}}
+
! Kernel
|-
+
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
! ext4
+
|-
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
+
! Packages
| {{yes}}
+
| {{no}}
|-
+
|-
! F2FS
+
! Graphical installer
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
+
| {{no}}
| {{no}}
+
|-
 +
! Rootfs with the graphical installer
 +
| {{no}}
 +
|}
 +
| <!--  Guix HURD -->
 +
| <!-- Hyperbola -->
 +
| <!-- LibreCMC -->
 +
| <!-- Parabola -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Kernel
 +
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
 +
|-
 +
! Packages
 +
| {{no}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
! Rootfs
 +
|
 +
|}
 +
| <!-- ProteanOS -->
 +
| <!-- PureOS 10 (byzantium) -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Kernel
 +
| {{orange|Until 2025}}<ref name="reiserfs-deprecated"></ref>
 +
|-
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|guix|reiserfsprogs}}}}
 +
|-
 +
! Graphical installer
 +
| {{no}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| {{no}}
 +
|}
 +
| <!-- Replicant 6.0 -->
 +
| <!-- Trisquel 11 (aramo) -->
 +
| <!-- Ututo S -->
 +
|-
 +
! XFS v4
 +
| <!-- Dragora 3.0 beta2 -->
 +
| <!-- Dynebolics -->
 +
| <!-- Guix i686-linux and x86_64-linux (x86 GNU/Linux) -->
 +
| <!-- Guix i586-gnu (HURD) -->
 +
| <!-- Hyperbola -->
 +
| <!-- LibreCMC -->
 +
| <!-- Parabola -->
 +
| <!-- ProteanOS -->
 +
| <!-- PureOS 10 (byzantium) -->
 +
| <!-- Replicant 6.0 -->
 +
| <!-- Trisquel 11 (aramo) -->
 +
{| class="wikitable sortable" border="1"
 +
|-
 +
! Kernel
 +
| Linux-image-generic has 'CONFIG_XFS_SUPPORT_V4=y', In Linux until 2030<ref name="xfs-v4-linux-removal"></ref>
 +
|-
 +
! Packages
 +
| {{yes}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| ?
 +
|}
 +
| <!-- Ututo S -->
 
|-
 
|-
! FAT16
+
! XFS v5
| {{yes}}
+
| <!-- Dragora -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|Dragora|tools/xfsprogs}}}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| {{yes}}
 +
|}
 +
| <!-- Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|guix|xfsprogs}}}}
 +
|-
 +
! Guix system<ref name="guix-system"></ref>
 +
| {{yes}}
 +
|-
 +
! Installer
 +
| {{yes}}
 +
|-
 +
! Rootfs
 +
| {{yes}}
 +
|}
 +
| <!--  Guix HURD -->
 +
| <!-- Hyperbola -->
 +
| <!-- LibreCMC -->
 +
| <!-- Parabola -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|Parabola|xfsprogs}}, {{DistroPackage|Parabola|xfsdump}}}}
 +
|-
 +
|}
 +
| <!-- ProteanOS -->
 +
| <!-- PureOS 10 (byzantium) -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages
 +
| {{yes|Yes: {{DistroPackage|pureos|xfsprogs}}, {{DistroPackage|pureos|xfsdump}}}}
 +
|-
 +
! Graphical installer
 +
| {{no}}
 +
|-
 +
! Rootfs with the graphical installer
 +
| {{no}}
 +
|}
 +
| <!-- Replicant 6.0 -->
 +
| <!-- Trisquel 11 (aramo) -->
 +
| <!-- Ututo S -->
 +
|-
 +
! rowspan=2  |
 +
! Dragora 3.0 beta2
 +
! Dynebolics
 +
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
 +
! Guix i586-gnu (HURD)
 +
! Hyperbola
 +
! LibreCMC
 +
! Parabola
 +
! ProteanOS
 +
! PureOS 10 (byzantium)
 +
! Replicant 6.0
 +
! Trisquel 11 (aramo)
 +
! Ututo S
 +
|-
 +
! colspan=12 | Distributions
 +
|}
 +
 
 +
=== More detailed Guix status ===
 +
 
 +
Guix has many areas where only some filesystems are supported. Because of that making a more detailed status about that is interesting.
 +
 
 +
{| class="wikitable sortable" border="1"
 +
! Filesystems
 +
! guix system: operating-system: file-systems
 +
! guix system image
 +
|-
 +
! btrfs
 +
| {{yes|yes:rootfs}}<ref name="FOOT10">https://guix.gnu.org/manual/devel/en/guix.html#FOOT10</ref>
 +
| {{yes}}
 +
|-
 +
! ext2
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
! ext3
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
! ext4
 +
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
 
| {{yes}}
 
| {{yes}}
 
|-
 
|-
! FAT32
+
! F2FS
| {{yes}}
+
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
| {{yes}}
+
| {{no}}
 +
|-
 +
! FAT16
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
! FAT32
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
! JFS
 +
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
 +
| {{no}}
 +
|-
 +
! XFS
 +
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
 +
| {{no}}
 +
|}
 +
 
 +
== Block device layer ==
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! rowspan=2  |
 +
! colspan=12 | Distributions
 +
|-
 +
! Dragora
 +
! Dynebolics
 +
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
 +
! Guix i586-gnu (HURD)
 +
! Hyperbola
 +
! LibreCMC
 +
! Parabola
 +
! ProteanOS
 +
! PureOS 10 (byzantium)
 +
! Replicant 6.0
 +
! Trisquel 11 (aramo)
 +
! Ututo S
 +
|-
 +
! dmraid
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
| <!--  ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! LDM<ref>Linux has "Windows Logical Disk Manager (Dynamic Disk) support", but it only support the format until Windows Vista with MBR only. This was verified by reading the Linux driver in Linux 6.18-rc6.</ref>
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
| <!--  ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! LUKS 1
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages and manual installation<ref name="manual-installation"></ref>
 +
| {{yes|Yes: {{DistroPackage|parabola|cryptsetup}}}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
! Rootfs
 +
| {{yes}}
 +
|}
 +
| <!--  ProteanOS -->
 +
| {{yes}}  <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| {{yes}}  <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! LUKS 2
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages and manual installation<ref name="manual-installation"></ref>
 +
| {{yes|Yes: {{DistroPackage|parabola|cryptsetup}}}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
! Rootfs
 +
| {{yes|Yes but requires a /boot as GRUB only has partial LUKS2 support}}
 +
|}
 +
| <!--  ProteanOS -->
 +
| {{yes}}  <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| {{yes}}  <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! md RAID (with mdadm)
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
| <!--  ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! LVM2
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
|-
 +
! Packages and manual installation<ref name="manual-installation"></ref>
 +
| {{yes|Yes: {{DistroPackage|parabola|lvm2}}}}
 +
|-
 +
! Graphical installer
 +
|
 +
|-
 +
! Rootfs
 +
| {{yes}}
 +
|}
 +
| <!--  ProteanOS -->
 +
| {{yes}}  <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| {{yes}}  <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
! nonraid<ref>https://github.com/qvr/nonraid</ref>
 +
| <!--  Dragora -->
 +
| <!--  Dynebolics -->
 +
| <!--  Guix x86 GNU/Linux -->
 +
| <!--  Guix HURD -->
 +
| <!--  Hyperbola -->
 +
| <!--  LibreCMC -->
 +
| <!--  Parabola -->
 +
| <!--  ProteanOS -->
 +
| <!--  PureOS 10 (byzantium) -->
 +
| <!--  Replicant 6.0 -->
 +
| <!--  Trisquel 11 (aramo) -->
 +
| <!--  Ututo S -->
 +
|-
 +
|}
 +
 
 +
== Upstream projects ==
 +
 
 +
=== Filesystems for block devices ===
 +
 
 +
This list support for filesystems for block devices (hard disks, SSD, etc). Note that the support could be read-only, partial or not builtin the kernel or bootloader package provided by the distributions you use. For FUSE it might not have any package for the distribution you use.
 +
 
 +
This can for instance be used to quickly check if a given filesystem may work when installing GNU/Linux on an ARM computer with a given bootloader.
 +
 
 +
If for instance the distribution package for u-boot doesn't support the filesystem you want to use, you could consider sending a patch to add it directly in the configuration provided by u-boot itself, to make sure all the distributions you could want to use (including in the future) has the change you need. This also lowers the cost of maintaining this change.
 +
 
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Project
 +
! Version
 +
! AFFS
 +
! AFS
 +
! BFS
 +
! BTRFS
 +
! EXFAT
 +
! EXT2
 +
! EXT4
 +
! FAT
 +
! F2FS
 +
! NILFS2
 +
! NTFS
 +
! XFS v5
 +
! ZFS
 +
|-
 +
! colspan=17 | Bootloaders
 +
|-
 +
! GRUB
 +
! <!-- Version -->
 +
| {{yes}} <!-- AFFS -->
 +
| {{yes}} <!-- AFS -->
 +
| {{yes}} <!-- BFS -->
 +
| {{yes}} <!-- BTRFS -->
 +
| {{yes}} <!-- EXFAT -->
 +
| {{yes}} <!-- EXT2 -->
 +
| {{yes}} <!-- EXT4 -->
 +
| {{yes}} <!-- FAT -->
 +
| {{yes}} <!-- F2FS -->
 +
| {{yes}} <!-- NILFS2 -->
 +
| {{yes}} <!-- NTFS -->
 +
| {{yes}} <!-- XFS v5 -->
 +
| {{yes}} <!-- ZFS -->
 +
|-
 +
! u-boot
 +
! <!-- Version -->
 +
| {{no}}  <!-- AFFS -->
 +
| {{no}}  <!-- AFS -->
 +
| {{no}}  <!-- BFS -->
 +
| {{yes}} <!-- BTRFS -->
 +
| {{yes}} <!-- EXFAT -->
 +
| {{yes}} <!-- EXT2 -->
 +
| {{yes}} <!-- EXT4 -->
 +
| {{yes}} <!-- FAT -->
 +
| {{no}}  <!-- F2FS -->
 +
| {{no}}  <!-- NILFS2 -->
 +
| {{no}}  <!-- NTFS -->
 +
| {{no}}  <!-- XFS v5 -->
 +
| {{yes}} <!-- ZFS -->
 +
|-
 +
! colspan=17 | Kernels
 +
|-
 +
! Hurd
 +
!
 +
| ?      <!-- AFFS -->
 +
| ?      <!-- AFS -->
 +
| ?      <!-- BFS -->
 +
| ?      <!-- BTRFS -->
 +
| ?      <!-- EXFAT -->
 +
| {{yes}} <!-- EXT2 -->
 +
| ?      <!-- EXT4 -->
 +
| {{yes}} <!-- FAT -->
 +
| ?      <!-- F2FS -->
 +
| ?      <!-- NILFS2 -->
 +
| ?      <!-- NTFS -->
 +
| ?      <!-- XFS v5 -->
 +
| ?      <!-- ZFS -->
 +
|-
 +
! Linux
 +
!
 +
| {{yes}} <!-- AFFS -->
 +
| ?      <!-- AFS -->
 +
| ?      <!-- BFS -->
 +
| {{yes}} <!-- BTRFS -->
 +
| {{yes}} <!-- EXFAT -->
 +
| {{yes}} <!-- EXT2 -->
 +
| {{yes}} <!-- EXT4 -->
 +
| {{yes}} <!-- FAT -->
 +
| {{yes}} <!-- F2FS -->
 +
| {{yes}} <!-- NILFS2 -->
 +
| {{yes}} <!-- NTFS -->
 +
| {{yes}}  <!-- XFS v5 -->
 +
| {{no}}  <!-- ZFS -->
 +
|-
 +
! colspan=17 | API
 +
|-
 +
! FUSE
 +
!
 +
| ?      <!-- AFFS -->
 +
| ?      <!-- AFS -->
 +
| ?      <!-- BFS -->
 +
| {{yes}}<ref>See [https://github.com/adam900710/btrfs-fuse btrfs-fuse]. It seems serious enough to be packaged in some (nonfree) distributions like EPEL or Fedora.</ref> <!-- BTRFS -->
 +
| {{yes}}<ref>See the {{DistroPackage|guix|fuse-exfat}} package for more details.</ref> <!-- EXFAT -->
 +
| ?      <!-- EXT2 -->
 +
| {{yes}}<ref>See [https://github.com/gerard/ext4fuse ext4fuse]. It seems serious enough to be packaged in some (nonfree) distributions like Aur, Homebrew, Macports, and Nix.</ref> <!-- EXT4 -->
 +
| {{yes}}<ref> See the {{DistroPackage|pureos|fusefat}} or {{DistroPackage|trisquel|fusefat}} PureOS and Trisquel packages for more details</ref> <!-- FAT -->
 +
| {{no}}<ref> [https://repology.org/projects/?search=f2fs There is nothing on repology.org]. A quick search on a search engine didn't find anything either.</ref> <!-- F2FS -->
 +
| {{no}}<ref> [https://repology.org/projects/?search=nilfs There is nothing on repology.org]. A quick search on a search engine didn't find anything either.</ref> <!-- NILFS2 -->
 +
| {{yes}}<ref>See the {{DistroPackage|guix|ntfs-3g}} package for more details.</ref> <!-- NTFS -->
 +
| ?      <!-- XFS v5 -->
 +
| ?      <!-- ZFS -->
 +
|-
 +
|}
 +
 
 +
=== Read-only filesystems for block devices ===
 +
 
 +
This list support for filesystems for block devices (hard disks, SSD, etc).
 +
 
 +
{| class="wikitable sortable" border="1"
 +
|- bgcolor="#6699ff"
 +
! Project
 +
! Version
 +
! CRAMFS
 +
! EROFS
 +
! SquashFS
 +
|-
 +
! colspan=5 | Bootloaders
 
|-
 
|-
! JFS
+
! GRUB
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
+
! <!-- Version -->
| {{no}}
+
| {{no}} <!-- CRAMFS -->
|-
+
| {{yes}} <!-- EROFS -->
! XFS
+
| {{yes}} <!-- SquashFS -->
| {{yes|yes:rootfs}}<ref name="FOOT10"></ref>
 
| {{no}}
 
|}
 
 
 
== Block device layer ==
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
! rowspan=2  |
 
! colspan=12 | Distributions
 
 
|-
 
|-
! Dragora
+
! u-boot
! Dynebolics
+
! <!-- Version -->
! Guix i686-linux and x86_64-linux (x86 GNU/Linux)
+
| {{yes}} <!-- CRAMFS -->
! Guix i586-gnu (HURD)
+
| {{yes}} <!-- EROFS -->
! Hyperbola
+
| {{yes}} <!-- SquashFS -->
! LibreCMC
 
! Parabola
 
! ProteanOS
 
! PureOS 10 (byzantium)
 
! Replicant 6.0
 
! Trisquel 11 (aramo)
 
! Ututo S
 
 
|-
 
|-
! dmraid
+
! colspan=5 | Kernels
| <!--  Dragora -->
 
| <!--  Dynebolics -->
 
| <!--  Guix x86 GNU/Linux -->
 
| <!--  Guix HURD -->
 
| <!--  Hyperbola -->
 
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!--  Replicant 6.0 -->
 
| <!--  Trisquel 11 (aramo) -->
 
| <!--  Ututo S -->
 
 
|-
 
|-
! LUKS 1
+
! Hurd
| <!--  Dragora -->
+
!  
| <!--  Dynebolics -->
+
| ?      <!-- CRAMFS -->
| <!--  Guix x86 GNU/Linux -->
+
| ?      <!-- EROFS -->
| <!--  Guix HURD -->
+
| ?      <!-- SquashFS -->
| <!--  Hyperbola -->
 
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
|-
 
! Packages and manual installation<ref name="manual-installation"></ref>
 
| {{yes|Yes: {{DistroPackage|parabola|cryptsetup}}}}
 
|-
 
! Graphical installer
 
|
 
|-
 
! Rootfs
 
| {{yes}}
 
|}
 
| <!--  ProteanOS -->
 
| {{yes}}  <!--  PureOS 10 (byzantium) -->
 
| <!-- Replicant 6.0 -->
 
| {{yes}}  <!-- Trisquel 11 (aramo) -->
 
| <!-- Ututo S -->
 
 
|-
 
|-
! LUKS 2
+
! Linux
| <!--  Dragora -->
+
!
| <!--  Dynebolics -->
+
| {{yes}} <!-- CRAMFS -->
| <!--  Guix x86 GNU/Linux -->
+
| {{yes}} <!-- EROFS -->
| <!--  Guix HURD -->
+
| {{yes}} <!-- SquashFS -->
| <!--  Hyperbola -->
 
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
|-
 
! Packages and manual installation<ref name="manual-installation"></ref>
 
| {{yes|Yes: {{DistroPackage|parabola|cryptsetup}}}}
 
|-
 
! Graphical installer
 
|
 
|-
 
! Rootfs
 
| {{yes|Yes but requires a /boot as GRUB only has partial LUKS2 support}}
 
|}
 
| <!-- ProteanOS -->
 
| {{yes}} <!-- PureOS 10 (byzantium) -->
 
| <!--  Replicant 6.0 -->
 
| {{yes}} <!--  Trisquel 11 (aramo) -->
 
| <!-- Ututo S -->
 
 
|-
 
|-
! mdraid
+
! colspan=5 | API
| <!--  Dragora -->
 
| <!--  Dynebolics -->
 
| <!--  Guix x86 GNU/Linux -->
 
| <!--  Guix HURD -->
 
| <!--  Hyperbola -->
 
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
| <!--  ProteanOS -->
 
| <!--  PureOS 10 (byzantium) -->
 
| <!--  Replicant 6.0 -->
 
| <!--  Trisquel 11 (aramo) -->
 
| <!--  Ututo S -->
 
 
|-
 
|-
! LVM2
+
! FUSE
| <!--  Dragora -->
+
!
| <!-- Dynebolics -->
+
| ?      <!-- CRAMFS -->
| <!--  Guix x86 GNU/Linux -->
+
| {{yes}}<ref>See {{DistroPackage|parabola|erofsfuse}}.</ref> <!-- EROFS -->
| <!--  Guix HURD -->
+
| ?      <!-- SquashFS -->
| <!--  Hyperbola -->
 
| <!--  LibreCMC -->
 
| <!--  Parabola -->
 
{| class="wikitable sortable" border="1"
 
|- bgcolor="#6699ff"
 
|-
 
! Packages and manual installation<ref name="manual-installation"></ref>
 
| {{yes|Yes: {{DistroPackage|parabola|lvm2}}}}
 
|-
 
! Graphical installer
 
|
 
|-
 
! Rootfs
 
| {{yes}}
 
|}
 
| <!--  ProteanOS -->
 
| {{yes}}  <!--  PureOS 10 (byzantium) -->
 
| <!--  Replicant 6.0 -->
 
| {{yes}}  <!-- Trisquel 11 (aramo) -->
 
| <!-- Ututo S -->
 
 
|-
 
|-
 
|}
 
|}

Latest revision as of 18:44, 21 April 2026

Introduction

This article is about filesystems support and might be extended to take into account block device technologies too like LVM,RAID, etc.

For now this article assumes that people use GNU/Linux as primary operating system, and ideally fully free distributions. The interaction with nonfree operating systems isn't really taken into account yet in this article.

For instance there are partial implementations of filesystems and/or tools either in GNU/Linux or in nonfree operating systems that can interact badly between both free and nonfree operating systems. For instance:

  • ntfsresize in GNU/Linux is known to break prevent recent Windows from booting, so some well known free software graphical tools like Gparted put huge warnings before resizing or moving NTFS partitions.
  • Windows have less stable third party free BTRFS drivers that could potentially corrupt data. Since we don't want to run Windows to test we don't know how stable this is in practice.

There are also well known cases where things are mostly fine like with FAT32, Exfat, but people also already know that as these filesystems are usually used to transfer data between many different operating systems or embedded devices (like camera, music players, etc).

Though sometimes older nonfree operating systems have additional limitations (like with FAT32) that limits the file sizes or characters types. And sometimes filesystems made for nonfree operating systems (like FAT32, or Exfat) miss some features like symlinks that are standard under GNU/Linux, which is fine for storing simple files (like documents, music, videos, etc) but that can make them not suitable to install GNU/Linux on them or store code, configuration files, etc.

All that isn't taken into account in this article yet but as shown in the next section, distributions installers already gives hint of what filesystem is best supported.

Choosing a filesystem

Using the default filesystem currently proposed during the installation of your distribution is a good idea. It makes sure that the filesystem is properly integrated and that the distribution trusts it enough (with data integrity, and security[1]) to propose it by default.

For external medias like USB keys and so on, filesystems with unix permissions (like ext4) can also usable by less technical users: gnome-disks has a "Take Ownership..." function [2] that can set the right permissions to make these usable, though "Take Ownership..." could be slow if there are a huge number of files.

General comparison

Filesystem protection against data corruption Linux status Limitations
Bcachefs Not safe according to Linus Torvalds[3].
  • Removed from Linux 6.18 in 2025[4].
  • Distributions with versions earlier than Linux 6.18 can still use Bcachefs.
  • Bcachefs might also still be available in distributions as an external kernel module.
btrfs Less safe (status from September 2025)[5], but in another hand it doesn't require regular file system checks, so it may be safer than ext4 if the ext4 filesystem is never checked. maintained
ext2 Less safe: because there is no journal, data can be corrupted during improper shutdown for instance. maintained
ext3 maintained
exfat maintained
  • Cannot resize
ext4 Safest but requires regular filesystem checks[6]. maintained
NTFS Not safe: no ability to repair the filesystem without nonfree software[7]. maintained
ReiserFS 3 Not safe: fsck can corrupt ReiserFS 3 images[8].
  • Removed from Linux 6.13 in 2025.[9]
  • Distributions with versions earlier than Linux 6.13 can still use ReiserFS 3
XFS v4
  • Starts being removed from some GNU/Linux distributions in September 2025[10]
  • Will be removed from Linux in September 2030.[11]
XFS v5 maintained

Creation without root

Sometimes it can be useful to create filesystems without root permissions. This is used to format files that are owned by the user (and not root) with a given filesystem. Some filesystem utilities even enable to populate the filesystem with data coming from a directory and/or store arbitrary files or directories inside the given filesystem without needing to mount the filesystem (which typically requires root permissions in one way or another).

Filesystem Creation without root Utilities required UUID Label Guix image support
BTRFS mkfs.btrfs -r ./directory [...]
  • btrfs-progs
Yes Yes Yes
exFAT exfatprogs 1.2.9 and exfat-utils 1.4.0 don't seem to support that ? Yes Yes No
ext2, ext3, ext4 mke2fs -d ./directory [...]
  • e2fsprogs
Yes Yes Yes
F2FS mkfs.f2fs [...] && sload.f2fs -f ./directory [...]
  • f2fs-tools
Yes Yes Yes
FAT12, FAT16, FAT32, VFAT mkfs.msdos [...] && mcopy -bsp -i [...]
  • dosfstools
  • mtools
Yes Yes Yes
HFS+ Might be possible with hpcopy and hpmkdir
  • hfsplus
? ? No
JFS jfsutils 1.1.15 don't seem to support that ? Yes Yes No
NILFS2 nilfsutils 2.2.11 don't seem to support that ? ? ? No
NTFS ntfscp can copy regular files, but it is unclear how to copy directories or other file types (/dev/ nodes, symlinks, etc)
  • ntfs-3g
? ? No
XFS Might be possible since xfsprogs 6.17.0 (patch merged in 6.17.0)
  • xfsprogs
Yes Yes No

And for read-only filesystems:

Filesystem Creation without root Utilities required UUID Label Guix image support
EROFS mkfs.erofs [OPTIONS] /path/to/file.img DIRECTORY
  • erofs-utils
Yes Yes No
SquashFS mksquashfs ./directory [...]
  • squashfs-tools
No[12] No[12] No

And for other things than filesystems:

patition type Creation without root Utilities required Guix image support
LUKS (v1 and/or v2) May be possible with cryptsetup-reencrypt No
swap mkswap --file [...]
  • util-linux
Yes

Tools support

Filesystem "lvresize --resizefs" reduce support "lvresize --resizefs" extend support
BTRFS No Yes
ext2, ext3, ext4 Yes Yes
F2FS No No
FAT12, FAT16, FAT32, VFAT No No
JFS No No
NILFS2 No No
NTFS No No
XFS No Yes

Defaults

The defaults filesystems used are often a good indication of what filesystems are best supported by the distribution.

Distribution Defaults Comments
Dragora 3.0 beta2
Instal/l method Boot software Default filesystem
Graphical installer BIOS ext3
In the graphical installer, the "FILE SYSTEM SELECTION" default choice is set to ext3. Beside that there is no defaults for the partitioning.
Dynebolic
Guix 1.4.0
Install method Boot software Partitions
Graphical installer BIOS bios_grub swap /
not encrypted not encrypted not encrypted
N/A swap ext4
Hyperbola
LibreCMC
Parabola
ProteanOS
PureOS 10 (byzantium)
Install method Boot software Partitions
Graphical installer BIOS /boot /
not encrypted LUKS
ext4 ext4
  • In the graphical installer, encryption is mandatory when selecting "Erase disk", but it can be avoided when using manual partitioning.
Replicant 6.0
Trisquel 10 (nabia)
Ututo S

Filesystems

Distributions
Dragora 3.0 beta2 Dynebolics Guix i686-linux and x86_64-linux (x86 GNU/Linux) Guix i586-gnu (HURD) Hyperbola LibreCMC Parabola ProteanOS PureOS 10 (byzantium) Replicant 6.0 Trisquel 11 (aramo) Ututo S
btrfs
Packages Yes:

tools/btrfs-progs

Rootfs with the graphical installer Yes
Packages Yes:

btrfs-progs

Guix system[13] Yes
Installer Yes
Rootfs Yes
Packages and manual installation[14] Yes:

btrfs-progs

Graphical installer
Rootfs Yes
Packages and debootstrap installation[14] Yes:

btrfs-progs

Graphical installer No
Rootfs with the graphical installer No
erofs
Implementation
kernel fuse
Packages Yes:

erofs-utils and linux-libre

No
Guix system[13] No No
Installer No No
Implementation
kernel fuse
Packages Yes:

erofs-utils

Yes:

erofsfuse,

erofs-utils

Rootfs ? ?
Implementation
kernel fuse
Packages Yes:

erofs-utils and linux-libre

No
Rootfs ? No
exfat
Packages No
Rootfs with the graphical installer No
Implementation
kernel fuse
Packages Yes:

exfatprogs

Yes:

exfat-utils

Installer No No
Implementation
kernel fuse
Packages Yes:

exfatprogs

Yes:

exfat-utils

Implementation
kernel fuse
Packages Yes:

exfatprogs

Yes:

exfat-fuse,

exfat-utils

Graphical installer Yes No
Rootfs with the graphical installer Broken[15] No
Implementation
kernel fuse
Internal partitions No Yes
Rootfs No No
MicroSD card No Yes
ext2
Packages Yes:

tools/e2fsprogs

Rootfs with the graphical installer Yes
Packages Yes:

e2fsprogs

Guix system[13]
Installer No
Rootfs
Packages Yes:

e2fsprogs

Guix system[13] Yes
Installer N/A[16]
Rootfs Yes
Packages Yes:

e2fsprogs

ext3
Packages Yes:

tools/e2fsprogs

Rootfs with the graphical installer Yes
Packages Yes:

e2fsprogs

Installer No
Packages Yes:

e2fsprogs

ext4
Packages Yes:

tools/e2fsprogs

Rootfs with the graphical installer Yes
Packages Yes:

e2fsprogs

Guix system[13] Yes
Installer Yes
Rootfs Yes
Packages and manual installation[14] Yes: e2fsprogs
Rootfs Yes
Packages and manual installation[14] Yes:

e2fsprogs

Graphical installer
Rootfs Yes
Packages and debootstrap installation[14] Yes:

e2fsprogs

Graphical installer Yes
Rootfs with the graphical installer Yes
Internal partitions Yes
Rootfs Yes
MicroSD card No[17]
Packages and debootstrap installation[14] Yes:

e2fsprogs

Graphical installer
Rootfs Yes
f2fs
Packages No
Rootfs with the graphical installer No
Packages Yes:

f2fs-tools

Guix system[13] Yes
Installer No
Rootfs Yes
Packages and manual installation[14] Yes:

f2fs-tools

Graphical installer
Rootfs Yes
Packages and debootstrap installation[14] Yes:

f2fs-tools

Graphical installer No
Rootfs with the graphical installer No
Internal partitions Yes
Rootfs ?
MicroSD card Yes[18]
fat
Packages Yes:

tools/dosfstools

Rootfs with the graphical installer No
Packages Yes:

dosfstools,

mtools

Guix system[13] Yes
Installer Yes
Rootfs No
Packages Yes:

dosfstools,

mtools

Guix system[13] Yes
Installer N/A[16]
Rootfs No
Packages and manual installation[14] Yes:

dosfstools,

mtools

Graphical installer
Rootfs No
Packages Yes:

dosfstools,

mtools

Graphical installer Yes
Rootfs with the graphical installer Broken[19]
Internal partitions Yes
Rootfs No
MicroSD card Yes
hfs
Packages No
Rootfs with the graphical installer No
No[20] No[21] No[22]
Packages Yes:

hfsutils

Graphical installer No
Rootfs with the graphical installer No
No[23]
Packages Yes:

hfsutils

Graphical installer ?
Rootfs with the graphical installer ?
hfs+
Packages No
Rootfs with the graphical installer No
No[24] No[25] No[26]
Packages Yes:

hfsplus

Graphical installer No
Rootfs with the graphical installer No
No[27]
Packages Yes:

hfsplus

Graphical installer ?
Rootfs with the graphical installer ?
jfs
Packages No
Rootfs with the graphical installer No
Packages Yes:

jfsutils

Guix system[13] Yes
Installer Yes
Rootfs Yes
Packages Yes:

jfsutils

Packages Yes:

jfsutils

Graphical installer No
Rootfs with the graphical installer No
minix
Packages Yes:

tools/util-linux

Rootfs with the graphical installer No
Packages Yes:

util-linux

Installer No
Packages Yes:

util-linux

Packages Yes:

util-linux

Graphical installer Yes
Rootfs with the graphical installer Broken[28]
nilfs2
Packages No
Rootfs with the graphical installer No
Packages Yes:

nilfs-utils

Guix system[13] ?
Installer No
Rootfs ?
Packages Yes:

nilfs-utils

Packages Yes:

nilfs-tools

Graphical installer No
Rootfs with the graphical installer No
ntfs
Packages Yes:

tools/ntfs-3g

Rootfs with the graphical installer No
Packages Yes:

ntfs-3g

Guix system[13] ?
Installer Broken[29]
Rootfs Broken[30]
Packages Yes:

ntfs-3g

Implementation
kernel fuse
Packages Yes:

ntfs-3g

Graphical installer No[31] Yes
Rootfs with the graphical installer Broken[32]
reiser4
Packages Yes:

tools/reiser4progs

Rootfs with the graphical installer No
Kernel No[33]
Packages No
Graphical installer No
Rootfs with the graphical installer No
Kernel No[33]
Packages No
Graphical installer
Rootfs
Kernel No[33]
Packages Yes: reiser4progs
Graphical installer No
Rootfs with the graphical installer No
reiserfs
Kernel Until 2025[9]
Packages No
Rootfs with the graphical installer No
Kernel Until 2025[9]
Packages No
Graphical installer No
Rootfs with the graphical installer No
Kernel Until 2025[9]
Packages No
Graphical installer
Rootfs
Kernel Until 2025[9]
Packages Yes:

reiserfsprogs

Graphical installer No
Rootfs with the graphical installer No
XFS v4
Kernel Linux-image-generic has 'CONFIG_XFS_SUPPORT_V4=y', In Linux until 2030[11]
Packages Yes
Rootfs with the graphical installer ?
XFS v5
Packages Yes:

tools/xfsprogs

Rootfs with the graphical installer Yes
Packages Yes:

xfsprogs

Guix system[13] Yes
Installer Yes
Rootfs Yes
Packages Yes:

xfsprogs,

xfsdump

Packages Yes:

xfsprogs,

xfsdump

Graphical installer No
Rootfs with the graphical installer No
Dragora 3.0 beta2 Dynebolics Guix i686-linux and x86_64-linux (x86 GNU/Linux) Guix i586-gnu (HURD) Hyperbola LibreCMC Parabola ProteanOS PureOS 10 (byzantium) Replicant 6.0 Trisquel 11 (aramo) Ututo S
Distributions

More detailed Guix status

Guix has many areas where only some filesystems are supported. Because of that making a more detailed status about that is interesting.

Filesystems guix system: operating-system: file-systems guix system image
btrfs yes:rootfs[34] Yes
ext2 Yes Yes
ext3 Yes Yes
ext4 yes:rootfs[34] Yes
F2FS yes:rootfs[34] No
FAT16 Yes Yes
FAT32 Yes Yes
JFS yes:rootfs[34] No
XFS yes:rootfs[34] No

Block device layer

Distributions
Dragora Dynebolics Guix i686-linux and x86_64-linux (x86 GNU/Linux) Guix i586-gnu (HURD) Hyperbola LibreCMC Parabola ProteanOS PureOS 10 (byzantium) Replicant 6.0 Trisquel 11 (aramo) Ututo S
dmraid
LDM[35]
LUKS 1
Packages and manual installation[14] Yes:

cryptsetup

Graphical installer
Rootfs Yes
Yes Yes
LUKS 2
Packages and manual installation[14] Yes:

cryptsetup

Graphical installer
Rootfs Yes but requires a /boot as GRUB only has partial LUKS2 support
Yes Yes
md RAID (with mdadm)
LVM2
Packages and manual installation[14] Yes:

lvm2

Graphical installer
Rootfs Yes
Yes Yes
nonraid[36]

Upstream projects

Filesystems for block devices

This list support for filesystems for block devices (hard disks, SSD, etc). Note that the support could be read-only, partial or not builtin the kernel or bootloader package provided by the distributions you use. For FUSE it might not have any package for the distribution you use.

This can for instance be used to quickly check if a given filesystem may work when installing GNU/Linux on an ARM computer with a given bootloader.

If for instance the distribution package for u-boot doesn't support the filesystem you want to use, you could consider sending a patch to add it directly in the configuration provided by u-boot itself, to make sure all the distributions you could want to use (including in the future) has the change you need. This also lowers the cost of maintaining this change.

Project Version AFFS AFS BFS BTRFS EXFAT EXT2 EXT4 FAT F2FS NILFS2 NTFS XFS v5 ZFS
Bootloaders
GRUB Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
u-boot No No No Yes Yes Yes Yes Yes No No No No Yes
Kernels
Hurd ? ? ? ? ? Yes ? Yes ? ? ? ? ?
Linux Yes ? ? Yes Yes Yes Yes Yes Yes Yes Yes Yes No
API
FUSE ? ? ? Yes[37] Yes[38] ? Yes[39] Yes[40] No[41] No[42] Yes[43] ? ?

Read-only filesystems for block devices

This list support for filesystems for block devices (hard disks, SSD, etc).

Project Version CRAMFS EROFS SquashFS
Bootloaders
GRUB No Yes Yes
u-boot Yes Yes Yes
Kernels
Hurd ? ? ?
Linux Yes Yes Yes
API
FUSE ? Yes[44] ?

References

  1. See the Unmaintained filesystems as a threat vector lwn.net article for more details.
  2. It is at least present in PureOS 10 (byzantium), Trisquel 11 (aramo) and Guix, so it is probably available everywhere. To use it, once gnome-disks is launched, you need to select the right partition, and then find a button with some gears and click on it, it will show a menu with the "Take Ownership..." option.
  3. https://web.archive.org/web/20240422185730/https://lore.kernel.org/lkml/CAHk-=whDuqyVC6xMkOnNt2EeTd-s4uqa3sYghj5UzkELFW2bpw@mail.gmail.com/
  4. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f2c61db29f27
  5. According to the Bcachefs maintainer, the 30 August 2025, "btrfs is still eating filesystems - they may be better than they were, but I still see reports regularly, and they don't seem to be taking reliability seriously"
  6. Big disks tend to not be perfect and that create file system corruptions. Ext4 has been designed for that in mind, and it requires users to somewhat regularely check the ext4 file system (with fsck or graphical tools or at boot) to repair data once it is corrupted. If users wait too long the data can be corrupted beyond repair.
  7. From the ntfsfix manual: "ntfsfix is a utility that fixes some common NTFS problems. ntfsfix is NOT a Linux version of chkdsk. It only repairs some fundamental NTFS inconsistencies, resets the NTFS journal file and schedules an NTFS consistency check for the first boot into Windows.". This means that there are many things that ntfsfix can't repair and repairing these requires Windows (chksdk is Windows's equivalent of fsck).
  8. https://en.wikipedia.org/wiki/ReiserFS#fsck
  9. 9.09.19.29.39.4 The Linux kernel documentation for the REISERFS_FS option tells that:
    Reiserfs is deprecated and scheduled to be removed from the kernel
    in 2025. If you are still using it, please migrate to another
    filesystem or tell us your usecase for reiserfs.
    In practice it is not available anymore since Linux 6.13, so if you need to migrate your data, you will need to use in one way or another Linux 6.12 or earlier. kenrel.org lists the versions currently maintained and it is also possible to install (older) GNU/Linux distributions that ship a Linux version earlier than 6.13.
  10. According to the Linux XFS driver documentation, "[Support for mounting V4 filesystems] will default to yes until September 2025". This means that some distributions that use the defaults will most likely end up disabling support for XFS v4.
  11. 11.011.1 According to the Linux XFS driver documentation, "In September 2030, support [for XFS v4] will be removed from the codebase entirely [in Linux]"
  12. 12.012.1 https://github.com/plougher/squashfs-tools/issues/59
  13. 13.0013.0113.0213.0313.0413.0513.0613.0713.0813.0913.1013.11 This tells if that filesystem can be used in a system.scm system definition.
  14. 14.0014.0114.0214.0314.0414.0514.0614.0714.0814.0914.1014.11 Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.
  15. The installation fails with an error.
  16. 16.016.1 There is no HURD installer yet.
  17. After creating the rootfs with mkfs.ext4 from Guix, in Replicant, it says "Corrupted <vendor> SD card" in the notification bar.
  18. We can easily view the card content with "File Manager". It also detects a new MicroSD card when it is just formatted.
  19. The installation fails with an error.
  20. There is no hfsutils package.
  21. There is no hfsutils package.
  22. There is no hfsutils package.
  23. There is no hfsutils repository in the manifest.
  24. There is no hfsprogs package.
  25. There is no hfsprogs package.
  26. There is no hfsprogs package.
  27. There is no hfsprogs repository in the manifest.
  28. The installation fails with an error.
  29. The graphical installer complains about some UUID related issue
  30. In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.
  31. Once installed, the rootfs is mounted with FUSE and ntfs-3g.
  32. The installation succeeds, but then sudo and policykit are broken due to wrong permissions. So users can't install any software. It's also a very bad idea to use NTFS since there is at the time of writing no way to safely repair corrupted NTFS filesystems with free software: The only tools we have are in ntfs-3g and they are way too experimental and dangerous so they are probably not shipped by any distribution.
  33. 33.033.133.2 According to the reiser 4 wiki, upstream Linux has no reiser4 support.
  34. 34.034.134.234.334.4 https://guix.gnu.org/manual/devel/en/guix.html#FOOT10
  35. Linux has "Windows Logical Disk Manager (Dynamic Disk) support", but it only support the format until Windows Vista with MBR only. This was verified by reading the Linux driver in Linux 6.18-rc6.
  36. https://github.com/qvr/nonraid
  37. See btrfs-fuse. It seems serious enough to be packaged in some (nonfree) distributions like EPEL or Fedora.
  38. See the fuse-exfat package for more details.
  39. See ext4fuse. It seems serious enough to be packaged in some (nonfree) distributions like Aur, Homebrew, Macports, and Nix.
  40. See the fusefat or fusefat PureOS and Trisquel packages for more details
  41. There is nothing on repology.org. A quick search on a search engine didn't find anything either.
  42. There is nothing on repology.org. A quick search on a search engine didn't find anything either.
  43. See the ntfs-3g package for more details.
  44. See erofsfuse.