You are not logged in.
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:
shutdownThere 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
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)
Offline
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
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/defaultthat'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
Offline