Chapter 10. Grub

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