You are not logged in.

#1 2025-11-23 01:38:56

AFatNut21
Member
Registered: 2021-09-06
Posts: 37

Failing to unlock the correct Luks Partition At Boot

I followed the wiki, and created the crypttab.initramfs and included my luks to be unlocked at boot.

First Attempt (crypttab.initramfs):
    1)  Created a file called crypttab.initramfs and followed the syntax
    2)  Ran mkinitcpio -P and rebooted

Result Of First Attempt:
    1) Luks would look something like this on boot: SAMSUNG device-id (cryptzfs): (no echo)
                  - This is the wrong device partition. In my crypttab.initramfs file, i have  something like this: cryptzfs UUID=..... none luks,discard,tries=3



Second Attempt (commented out crypttab.initramfs):
      1) Added cryptdevice, root=zfs=..., and rw to my kernel parameter in this case it would be grub,
      2) Updated my grub.cfg, and updated my initramfs and rebooted

Result Of Second Attempt:
      1) Landed me straight into emergency shell. Nothing else.


Here is my Mkinitcpio.conf:

MODULES=(dm-crypt amdgpu radeon zfs zavl znvpair zunicode zcommon spl)
HOOKS=(base systemd autodetect microcode modconf kms block keyboard sd-vconsole sd-encrypt zfs usr filesystems shutdown fsck)

As you can see I added the correct modules and hooks to it with the knowledge I have so far. I could or could not be missing something, I don't know yet. I did find this package that seems promising: mkinitcpio-systemd-tool


Here is the output of lsinitcpio -a /boot/initramfs-linux-lts.img:

==> Image: /boot/initramfs-linux-lts.img
==> Created with mkinitcpio 40
==> Kernel: 6.12.29-1-lts
==> Early CPIO: 37.55 MiB
==> Size: 14.67 MiB
==> Compressed with: zstd
  -> Uncompressed size: 36.58 MiB (.401 ratio)
  -> Estimated decompression time: 0.149s

==> Included modules (198):
  842				  i2c-algo-bit
  842_compress			  i8042
  842_decompress		  iaa_crypto
  adiantum			  idxd
  aegis128			  idxd_bus
  aegis128-aesni		  intel_qat
  aes_ti			  keywrap
  aesni-intel			  libarc4
  af_alg			  libchacha
  algif_aead			  libchacha20poly1305
  algif_hash			  libcurve25519
  algif_rng			  libcurve25519-generic
  algif_skcipher		  libdes
  amdgpu [explicit]		  libpoly1305
  amdxcp			  libps2
  amlogic-gxl-crypto		  lrw
  ansi_cprng			  lz4
  aria-aesni-avx-x86_64		  lz4_compress
  aria-aesni-avx2-x86_64	  lz4hc
  aria-gfni-avx512-x86_64	  lz4hc_compress
  aria_generic			  md4
  asn1_encoder			  michael_mic
  async_memcpy			  mmc_block
  async_pq			  mmc_core
  async_raid6_recov		  n5pf
  async_tx			  nhpoly1305
  async_xor			  nhpoly1305-avx2
  atkbd				  nhpoly1305-sse2
  atmel-ecc			  nvme
  atmel-i2c			  nvme-auth
  atmel-sha204a			  nvme-core
  authenc			  padlock-aes
  authencesn			  padlock-sha
  blake2b_generic		  pcbc
  blowfish-x86_64		  pcrypt
  blowfish_common		  pkcs8_key_parser
  blowfish_generic		  poly1305-x86_64
  camellia-aesni-avx-x86_64	  poly1305_generic
  camellia-aesni-avx2		  polyval-clmulni
  camellia-x86_64		  polyval-generic
  camellia_generic		  pps_core
  cast5-avx-x86_64		  ptp
  cast5_generic			  qat_420xx
  cast6-avx-x86_64		  qat_4xxx
  cast6_generic			  qat_c3xxx
  cast_common			  qat_c3xxxvf
  cbc				  qat_c62x
  ccm				  qat_c62xvf
  ccp				  qat_dh895xcc
  ccp-crypto			  qat_dh895xccvf
  cec				  radeon [explicit]
  chacha-x86_64			  raid6_pq
  chacha20poly1305		  raid6test
  chacha_generic		  rmd160
  chcr				  rpmb-core
  cmac				  seqiv
  crc16				  serio
  crc32-pclmul			  serio_raw
  crc32_generic			  serpent-avx-x86_64
  crc32c-intel			  serpent-avx2
  crc32c_generic		  serpent-sse2-x86_64
  crc8				  serpent_generic
  crct10dif-pclmul		  sha1-ssse3
  cryptd			  sha256-ssse3
  crypto_engine			  sha512-ssse3
  crypto_null			  sm3
  crypto_safexcel		  sm3-avx-x86_64
  crypto_simd			  sm3_generic
  crypto_user			  sm4
  cts				  sm4-aesni-avx-x86_64
  curve25519-generic		  sm4-aesni-avx2-x86_64
  curve25519-x86_64		  sm4_generic
  cxgb4				  streebog_generic
  deflate			  tcrypt
  des3_ede-x86_64		  tee
  des_generic			  tls
  dm-bufio			  trusted
  dm-crypt [explicit]		  ttm
  dm-integrity			  twofish-avx-x86_64
  dm-mod			  twofish-x86_64
  drm_buddy			  twofish-x86_64-3way
  drm_display_helper		  twofish_common
  drm_exec			  twofish_generic
  drm_suballoc_helper		  uas
  drm_ttm_helper		  usb-storage
  echainiv			  usbhid
  ecrdsa_generic		  video
  encrypted-keys		  virtio_blk
  essiv				  virtio_crypto
  fcrypt			  virtio_scsi
  gcm				  vivaldi-fmap
  geniv				  vmac
  gf128mul			  wmi
  ghash-clmulni-intel		  wp512
  ghash-generic			  xcbc
  gpu-sched			  xctr
  hctr2				  xor
  hid-generic			  xts
  hid-multitouch		  xxhash_generic

