Starting with grub2 we can boot directly on LVM.
# Begin /boot/grub/grub.cfg set default=0 set timeout=2 set timeout_style=hidden echo ' __ __ _ \ \ / / | | \ \ /\ / /_ _| | _____ ___ \ \/ \/ / _` | |/ / _ \/ __| \ /\ / (_| | < __/\__ \ \/ \/ \__,_|_|\_\___||___/ A GNU/Linux operating system. ' echo -n ' Press ESC for boot menu...' insmod ext2 insmod lvm set root=(lvm/rootvg-boot) menuentry "Wakes GNU/Linux 1.0, Linux 4.1.3" { echo -n -e '\r ' echo -n -e '\r Loading Linux... ' linux /vmlinuz-4.1.3 root=/dev/mapper/rootvg-sys quiet echo '[ok]' echo -n ' Loading initrd... ' initrd /initrd-4.1.3 echo '[ok]' echo -n ' Starting Linux... ' }
Add another kernel:
menuentry "Wakes GNU/Linux 1.0, Linux 4.1.3 with iolat patch 0.8" { echo -n -e '\r ' echo -n -e '\r Loading Linux... ' linux /vmlinuz-4.1.3-iolat-0.8 root=/dev/mapper/rootvg-sys quiet echo '[ok]' echo -n ' Loading initrd... ' initrd /initrd-4.1.3-iolat-0.8 echo '[ok]' echo -n ' Starting Linux... ' }