Grand and Unified
- 0
- Add a Comment
- No Related Post
Grand and Unified
As we noted yesterday, Grub (the GRand Unified Bootloader) is quickly becoming the bootloader of choice for most commercial distributions and individual users. I’ve always been partial to Lilo but, after further investigation, am moving more and more toward Grub. Given its increasing popularity, it seems appropriate to take a few days to look at Grub’s strengths and weaknesses, as well as any highs or lows specific to the configuration process. A bit of history and background is in order for today.
Grub was created in 1995 by Eric Boleyn. With the help of Brian Ford, Boleyn authored the Multiboot Specification to trim the number of mutually incompatible PC boot specifications. In the meantime, he began modifying the FreeBSD bootloader to meet these specs. Ultimately, Boleyn realized that the easier task would be to create a bootloader from scratch, rather than modify the existing FreeBSD loader. In 1999, Grub was adopted as an official GNU package, with development and maintenance duties assumed by Gordon Matzigkeit and OKUJI Yoshinori.
Grub natively supports a full range of both free and proprietary operating systems. Grub is capable of booting to a proprietary OS via a process called chain-loading. In short, chain-loading passes the boot tasks to any boot loader designed specifically for the proprietary OS. The combination of native free OS support and chain-loading gives Grub the capability, directly or indirectly, to load nearly any OS.
A primary advantage of Grub over Lilo lies in its ability to recognize filesystems and kernel executable formats. This greatly simplifies the modification and configuration of Grub. Unlike Lilo, Grub does not require a commit process. You’ve come to know this as the /sbin/lilo command for Lilo. This “commit-free” configuration is made possible both by Grub’s filesystem recognition and by a command line or GUI configuration interface. From either interface, a user can specify the path and filename of the kernel directly in the configuration. This all-in-one-step approach is a refreshing change from Lilo. Forgetting to commit changes to Lilo can be a frequent and serious pain.
Finally, unlike Lilo, Grub can normally find all the installed memory on a system. By querying the BIOS for all common memory regions, Grub can avoid the occasional necessity (as we’ve seen with Lilo) to hard-code installed RAM into the bootloader configuration file. This means that memory upgrades will be much easier in Grub than they may be in Lilo.
Tomorrow, we’ll walk through the process of installing Grub on a system that doesn’t already utilize its power and flexibility.
