Linuxdoc Linux Questions
Click here to ask our community of linux experts!
Custom Search

8. After Your First Boot

You should now be looking at the login prompt of a new Linux, just booted from your hard drive. Congratulations!

The GNU/Linux post-install procedures has some good suggestions about things you can do just after installation to minimize problems later on.

8.2. Custom LILO Configuration

LILO is a boot loader, which can be used to select either Linux, MS-DOS, or some other operating system at boot time. Chances are your distribution automatically configured LILO for you during the installation phase (unless you're using OS/2, this is what you should have done). If so, you can skip the rest of this section.

If you installed LILO as the primary boot loader, it will handle the first-stage booting process for all operating systems on your drive. This works well if MS-DOS is the only other operating system that you have installed. However, you might be running OS/2, which has its own Boot Manager. In this case, you want OS/2's Boot Manager to be the primary boot loader, and use LILO just to boot Linux (as the secondary boot loader).

An important gotcha for people using EIDE systems: due to a BIOS limitation, your boot sectors for any OS have to live on one of the first two physical disks. Otherwise LILO will hang after writing "LI", no matter where you run it from.

If you have to configure LILO manually, this will involve editing the file /etc/lilo.conf. Below we present an example of a LILO configuration file, where the Linux root partition is on /dev/hda2, and MS-DOS is installed on /dev/hdb1 (on the second hard drive).

# Tell LILO to install itself as the primary boot loader on /dev/hda.
boot = /dev/hda
# The boot image to install; you probably shouldn't change this
install = /boot/boot.b

# The stanza for booting Linux. 
image = /vmlinuz       # The kernel is in /vmlinuz
  label = linux        # Give it the name "linux"
  root = /dev/hda2     # Use /dev/hda2 as the root filesystem
  vga = ask            # Prompt for VGA mode
  append = "aha152x=0x340,11,7,1"  # Add this to the boot options,
   # for detecting the SCSI controller

# The stanza for booting MS-DOS
other = /dev/hdb1      # This is the MS-DOS partition
  label = msdos        # Give it the name "msdos"
  table = /dev/hdb     # The partition table for the second drive

Once you have edited the /etc/lilo.conf file, run /sbin/lilo as root. This will install LILO on your drive. Note that you must rerun /sbin/lilo anytime that you recompile your kernel in order to point the boot loader at it properly (something that you don't need to worry about just now, but keep it in mind).

Note how we use the append option in /etc/lilo.conf to specify boot parameters as we did when booting the bootdisk.

You can now reboot your system from the hard drive. By default LILO will boot the operating system listed first in the configuration file, which in this case is Linux. In order to bring up a boot menu, in order to select another operating system, hold down shift or ctrl while the system boots; you should see a prompt such as

Boot:

Here, enter either the name of the operating system to boot (given by the label line in the configuration file; in this case, either linux or msdos), or press tab to get a list.

Now let's say that you want to use LILO as the secondary boot loader; if you want to boot Linux from OS/2's Boot Manager, for example. In order to boot a Linux partition from OS/2 Boot Manager, unfortunately, you must create the partition using OS/2's FDISK (not Linux's), and format the partition as FAT or HPFS, so that OS/2 knows about it. (That's IBM for you.)

In order to have LILO boot Linux from OS/2 Boot Manager, you only want to install LILO on your Linux root filesystem (in the above example, /dev/hda2). In this case, your LILO config file should look something like:

boot = /dev/hda2
install = /boot/boot.b
compact

image = /vmlinuz
  label = linux
  root = /dev/hda2
  vga = ask

Note the change in the boot line. After running /sbin/lilo you should be able to add the Linux partition to Boot Manager. This mechanism should work for boot loaders used by other operating systems as well.