Grub2 is able to load the kernel even if
/boot is placed on an LVM volume. To use this feature one needs to add
insmod lvm (the module can be on the grub bios partition that is not on an LVM volume) in the corresponding grub entry. But it doesn't explain to me how grub reads the kernel since the kernel should be loaded before anything can be inserted into it.
How does it work?