What is it?
BTRFS is a modern file system that is available on Linux gaining more traction in general-purpose distributions. It has become mature and stable and should be considered an option for IPFire users, too.
Who is working on it?
- Stefan Schantl
Current Status
- Targeted Release: Core 205+
- Tracker Bug: #13606
- Testing Images
Description
The work mainly touches the installer program which has to create a new filesystem and configure the system accordingly. Slight changes need to be made in the core system to make easy booting into snapshots possible.
Benefits to IPFire
A strict filesystem layout has become a problem on IPFire as the distribution is fast-changing. BTRFS allows more flexibility around this and brings modern filesystem features to IPFire, too.
- Instant snapshots due to COW
- Checksummed filesystems
- Compressed filesystems for better use of physical space
Impact
- Users cannot migrate to a different filesystems, so a re-installation is needed to gain this functionality. On existing systems there is no impact expected.
Documentation
Feedback
None, yet.
Dependencies
None.
Release Notes
Initial BTRFS support is part since core update 186.
This mainly allowed to choose BTRFS as filesystem when doing a fresh installation of IPFire.
All the partitioning and creation of necessary subvolumes is done by the installer. Please note that when using BTRFS the partition layout will be a bit different than on any other filesystem, because there is no separate partition for boot anymore.
We enabled the compress feature of BTRFS, which transparently compresses files when writing to disk with zstd and therefore will save some space.
UPDATE (08.09.2026):
During first testing feedback, we found the ultimate breaking limitation of the choosen subvolume layout. This required a lot of brain storming and leaded to an entire re-implementation of the subvolume layout and software. We decided to switch to snapper, which allows to create and manage the snapshots over DBus and added the neccessary code to the web user interface to interact with the daemon.
It is also possible to boot into a certain snapshot by using the WUI or select it via the grub boot menu. As all snapshots are read-only, some temporary filesystems (overlays) are used to provide non-presistant write capabilities for booting up those snapshots and allowing usage of the system.
In case IPFire is booted on such a read-only filesystem, warings are now displayed in the WUI, the terminal and via SSH.
UPDATE (29.04.2026):
A new section on the backup CGI page will be shown to manually create, delete and restore the snapshots. This section only will be displayed in case BTRFS has been choosen as filesystem during installation.
(Page may needs a bit more attention and styling...)
The grub boot menu has been extended to easily boot into an existing snapshot in case the system has been corrupted.
The pakfire package manager automatically will create a snapshot when upgrading to a new core version. This allows an easy roll-back, in case any problems occur with the newer core and should allow better testing of developent releases.
The "experimental" mark for BTRFS during installation has been removed.