Up until a few years ago there was no arguing about a Linux
distribution's bootloader. With
LILO (LInux LOader) as
the dominant software for this purpose, many seasoned Linux system
administrators had mastered the art of creating a lilo.conf file out of
thin air, without having to look through any LILO documentation.
Unfortunately for them, the
release
notes of Red Hat 7.2, released in October 2001, informed us that
"
we now use GRUB as the default bootloader."
Back in those days, only Caldera OpenLinux was supplying GNU's GRUB (GRand
Unified Bootloader) as its preferred bootloader, but this sudden push
by Red Hat was about to give GRUB a major boost. Indeed, many
distributions soon followed Red Hat's example and started providing
GRUB as an option, although few of them displaced LILO altogether. Then
in March 2003, the just-released Red Hat Linux 9 re-emphasized Red
Hat's commitment to GRUB by placing LILO on a list of deprecated
packages that may be removed from a future Red Hat release. Although
this has yet to happen, the fact is that Red Hat (as well as Fedora)
have not updated their LILO version since August 2000.
Does this mean that LILO is dead? Well, not quite. Firstly, LILO has
been around for so many years (I was unable to find out exactly how
many, but LILO version 15 was released in October 1994), that it is
firmly entrenched in many a sysadmin's arsenal of tools. Secondly, GRUB
is still considered alpha software - even its most recent release,
version 0.95, is only available from alpha.gnu.org, rather than
from GNU's stable directory. As
for the Linux distributions, most of the major ones seem to be slowly
moving towards GRUB as their preferred bootloader, although this has
not happened across the board. While SUSE's installation program does
default to GRUB, Mandrake's still defaults to LILO. The Debian
installer that came with Woody did not provide GRUB at all, but the
recent Sarge beta installers now use GRUB by default. Gentoo used to
demonstrate a clear preference for GRUB, but its most recent
installation documentation gives equal exposure to both bootloaders.
This leaves Slackware as the only major distribution that does not
provide GRUB, but this is hardly surprising given its target market and
its reputation for staying with well-established UNIX/Linux tools.
The LILO versus GRUB argument is one of those never-ending and
passionate discussions that resurface from time to time on various
public forums, not too different from the notorious vi vs. emacs or KDE
vs. GNOME verbal battles. Although we all know that these debates are
pointless and that the choice of software is a simple matter of
personal taste, few of us are able to control the urge to reply as soon
as we read a derogatory comment ridiculing our preferred piece of
software.
So what exactly makes GRUB better than LILO? Here is a list of some of
GRUB's frequently cited advantages:
- GRUB has a more powerful, interactive command line interface. LILO,
on the other hand, only allows one command with arguments.
- LILO stores information about the location of the kernel or other
operating system on the Master Boot Record (MBR). Every time a new
operating system or kernel is added to the system, the Stage 1 LILO
bootloader has to be manually overwritten, otherwise there is no way to
boot the new OS or kernel. This method is more risky than the method
used by GRUB because a mis-configured LILO configuration file may leave
the system unbootable (a popular way to fix this problem is to boot
from Knoppix or another live CD, chroot into the partition with
mis-configured lilo.conf and correct the problem). On the other hand,
correcting a mis-configured GRUB is comparatively simple as GRUB will
default to its command line interface where the user can boot the
system manually. This flexibility is probably the main reason why many
users nowadays prefer GRUB over LILO.
- Unlike LILO, GRUB has a web site. It also has a manual, FAQ, a bug
tracker, a developer mailing list and a logo. LILO has none of those.
Here is a short list of some advantages of LILO over GRUB:
- With more than a decade of development behind it, LILO is one of the
most widely-used, well-tested and dependable Linux applications ever
written. Most experienced system administrators are well-versed in
configuring the LILO and skilled enough to deal with any emergency
situation.
- The Red Hat Linux Reference Guide claims that GRUB may have
difficulties booting certain hardware. It does not provide any further
details, though.
- GRUB is, according to its developers, alpha-quality software. Use at
your own risk.
Finally, a mind-opening quote by one of the GRUB developers Gordon
Matzigkeit, as published in O'Reilly's
Essential
System Administration:
Some people like to acknowledge both the operating
system and kernel when they talk about their computers, so they might
say they use 'GNU/Linux' or 'GNU/Hurd'. Other people seem to think that
the kernel is the most important part of the system, so they like to
call their GNU operating systems 'Linux systems'. I, personally,
believe that [both are] a grave injustice, because the boot loader is
the most important software of all. I used to refer to the above
systems as either 'LILO' or 'GRUB' systems. Unfortunately, nobody ever
understood what I was talking about; now I just use the word 'GNU' as a
pseudonym for GRUB. So, if you ever hear people talking about their
alleged 'GNU' systems, remember that they are actually paying homage to
the best boot loader around: GRUB!
Some distributors - and their users - may continue to disagree for
some time, however.
(
Log in to post comments)