Docs/SysAdmin/Config/Grub vs LILO

From Mandriva Community Wiki

Jump to: navigation, search
Grub and Lilo strengths and weaknesses (on Mandriva)

Contents


[edit] pros

[edit] lilo

  • RAID1 support (native)
  • LVM support (using a patch, restriction: the LV must not span PVs)
  • support new filesystem quite easily (e.g.: reiser4)
  • the config file is checked before rebooting
  • mandriva graphical patch allows 800x600 240 colors, with a menu and a progress bar
  • Xen support through mbootpack

[edit] grub

  • the default choice on most distros (nb : debian has both grub and lilo)
  • supported by RedHat (and heavily patched)
  • Xen support
  • RAID1 support (need a patch from RedHat)
  • powerful for experts (everything can be done in grub command line)
  • no chainloading from the filesystem when stage1.5 is embedded in the first sectors of the drive
  • don't need to be re-installed when devices are renumbered after a live modification of the partition table
  • easy chaining of menu.lst from other distributions

[edit] cons

[edit] lilo

  • no dmraid support (we could, the dmraid support patch conflicts with the device-mapper (LVM) patch we're using)
  • our graphical patch is from an old mandriva employee, the file format is quite picky

[edit] grub

  • rebootin (booting once to a specific entry) support is either complex (the official way), or broken (savedefault patch)
  • i18n keyboard is quite awful (the official way is "setkey", Pixel used to have a "keytable" patch a la lilo, but he dropped it since then)
  • things are displayed in English, no i18n possible (maybe we should drop things displayed (using hiddenmenu?))
  • the graphical splashimage patch is only 640x480 14 colors, no progress bar (nb: progress bars not that useful nowadays). Using gfxboot would remove those limitations (and add many more features)
  • the menu place is chosen using text (80x25) coordinates, not graphical (640x480) coordinates
  • adding a kernel command line option (eg: noapic) is quite hard (RedHat has an "append" patch for this, not accepted upstream)
  • the default entry is a number, i.e. not very readable
  • the naming (hd0,X) is weird when used to linux naming (hdaX)
  • plays dirty tricks to modify filesystems using device directly, even though filesystem is mounted
  • LVM is not supported as a boot filesystem

[edit] kernel parameters

  • kernel accepts up to 1024 chars (?)
  • isolinux 3.11+gfxboot: 256 chars (initrd=xxx.rdz <para-given-in-isolinux.cfg> BOOT_IMAGE=xxx <boot-time user-provided parameters>)
  • grub 0.97: 256 chars
  • lilo 22.6: 256 chars (BOOT_IMAGE=xxx root=301 <paras>)

[edit] Conclusion

  • the main issue for using grub by default is the graphical limitation, which would go away using gfxboot.
  • dropping lilo is wrong. Having both is really useful as a fallback. The drawback of having both is the necessity of maintaining both and handling both config files.
Personal tools