Recipe 12.18. Multibooting Linuxes with LILO

 < Day Day Up > 

12.18.1 Problem

You would like to run several different Linuxes on a single PC, and you want LILO for the bootloader.

12.18.2 Solution

The first Linux installed is the "host" system. You need to preserve it to keep LILO working. Make sure that the root filesystem containing the /boot directory is on a primary partition, or LILO won't work.

Write down the location of the partition where the root filesystem of your next Linux is going to be installed. If you also know the exact name of the kernel, and the initrd image (if there is one), you're ahead of the game. While you're still in the host Linux, you can create a lilo.conf entry for Linux #2:

# Red Hat 9 image=/boot/vmlinuz-2.4.22-1 initrd=/boot/initrd-2.4.22-1.img label="Red Hat 9" root=/dev/hda6 read-only

Then write the changes to the MBR:

# /sbin/lilo -v

Now you can go ahead and install Linux #2, and because you already have a LILO boot menu entry for it, you can glide through however many reboots it takes to complete the installation.

When the installer gets to the bootloader installation, be sure to select "install to the first sector of the root partition," or however your installer words it. Do not overwrite the MBR.

If you don't know the exact kernel name and initrd image, you'll have to discover them from the host Linux. Go ahead and start the installation of Linux #2. When it comes to the first reboot, you'll end up back in the host Linux. Mount the new Linux #2 filesystem and read the /boot directory:

# mount /dev/hda6 /mnt/tmp # cd /mnt/tmp # ls boot System.map  initrd-2.4.22-1.img  System.map-2.4.22-1  vmlinuz  vmlinuz-2.4.22-1

There's your kernel and initrd. Make your lilo.conf entry, re-run /sbin/lilo, and reboot. Now you can select your new Linux from the bootloader menu and finish the installation.

12.18.3 Discussion

Sometimes a ramdisk is required for the system to boot properly. If this is the case, there will be an initrd image. Note that not all distributions require an initrd image. If it's in /boot, it's needed, and it requires an entry in lilo.conf.

12.18.4 See Also

  • lilo(8), lilo.conf(5)

  • /usr/doc/lilo, or /usr/share/doc/lilo

     < Day Day Up > 


    Linux Cookbook
    Linux Cookbook
    ISBN: 0596006403
    EAN: 2147483647
    Year: 2004
    Pages: 434

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net