Prior to rolling over to systemd I used the following line in my crypttab:
cryptodev /dev/sdb1 /dev/sdc1:vfat:/unlockfile luks
With systemd that seems to be broken, so I tried mounting the usb stick(sdc1) in fstab as /mnt/usb then mod the cryptab to:
cryptodev /dev/sdb1 /mnt/usb/unlockfile luks
However this does not work because the email@example.com script runs prior to mounts. I attempted to add "Requires=mnt-usb.mount" and "After=mnt-usb.mount" in /firstname.lastname@example.org but I believe this is a generated file. My first thought is to move the .service to the /etc/systemd/service folder and perform edits there, then remove the crypttab all together. Thoughts, or an easier solution?
I still have had no luck in getting my crypto filesystems to mount properly on boot. When the key file is on the root partition I have no problems, but when it is on a removable device it fails because systemd has not mounted the flash drive containing the key yet. I tried getting rid of the entries in crypttab and creating my own service, but it fails the same. Anyone else have this issue?
Have you tried "noauto"? https://wiki.archlinux.org/index.php/Systemd#Automount
My first thought is to move the .service to the /etc/systemd/service folder and perform edits there, then remove the crypttab all together. Thoughts, or an easier solution?
This sounds like the correct solution, though no need to remove crypttab, the copy in /etc will take precedence over the generated one. We should probably improve the crypttab generator to add this automatically. In the meantime: I'm not sure why this does not work for you without more info. After "systemctl daemon-reload" with the modified file in place, can you paste "systemctl show email@example.com" ?