As of Linux 6.17 and bcachefs-tools 1.31.5, bcachefs is switching to
distributing as a DKMS module. This means a normal 'make && make install' of
bcachefs-tools will also install the kernel module sources, which on a system
with a normally functioning DKMS package will be then be built and available as
any other kernel module.

Generally, this will all be handled by your distribution or appropriate
packaging for your distro.

A lot of people have contributed to distro packaging to make this go as
smoothly as possible - a big thank you to everyone involved.

The mainline version of bcachefs is still available but no longer receiving
updates, so users need to be aware of the migration and depending on
distribution may have a bit of configuration to do, but overall the migration
is expected to be fairly seamless.

You can still use bcachefs as your root filesystem provided you're using an
initramfs; DKMS has been well integrated with the distribution tooling for many
years.

The DKMS version supports Linux 6.16 and newer, and development will continue
to track prereleases of the main kernel so we'll have support ready in advance
of each .0 release.

It's important to note that in the past having an up-to-date bcachefs-tools
hasn't been particularly important (we have good compatibility mechanisms on
version mismatch), so users who were previously compiling from source on e.g.
Debian will need to switch to a packaged version of bcachefs-tools to get
regular updates. We should have these available for almost all the major
distributions.

RELEASE CADENCE, CHANNELS:
==========================

For now we're providing two channels users can choose from: nightly and
release.

The nightly channel provides frequent builds for users who are willing
to live a bit dangerously and want to get the latest and greatest and help QA:
you should know how to report a bug if you run this and you should stay up to
date on what's coming down the pipeline (via IRC or reddit); when big changes
are coming I put out the call for testers and gather feedback before features
are released. But code only moves to nightlies after passing all the automated
testing, so users should not expect significant breakage.

The release channel - latest tagged release - has code that has been deemed
stable. There is no fixed release cadence - bugfix releases are frequent,
bigger features take longer to make their way from nightlies to release.

In the future (post experimental) I'll be looking at adding a third channel -
stable - which will lag behind the release channel by perhaps 1-3 months for
bigger feature work and receive backported bugfixes.

I'm asking distributions to also provide packages for the nightly channel in
addition to release, because we really need as broad a base of testers as we
can get - having tinkerers who like to screw around and break things run the
absolute latest code is how we bring people into the community, teach them to
QA and report bugs and how the system works.

As we get closer to lifting the experimental label it's important to keep doing
everything we can to improve our ability to QA code: and QA needs both
automated testing (which we have well covered) as well as users in the wild
doing all the crazy things we developers didn't think of or plan for. So - if
you want to help out the project, running the nightlies is a great place to
start.

DISTRIBUTION SUPPORT:
====================

- NixOS, Arch: First tier support

Users shouldn't have to do anything for the DKMS migration, they've been
shipping and supporting bcachefs for quite some time and their bcachefs-tools
packages have already been updated to the DKMS release.

We do not yet have a packaged version of the nightlies for Arch. We also don't
for NixOS, but NixOS makes it much easier to pull in packages from different
sources, and bcachefs-tools provides a flake.nix for easy integration into your
configuration.nix.

A lot of distributions that users run these days are Arch variants; these users
should expect things to continue to just work.

- Debian, Ubuntu

We're providing an external repository that has both release channels (note:
the debian packaging refers to nightly as snapshot). A big thank you to Roman
Lebedev who did nearly all the work here and put a ton of effort into making
this clean and well automated.

https://apt.bcachefs.org/

We're also starting to look at getting bcachefs-tools back into Debian proper;
we've reopened an ITP and initial conversations with Debian developers have
been going in a fairly positive direction.

The previous Debian packaging effort suffered from insufficient attention given
to process practicalities and insufficient bandwidth to discuss the impedence
mismatches between what distribution packagers want and the needs for shipping
and supporting a filesystem; I'm hopeful that this time around we can take our
time and avoid the acrimony that derailed the previous effort - and with our
own repository in place we can have those discussions without the time
pressures we had before.

- Fedora:

Fedora has long had a well supported bcachefs-tools package (thanks to Neal
Gompa), so Fedora users should continue to expect a smooth experience. The one
caveat is that the bcachefs-tools package can no longer be shipped as part of
the main Fedora distribution, due to Fedora policy on out of tree kernel
modules. Instead, it's now available via a COPR:

https://copr.fedorainfracloud.org/coprs/ngompa/bcachefs/builds/

We're also talking about providing an https://rpm.bcachefs.org in the near 
future.

- Opensuse: !?!?!?!?!?!?

The OpenSUSE bcachefs-tools maintainers have not been communicative; there is a
bcachefs-tools package in OpenSUSE but it's not clear if it will be receiving
updates. Unfortunately, slow communication meant that we weren't able to
provide anything in time for the 6.17 kernel release, but if the package in
OpenSUSE proper is in fact not going to be receiving updates we should be able
to provide packages soon via rpm.bcachefs.org.

- Slackware:

We had a user contribute a slackbuild! Unfortunately, the link got lost in my
billions of Firefox tabs, so please chime in if you know so we can get it 
documented :)

For users not wishing to bother with DKMS but who don't mind compiling kernels,
my kernel repository is still available:

https://evilpiepirate.org/git/bcachefs.git

Status, experimental label:
===========================

We still look to be on track to lift the experimental label at the end of the
year; most of the activity until then should be hunting down and closing
remaining bugs.

We do have some feature work landing soon, rebalance_v2. This is being
prioritized because it's also hardening - more details here:

https://lore.kernel.org/linux-bcachefs/[email protected]/

This will be another required upgrade, with an upgrade/downgrade step - but
it's well worth it for the features and hardening it gets us.

But the focus remains on hunting down and fixing remaining bugs, and polish -
so keep testing and feeding us your bug reports. This is a community effort,
and watching the community grow and learn is a good feeling. The more, the
merrier!

Cheers,
Kent

Reply via email to