==> Included binaries (34):
  blkid					  sulogin
  busybox				  swapoff
  cp					  swapon
  dmsetup				  switch_root
  findmnt				  systemctl
  fsck					  systemd-cryptsetup
  fsck.zfs				  systemd-tmpfiles
  journalctl				  systemd-tty-ask-password-agent
  kmod					  udevadm
  loadkeys				  umount
  lsblk					  zdb
  mkswap				  zed
  modprobe				  zfs
  mount					  zhack
  mount.zfs				  zinject
  seq					  zpool
  setfont				  zstream

==> Hook run order:
  zfs

==> Late hook run order:
  zfs usr

==> Cleanup hook run order:
  shutdown

There are the modules and the binaries for my initramfs. I am using linux-lts the stable version that works with whatever version zfs is at right now.


I don't know what else to do right now in terms of why luks is unlocking SAMSUNG device-id, and not my luks uuid would really appreciate it if someone can actually help me solve this issue I am having

Last edited by AFatNut21 (2025-11-23 05:16:39)

Offline

#2 2025-11-23 02:58:38

cryptearth
Member
Registered: 2024-02-03
Posts: 1,977

Re: Failing to unlock the correct Luks Partition At Boot

as this seems to be a followup of https://bbs.archlinux.org/viewtopic.php?id=310338 how about strip encryption and zfs for now - setup a basic single partition system - and use a vm to experiment with the various options to be combined later?

don't get me wrong - they all work together (I've seen a lot of weird setups) - but currently you seem to struggle with the basics

what's your exoerience? in general? with linux? with zfs? with luks?
as by the topics to me it looks like not that much - trying to go for bare metal without required skill is desaster waiting to happen

btw: zfs supports 6.17 for some time - using it myself - no need for lts (although if you don't build your own packages but rely on archzfs it's the safer approach - but even then your kernel looks quite old, current lts is 12.58 or so)

Online

#3 2025-11-23 04:06:09

AFatNut21
Member
Registered: 2021-09-06
Posts: 37

Re: Failing to unlock the correct Luks Partition At Boot

