Bcachefs: Difference between revisions
imported>Onny Add note on snapshots |
imported>Onny Add section installation media support |
||
Line 30: | Line 30: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# bcachefs subvolume snapshot /mnt /mnt/snap1 | # bcachefs subvolume snapshot /mnt /mnt/snap1 | ||
</syntaxhighlight> | |||
== Tips and tricks == | |||
=== Generate bcachefs enabled installation media === | |||
Use following Nix expression to generate a ISO installation image with a bcachefs enabled kernel | |||
{{file|iso.nix|nix|<nowiki> | |||
# This module defines a small NixOS installation CD. It does not | |||
# contain any graphical stuff. | |||
{ config, pkgs, ... }: | |||
{ | |||
imports = [ | |||
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix> | |||
]; | |||
boot.supportedFilesystems = [ "bcachefs" ]; | |||
isoImage.squashfsCompression = "gzip -Xcompression-level 1"; | |||
} | |||
</nowiki>}} | |||
<syntaxhighlight lang="console"> | |||
nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 10:02, 14 May 2023
Bcachefs is a next-generation CoW filesystem that aims to provide features from Btrfs and ZFS with a cleaner codebase, more stability, greater speed and a GPL-compatible license. It is built upon Bcache and is mainly developed by Kent Overstreet.
Installation
To enable filesystem support and availability of user-space utils, add following line to the system configuration
/etc/nixos/configuration.nix
boot.supportedFilesystems = [ "bcachefs" ];
Usage
Format and mount a signle device
# bcachefs format /dev/sda
# mount -t bcachefs /dev/sda /mnt
Format drive with encryption enabled, unlock and mount it afterwards
# bcachefs format --encrypt /dev/sda
# bcachefs unlock /dev/sda
# mount -t bcachefs /dev/sda /mnt
Create a subvolume of a mounted bcachefs filesystem. The snapshot of the filesystem state is accessible in the directory /mnt/snap1
.
# bcachefs subvolume snapshot /mnt /mnt/snap1
Tips and tricks
Generate bcachefs enabled installation media
Use following Nix expression to generate a ISO installation image with a bcachefs enabled kernel
iso.nix
# This module defines a small NixOS installation CD. It does not
# contain any graphical stuff.
{ config, pkgs, ... }:
{
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
];
boot.supportedFilesystems = [ "bcachefs" ];
isoImage.squashfsCompression = "gzip -Xcompression-level 1";
}
nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix