BootInstallerFromHardDisk

Boot Fedora Core Installer from Hard Disk

Sometimes, particularly with older hardware, there can be problems booting the Fedora Core installer and getting the distribution installed or upgraded. Most often this is because the machine does not have a CD/DVD drive or USB interface than can be used to boot from. However, all is not lost if you can boot any existing Linux distribution on this machine. This could include a Live CD, but would typically be an older Fedora release that was to be upgraded.

This guide shows how to use an existing Linux installation to install the Fedora installer on to your hard disk, and to configure grub to boot it. From that point, you could proceed to do a network or hard disk-based install/upgrade (which is outside the scope of this guide).

The guide is based on doing an upgrade of an existing system rather than installing from scratch using a Live CD or similar approach. If you were using a Live CD, you'll need to create a small partition on the hard disk to hold the boot files, and install grub or whatever your favourite bootloader is.

Obtaining the Install Image

The install image I suggest to use is the boot.iso file, which can be found in the os/images directory of your favourite Fedora mirror, or in the images directory of the DVD (and probably the CD too). This is a good one to use because:

  • It's very small, well under 10MB, and
  • When booted, you'll be prompted for the install method to use

The rest of this guide will use the boot.iso (i386 version) from the Fedora Core 5 release as an example. This can be obtained from http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/images/boot.iso

Extracting the Kernel and Installer RAMdisk Image

The first step is to loopback mount the boot.iso image so that you can extract files from it:

# mkdir -p /mnt/temp
# mount -r -o loop boot.iso /mnt/temp

Then you need to copy the kernel and initrd to your /boot directory:

# cp /mnt/temp/isolinux/vmlinuz /boot/vmlinuz-fc5
# cp /mnt/temp/isolinux/initrd.img /boot/initrd-fc5.img

You can then unmount the boot.iso as it's no longer needed:

# umount /mnt/temp
# rmdir /mnt/temp

Configuring Grub

You now need to configure your existing bootloader (usually grub) to boot the installer kernel and initrd. The exact configuration you'll need will depend on your hardware and how you've partitioned your disks, so I can only show an example. Supposing your existing /etc/grub.conf file looks like this:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda5
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora Core (2.6.15-1.1833_FC4)
        root (hd0,0)
        kernel /vmlinuz-2.6.15-1.1833_FC4 ro root=LABEL=/
        initrd /initrd-2.6.15-1.1833_FC4.img
title Fedora Core (2.6.15-1.1831_FC4)
        root (hd0,0)
        kernel /vmlinuz-2.6.15-1.1831_FC4 ro root=LABEL=/
        initrd /initrd-2.6.15-1.1831_FC4.img

{i} If you didn't have a separate /boot partition, the kernel and initrd entries would refer to pathnames that had an initial /boot prefix.

You should copy one of the existing entries, but change the kernel and initrd entries to point to the vmlinuz-fc5 and initrd-fc5.img files copied earlier, and remove any additional parameters from the kernel line. So in the example above, the edited grub.conf file would look like this:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda5
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora Core (2.6.15-1.1833_FC4)
        root (hd0,0)
        kernel /vmlinuz-2.6.15-1.1833_FC4 ro root=LABEL=/
        initrd /initrd-2.6.15-1.1833_FC4.img
title Fedora Core (2.6.15-1.1831_FC4)
        root (hd0,0)
        kernel /vmlinuz-2.6.15-1.1831_FC4 ro root=LABEL=/
        initrd /initrd-2.6.15-1.1831_FC4.img
title Fedora Core 5 Installer
        root (hd0,0)
        kernel /vmlinuz-fc5
        initrd /initrd-fc5.img

Booting the Installer

At this point you should be able to reboot and have Fedora Core 5 Installer as one of your options on grub's boot menu.

If you're doing a hard disk install, you'll need to copy the ISO image(s) (CD or DVD) to a spare partition on your hard disk first. This will need to be a partition that Fedora can read from (e.g. ext2/3 or FAT32), but not RAID or LVM. More details on this can be found in the Fedora Core 5 Installation Guide. You'll obviously need to use a partition that's not going to be deleted or reformatted as part of the install/upgrade process, and things tend to work more smoothly if you can use a partition that's not referenced at all in the existing installation's /etc/fstab file.

There are no such restrictions with a network install of course.


CategoryTip

Recent