Docs/SysAdmin/Config/Grub vs LILO
From Mandriva Community Wiki
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.

