I'm trying to achieve LUKS-encrypted CentOS 7 install with separate /boot partition and lvm on EFI-friendly motherboard.
I've done partitioning fresh CentOS install from old CentOS(installed from GUI) and it looks like this:
sdb 8:16 0 745,2G 0 disk
├─sdb1 8:17 0 200M 0 part /home/user/target/boot/efi
├─sdb2 8:18 0 1G 0 part /home/user/target/boot
├─sdb3 8:19 0 700G 0 part
│ └─crypto 253:3 0 700G 0 crypt
│ ├─lv-swap 253:4 0 16G 0 lvm
│ ├─lv-root 253:5 0 50G 0 lvm /home/user/target
│ └─lv-home 253:6 0 634G 0 lvm /home/user/target/home
Bootstrapping also succeded in CentOS chroot (used this and this tutorials) and now ready to generate boot image.
The matter is that I've decided to use non-standart algorithm in cryptsetup:
cryptsetup -v --cipher serpent-xts-plain64 --key-size 512 --hash sha256 --iter-time 3000 --use-random luksFormat /dev/sdb3
and now I wonder how to to generate correct initrd with my parameters.
Tutorials tell me that the next step is:
mkinitcpio -p linux however there is no mkinitcpio command or /etc/mkinitcpio.conf to change HOOKS list in order to lvm and encrypt work correct.
However, there is only initrd that is unfamiliar to me due to lack of knowledge about rpm-based distros. Search of initrd examples for my case was out of luck.
Now there are several files/directories in /boot inside chroot:
bash-4.2# ls
config-3.10.0-514.16.1.el7.x86_64 grub2 symvers-3.10.0-514.16.1.el7.x86_64.gz
efi initramfs-3.10.0-514.16.1.el7.x86_64.img System.map-3.10.0-514.16.1.el7.x86_64
grub lost+found vmlinuz-3.10.0-514.16.1.el7.x86_64
But I doubt that they are support serpent encryption or even luks as soon as these files were generated during bootstrap.
So, my question is how do I make correct boot toolchain with luks and serpent starting from kernel image generation?
Though maybe I should use initramfs instead of initrd, so any hints about this approach is also appreciated.