After updating to the latest nixos-unstable revision, I ran nixos rebuild --switch
and an error showed up during the rebuild:
modprobe: FATAL: Module aes_x86_64 not found in directory /nix/store/...-linux-5.4.30-modules/lib/modules/5.4.30
...
Warning: the new NixOS configuration has an ‘init’ that is incompatible with the current configuration.
The new configuration won't take effect until you reboot the system.
warning: error(s) occurred while switching to the new configuration
It didn’t fail the build, but it sounds like rebooting could lock me out of the system.
According to this report,
The module [aes_x86_64] was removed with 5.4 [1] as it was slower than the generic implementation.
My setup uses luks to encrypt the hard drive, and aes_x86_64
is one of the modules listed in boot.initrd.luks.cryptoModules, described as:
A list of cryptographic kernel modules needed to decrypt the root device(s).
The default includes all common modules.
I’m out of my depth, and don’t want to brick my system, so I’m going to rollback and avoid the upgrade until I have a better understanding of the situation.
Has anyone else run into this? Should I report an issue in nixpkgs?
It looks like I might be able to resolve it by overriding the default cryptoModules
option and omitting the missing module, but again, I’m out of my depth.
Additional context, in case it’s relevant:
- when I initially installed NixOS and set up the encryption, I ran:
cryptsetup luksFormat /dev/nvme0n1p2
cryptsetup luksOpen /dev/nvme0n1p2 crypted
and added the following to my configuration.nix:
boot.initrd.luks.devices = [
{
name = "root";
device = "/dev/disk/by-uuid/<UUID here>";
preLVM = true;
}
];