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
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
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.