Closed lachesis closed 4 years ago
should not be needed
Hi, same problem here (ZFS).
please confirm if v33 resolves this
v33 does not resolve this for me: (BTRFS)
@lachesis
A. it seems you have some fstab
config error:
B. meanwhile, more details please:
Here's my system (BTRFS)
@lachesis
you have conflicting /sysroot
specs [kernel] vs [fstab] :
Good advice thanks.
@lachesis Eric:
Good advice thanks.
Also for me is not working (ZFS):
System information (ZFS):
@lachesis @peter-held @shelaf
please: try again with v34
v34 also did not work well without sd-encrypt hook.
/etc/mkinitcpio.conf
(BTRFS)
/etc/mkinitcpio.conf (ZFS)
v34 also did not work
v34 release is still pending. verify version by re-install: pacman -Sy mkinitcpio-systemd-tool
I installed from git master branch, extracted initramfs, and verified that initrd-cryptsetup.service has a dm-integrity line.
I installed from git master branch
ah, good
@lachesis @peter-held @shelaf
regading /etc/crypttab.initramfs
:
BINARIES=("/usr/bin/btrfs")
this is redundant, this dependency should be brought by HOOKS=(btrfs)
, no?
this is redundant, this dependency should be brought by HOOKS=(btrfs), no?
do you guys at all use [real-root]/etc/crypttab.initramfs from sd-encrypt
No, does not exist.
My /etc/crypttab.initramfs has the same content as /etc/crypttab. I removed it and the computer booted without problems (with sd-encrypt).
do you guys at all use [real-root]/etc/crypttab.initramfs from sd-encrypt
Doesn't exist for me either.
@lachesis you can try to follow @peter-held pattern from https://github.com/random-archer/mkinitcpio-systemd-tool/issues/62#issuecomment-617003478 that is:
[initramfs]/etc/fstab
empty and sysrooot.mount
generation only form kernel command line@lachesis @peter-held @shelaf just to confirm:
v34
you still need to keep HOOKS=(sd-encrypt)
in order to boot, is that correct?after v34 you still need to keep HOOKS=(sd-encrypt) in order to boot, is that correct?
Yes
Hi, Even though I don't have btrfs or zfs (only ext4 on lvm), I think this might be related:
Hope this info can help resolve this issue. :slightly_smiling_face:
@Anty0 hey, thank you!
InitrdLink=/usr/lib/systemd/system/sysinit.target.wants/cryptsetup.target target=/usr/lib/systemd/system/cryptsetup.target
It worked fine with plymouth by adding this line to initrd-plymouth.service file! Thank you!
@lachesis @peter-held @shelaf @Anty0
please confirm if v35
works
@Anty0 @Andrei-Pozolotin
thank you! it is now working for me without the sd-encrypt
hook. My actual hooks:
HOOKS="base systemd autodetect modconf block filesystems keyboard fsck systemd-tool"
I hope it is okay to put systemd earlier in the process than suggested in your docs. It was necessary in order for my keyboard to become ready by the time the prompt appears.
Also, perhaps related. I hand-edited my grub.cfg file to remove the root=UUID=xyz rw
component of the cmdline and I no longer see the fstab error that I received earlier. Sadly this is not something that I can make grub-mkconfig do for me (as far as I can tell). I'll have to add some kind of post-upgrade hook using sed to remove that component from the cmdline, or get a patch submitted to grub. (unlikely imo)
Here is my actual cmdline for this boot:
BOOT_IMAGE=/vmlinuz-linux intel_iommu=on iommu=pt resume=UUID=c58bcea8-0338-41d6-b10b-cd186747b07d resume_offset=69399059
@Andrei-Pozolotin
- we are still waiting for you to tell your story
I'm sorry. I'm really looking forward to write it, but I didn't have time to do so yet. :slightly_frowning_face: I hope there might be some time at the beginning of the next month, once I finish most of the school projects.
@lachesis
I hand-edited my grub.cfg file to remove the
root=UUID=xyz rw
component of the cmdline
Same here.
My solution to keep this change in place is to modify /etc/grub.d/*
files, so the generated config does not contain root
kernel argument at all.
I agree it might be possible to create pacman hook which would patch these files after grub update (since pacman update would override them). (I take advantage of my own script for system configuration synchronization to keep them modified, instead.)
I also worked fine v35 with/without plymouth.
@Anty0 @lachesis
Grub automatically creates the root
parameter, so I think it's a good idea to empty /etc/mkinitcpio-systemd-tool/config/fstab
.
Thanks, now it works.
My hooks are: HOOKS=(base keyboard modconf block filesystems fsck systemd sd-vconsole sd-zfs systemd-tool)
Even if systemd is not at the beginning, the keyboard works.
@shelaf At the time when I was creating my system there was an issue. You had to input your password and unlock the root
partition withing short time frame, otherwise the boot would fail and fall back into emergency shell. I don't know if the issue is still here, but to fix it I have added an option x-systemd.device-timeout=9999h
to my root
mount in initcpio fstab. I don't think it is possible to do so in kernel arguments.
- please confirm if
v35
works for you in general and withoutsd-encrypt
Yep, it's working like a charm. No workarounds needed without sd-encrypt
anymore. :slightly_smiling_face:
https://github.com/random-archer/mkinitcpio-systemd-tool/wiki/Root-vs-Fstab
To All: to clarify the "root= vs fstab" issue:
systemd
bootup sequence requires that sysroot.mount
mount unit is defined by someone, somewhere
there are 3 ways to define sysroot.mount
:
A. auto-magically, with root=
+ fstab-generator
kernel-cmdline: root=... ---> fstab-gen ---> /run/systemd/generator/sysroot.mount
B. auto-magically, with /etc/fstab
+ fstab-generator
[initramfs]/etc/fstab ---> fstab-gen ---> /run/systemd/generator/sysroot.mount
C. manually, with user-provided mount unit file with a name sysroot.mount
[initramfs]/etc/systemd/system/sysroot.mount
A-vs-B-vs-C have different set of available features, (which also keeps changing over time); A is more limited, B is more complete, and only C is the "real form", which allows complete control over mount unit file
in order to understand "how much magic" is done by fstab-generator
,
you have to study fstab-generator.c
usage examples:
A. that is what yourselves describe above about your various setups
B. that is what this project recommends in src/fstab
C. that is what is used by Case: Sysroot on Btrfs
@lachesis @peter-held @shelaf @Anty0
thank you guys, we are now complete
please drop a note here when your user-case wiki page is ready for review
Does this package replace the
sd-encrypt
hook, or does it still need it?