El 2025-11-13 00:20, Marius escribió:


El 12 de noviembre de 2025 15:38:59 UTC, Roman Riabenko <[email protected]> 
escribió:
У ср, 2025-11-12 у 08:47 +0000, Marius пише:
El 12 de noviembre de 2025 6:42:28 UTC, Roman Riabenko
<[email protected]> escribió:
> У ср, 2025-11-12 у 08:32 +0200, Roman Riabenko пише:
> > У ср, 2025-11-12 у 01:15 +0000, Marius via пише:
> > > The thing is that i've configured the encrypted disk as a BTRFS
> > > filesystem with --checksum xxhash (xxhash64 as btrfs decided),
> > > --
> > > metadata single, -n 32k (so nodesize of 32KiB). I give you this
> > > info
> > > in case it helps with helping out.
> > > > > > When booting into the initrd I get this error that says that
> > > it's
> > > unable to open the filesystem because no xxhash64 hash is
> > > available. > > > > > > From this message I understand that probably the initrd is
> > > lacking
> > > the xxhash64 module in order to read the btrfs filesystem. > > > > > > So how do I specify to the operative-system config the initrd-
> > > module
> > > so it gets built and loaded? I know there is the operative-
> > > system
> > > keyname/field initrd-modules that I can supply with an improper
> > > list
> > > with modules to load. But which is the correct name for the
> > > xxhash64
> > > module? From internet I got that there's a xxhash-generic
> > > module
> > > for
> > > the linux kernel. Would that work ("xxhash-generic")?
> > > > The following option in the operating-system declaration allows
> > me to
> > boot with the root partition formatted as btrfs with --checksum
> > xxhash,
> > which has csum_type xxhash64 as the result.
> > > >   (initrd-modules (cons "xxhash_generic" %base-initrd-modules)) >
> For this configuration to build, it is also necessary to add
> "linux" to
> "use-service-modules", which is usually in the top of the system
> configuration.
> > (use-service-module linux ...


I guess that (use-service-module linux) is the same as (use-module
gnu services linux)? Or does it do something more fancy? Do i need to

Yes, (use-modules (gnu services linux)) and (use-service-modules linux)
provide the same result. It is a kind of a shorthand. The latter
expands to the former. Also, sorry for the typo at the end of the name
of use-service-modules in the example.

add it because of kernel-module-loader-service-type?

No, xxhash_generic appears to be loaded by the kernel automatically, so
you should only need to add it to initrd-modules. You should not need
to use a service of kernel-module-loader-service-type.

This means that I also need to declare more services in the 'service
keyname/field of the operative-system definition for xxhash to work?

Sorry for confusion. In a hurry, I misread my notes in the config file
about the reasons for inclusion of that module. You should not need
adding modules or services to utilize btrfs with xxhash. The code from
my initial reply should be sufficient.

Roman


Sadly I wasn't not able to make it work. I get this before entering into a 
scheme repl:

registered: /dev/mapper/ncrypt
BTRFS error (device dm-0): error allocating xxhash64 hash for checksum
BTRFS error (device dm-0): open_ctree failed -2
ice-9/boot.scm:1685:16: In procedure raise-exception:
In procedure mount: No such file or directory.



I added (initrd-modules (cons "xxhash_generic" %base-initrd-modules)) into my 
os configuration, no luck.

I have btrfs subvolumes for root, home and gnu/store like so:  rootfs, 
rootfs/home and rootfs/guix-store. Since the btrfs subvolume location does not 
correspond to the mount point for root and guix-store, i've declared their 
corresponding filesystem, both of them with needed-for-boot #t. The target for 
encrypted devices is always /dev/mapper/ncrypt in my config with dependencies 
on the mapped device of ncrypt.

For the EFI partition ("/boot/efi") i have also added a filesystem entry 
referring to the fat uuid, i did not setup needed-for-boot #t.

At this point i don't know what could be stopping it from working. The btrfs 
filesystem was created with the flags xxhash, --metadata single (because it's a 
high end ssd) -n 32k.


Any help is appreciated. Beyond this any additional setup goes beyond what I 
know about guix


Thank you in advance.

Best regards,

Could you share your configuration, operating-system definition, at least the file-systems, mapped-devices, initrd-modules, ... ?

And also did you re-run 'guix system reconfigure ...' or 'guix system init' after updating 'initrd-modules' ?

HTH
--
Ashish SHUKLA | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0
             | GPG: 01DE 145E 35D8 C87E 956E  FEC9 D4C4 4BDA 2C98 C654

"If I destroy you, what business is it of yours ?" (Dark Forest, Liu Cixin)

Attachment: signature.asc
Description: PGP signature

Reply via email to