Yeah, this post I was trying out something different:  https://bbs.archlinux.org/viewtopic.php?id=310338 and there is a section in the arch-wiki that needs to be updated or add more clarity. It has nothing to do with this one. When I ran zfs mount zroot/ROOT/default right before zpool import -R /mnt zroot, it was not getting mounted correctly to /mnt, and it was basically copying everything to my iso, and not my filesystem. Changed the mountpoint to / and fixed the issue.

I already have a Arch Linux ZFS + Luks on a Nvidia PRIME Laptop with systemd-boot that uses dracut, and it works fine. I usually just run pacman -U archive/to/supported/linux/kernel/for/zfs and install the kernel and the headers, and run zfs-linux-lts and or zfs-linux-zen.

The only difference I am doing with this installation is mkinitcpio and using grub. And why does it even matter if the kernel i went with is old? The problems I am encountering would have been solved, if I were manually configure a kernel, and embed the path to the initramfs into it, and roll my own initramfs by adding what I need, package it into, update my boot-loader, and it would have been done.

Whenever I use tools that generate the initramfs, I always have issues for some reason. And no, I am not going to strip away those hooks, because it will require me to reconfigure my whole installation again. To me honestly, it seems that you just read the titles of what I posted, barely put any effort into trying to understand what is going on, and came up with some rubbish, hoping it would be useful. What you literally posted, solves, or leads to nothing. If you don't know what is going on, then don't even bother replying. Like I have been doing for the past couple days, I'll continue to dig through the wiki, and eventually find something useful other than what I just read.

Last edited by AFatNut21 (2025-11-23 05:04:27)

Offline

#4 2025-11-23 15:32:40

cryptearth
Member
Registered: 2024-02-03
Posts: 1,977

Re: Failing to unlock the correct Luks Partition At Boot

ok - as you seem to fail to inderstand my point of "starting from zero": you try several different things all at once (different boitloader, different initrd tool, luks, zfs, maybe something else) and all of that combined result in a big mess without you (or anyone else here for that matter) has any clue where you missed something or did something different than what's required

by simply this line

When I ran zfs mount zroot/ROOT/default right before zpool import -R /mnt zroot, it was not getting mounted correctly to /mnt,

i can tell you in fact do lack some fundamentals of zfs, because OF COURSE you cannot mount a dataset of any pool before importing the pool itself
it's one of the base fundamentals how zfs work - and hence i think your claim about the wiki having issues is kust that: a claim, caused by your lack of knowledge of zfs
if you do feel the need to express concerns feel free to register a wiki accpunt and write about it on the articles discussion page

btw:

NAME                              USED  AVAIL     REFER  MOUNTPOINT
zroot                            8.13G   221G       96K  /mnt
zroot/ROOT                        192K   221G       96K  none
zroot/ROOT/default                 96K   221G       96K  /mnt/roots/default

that's not how it's supposed to look like - havin the pool root itself having a mountpoint is wrong already

same goes for luks, grub and mkinitcpio:
start clean and fresh following https://wiki.archlinux.org/title/Installation_guide
this will end up in a base system without zfs or luks but with mkinitcpio and a bootloader of your choice
from there start to change one thing at a time: if you used to systemd-boot switch to grub and get it working
if it works without issues move on to add luks to it
works? fine? now throw a proper zfs setup into the mix
try from scratch but change the order - see if it does cause a difference when you swap zfs and luks or at which point to bring in dracut

it's the base principles of troubleshooting: you changed 5 different things at once and don't even have a clue where to start - when you need to ask someone else just for how to start you may be better off with just switch to windows or mac - as you lack requored base skills for linux
and no - that's not the typical "arch is toxic" stereotypic but you lacking tge skill to ask google about the actual issue instead of just wasting it to find the next forum to post your stupid question
what you try to do is explain perfectly well in the wiki and severyl other sources - and countless people use it sucessfully every day - not getting that it's you who failed but rather accuse me to not have read your posts ... yeap, go on, it's not me not able to understand the wiki to get it working

Online

Board footer

Powered by FluxBB