Looking for some troubleshooting help, if possible.
Attempting to install Arch using the linux-zen kernel. Planning to encrypt root using dm-crypt.
Early on, after running
parted /dev/vda --script mklabel gpt
parted -a optimal /dev/vda --script mkpart "ptn-boot" fat32 2048s 1024MiB
parted -a optimal /dev/vda --script mkpart "ptn-root" btrfs 1024MiB 100%
on the disk.
i then enter
modprobe dm-crypt
modprobe dm-mod
I’ve done this procedure a lot of times before, but I think I’m missing something, bc when I run modprobe dm-crypt, i get
modprobe: ERROR: could not insert 'dm_crypt': Invalid argument
I don’t get an error with modprobe dm-mod.
In /lib/modules/7.1.3-zen1-2-zen/kernel/drivers/md/, i have dm-crypt.ko.zst and dm-mod.ko.zst.
This is…confusing. Are you saying you’re in a LiveUSB environment while running this, or you’re inside a currently installed environment where this has previously worked?
Confirm the current live kernel when running this command matches the lib modules you’re pointing out here. This sounds like a mismatch issue.
yeah, i’ve built an iso using archiso (https://wiki.archlinux.org/title/Archiso, https://github.com/archlinux/archiso). i’m running the 2 modprobe commands while booted into that iso (the live environment).
i have the following packages installed on the live iso when building that image:
- arch-install-scripts
- base
- base-devel
- bind
- btrfs-progs
- cryptsetup
- dosfstools
- dracut
- edk2-shell
- efibootmgr
- git
- gptfdisk
- inetutils
- libfido2
- linux-firmware
- linux-zen
- linux-zen-headers
- lvm2
- man
- memtest86+
- memtest86±efi
- net-tools
- parted
- thin-provisioning-tools
- usbutils
- util-linux
- vim
- wge
my next steps would normally be
cryptsetup -v luksFormat /dev/vda2which asks for a passphrase, creates a key in slot 0, and seems to succeed in encrypting the partition.
cryptsetup luksOpen /dev/vda2 map-rootthis asks for the passphrase to unlock, but gives the following response:
device-mapper: reload ioctl on map-root (253:0) failed: Invalid argumentand then my formatting step
mkfs.btrfs -f -L "fs-root-btrfs" /dev/mapper/map-rootclearly doesn’t work.
“pacman -Q cryptsetup” yields “cryptsetup 2.8.6-1”
“uname -a” yields
Linux larch.domain.net 7.1.3-zen1-2-zen #1 ZEN SMP PREEMPT_DYNAMIC Thu, 09 Jul 2026 20:39:38 +0000 x86_64 GNU/Linuxi initially tried this on my laptop, bc i didn’t expect any trouble. but i’m working with a libvirt virtual machine now until i figure out the issue.
Okay, but what’s the output of
uname -a, and does it match your lib modules directory version?

