guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Status of ZFS support on Guix


From: Kaelyn
Subject: Re: Status of ZFS support on Guix
Date: Wed, 02 Oct 2024 22:07:00 +0000

Hi,

On Tuesday, October 1st, 2024 at 1:23 PM, Morgan Arnold 
<morgan.arnold@proton.me> wrote:

> 
> 
> I asked around on the IRC channel a while ago about the status of ZFS support 
> on Guix, and it was suggested that I ask here. I am aware of efforts made in 
> the past to bring some rudimentary ZFS support to Guix (namely, 
> https://issues.guix.gnu.org/45692, which appears to be quite dead), but was 
> wondering if any new efforts have been considered. This is something which I 
> would be very open to contributing to, as the lack of ZFS support is 
> currently the only thing preventing me from using Guix as my main distro. It 
> looks like there has is some general interest for better ZFS support on Guix, 
> as evidenced by, say, https://issues.guix.gnu.org/73035.

Thank you for sharing those two issues; 45692 IIRC was the source/basis for the 
ZFS services in my private local channel that I've using for several years now. 
 I hadn't noticed 73035 yet, so I'll be looking at that soon.

There is also a couple of other issues that bring improvements related--at 
least tangentially-- to ZFS that are pending:

1) https://issues.guix.gnu.org/71482 which splits the ZFS userspace tools into 
a separate package and provides a helper function for creating a ZFS package 
for a specific kernel package.

2) https://issues.guix.gnu.org/55231 which adds support for including 
out-of-tree kernel modules in the initrd. This isn't strictly related to ZFS 
other than the documentation referencing ZFS in its example. The documentation 
patch had later been updated to include a different example of an out-of-tree 
module that is already packaged in Guix. I've also commented on it that I have 
essentially been using those patches for a number of years now.

> 
> Based on the response to 45692, I would also like to know if there is 
> opposition to adding support for Guix, be it for philosophical or legal 
> reasons. Assuming that no such opposition exists, 45692 seems to provide a 
> very substantial chunk of the work which needs to be done for supporting ZFS 
> on Guix, in particular automatic loading of the ZFS kernel module and 
> automatic mounting of datasets. Ultimately, I would love to see support for 
> `/' on ZFS, but based on discussions around 45692, it seems like this would 
> be quite a bit more effort, although I must admit that I don't really 
> understand why, other than that it involves modifying the behaviour of 
> Shepherd earlier in the boot process. Other than examining the patches which 
> were submitted for 45692, I assume that it would be worth looking more 
> closely at how other filesystems are managed on Guix, although the treatment 
> of ZFS probably necessarily differs, if just for the loading of the kernel 
> module. As for` /' on ZFS, would a deep dive into the documentation for 
> Shepherd be valuable in terms of understanding how to load the ZFS kernel 
> module as early as possible? Alternatively, are there other modules in Guix 
> that are sometimes loaded early (maybe GPU drivers? I know that they are 
> loaded early sometimes) which might be worth examining to understand how to 
> go about it?

I'd love to know where any opposition may be at as well. At this point I have a 
private channel which actually replaces much of the bootloader and initrd 
functionality (in part to support ZFS in the initrd using 
https://issues.guix.gnu.org/55231). In the past year, I actually took advantage 
of having basically replicated much of the initrd functionality in my channel 
to create a simple bootloader based on the Linux kernel (with the EFI 
stubloader) and a custom initrd that uses kexec to boot the actual system. It 
still needs a lot of polish, but has been good enough that combined with a few 
other small hacks and workarounds, I have several systems now booting with ZFS 
roots (some unencrypted, some using native encryption). I have done little to 
upstream most of it, or even to share what I've done, because of the seeming 
resistance to ZFS.

Cheers,
Kaelyn

> 
> Thanks,
> 
> Morgan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]