I read from arch wiki:
In case your root filesystem is on LVM, you will need to enable the appropriate mkinitcpio hooks, otherwise your system might not boot.
However, both my initrd and initramfs are on my root filesystem. How does the kernel loads these files if it does not have the modules to read from lvm? Isn't it a chicken and egg problem? Also, does the kernel use both the initrd and initramfs schemes, or only one? If both, how do these work together?