Linux Know-How provides a collection of introductory texts on often needed Linux skills.


LILO and GRUB

Both the newer GRUB and the older LILO are boot loaders. They make it possible for you to select the operating system to boot at the boot time. Most (all?) of the booting problems described in this section can likely be overcome by installing the most recent Linux kernel and the latest GRUB boot loader. GRUB is better than LILO because LILO relies on the absolute hard drive addresses to find the boot image, while GRUB understands the file systems and looks for a file containing the boot image. We recommend using GRUB when given a choice during the installation.

The main GRUB configuration file is /boot/grub/menu.lst (or grub.conf, on my system one is a symbolic link to the other). Here are some comments on the items found in this file:

# Lines starting with the # mark are comments.

timeout 5

# the above setting starts booting the default operating system after 5 seconds unless a key is pressed

default 0

# the above setting makes the default operating system to be the first found in the menu list. I could use "default 3" to have the 4th menu item the default.

#

title linux

kernel (hd0,2)/boot/vmlinuz root=/dev/hda3 mem=64M hdc=ide-scsi

# The above two lines define a boottime menu item, and set the boot action for this item.

# The first line names the menu item "linux".

# The second line specifies that the kernel is located on the first physical hard drive (hd0), the third partition (2), the boot image is the file /boot/vmlinux

# Also on the second line, the following options are passed to the kernel:

# root=/dev/hda3 (i.e., make the root partition the 3d partition on the first hard drive (hda) ),

# mem=64M (i.e., force using 64 megabytes of physical memory.).

# hdc=ide-scsi (use SCSI emulation on my CD ROM, because it is a CD writer).

#

initrd /boot/initrd-2.4.17-custom.img

# define the file which contains the modules needed at the boot time, as the modules load to the "initial ram disk" (initrd).

# I had to re-create mine (because I recomplied the kernel) using mkinitrd /boot/initrd-2.4.7-10custom.img 2.4.7-custom

Good documentation for GRUB is available using info grub.


Last Update: 2010-12-16