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/vda2
which asks for a passphrase, creates a key in slot 0, and seems to succeed in encrypting the partition.
cryptsetup luksOpen /dev/vda2 map-root
this asks for the passphrase to unlock, but gives the following response:
device-mapper: reload ioctl on map-root (253:0) failed: Invalid argument
and then my formatting step
mkfs.btrfs -f -L "fs-root-btrfs" /dev/mapper/map-root
clearly 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/Linux
i 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.
im having a hard time copying what i wrote above cuz im on jerboa mobile, but the kernel version from uname does indeed match the directory in which its looking (see above)