Triple Booting Fedora, Ubuntu and PC-BSD

My Triple-boot system

Triple Booting Fedora, Ubuntu and PC-BSD
Triple Booting Fedora, Ubuntu and PC-BSD

I’ve been wanting to try a non-Linux OS for quite sometime, and managed to download PC-BSD today. My PC ¬†already runs Fedora 13 and Ubuntu 10.04. I use Fedora’s GRUB to manage my boot process. After installing PC-BSD, I stuck with the same bootloader to manage the boot process.

I primarily use Fedora 13. The rest of the folks at home use Ubuntu or Fedora. I’ve messed around a lot with GRUB 2, but I do not like fiddling with a new version of the bootloader. So I remain loyal to the ‘legacy’ version of GRUB and will be using it until Fedora migrates to the new version.

You can also set up a triple boot (or any n-boot) system by using the older version GRUB. The process takes just a few steps.

Here’s how I did it:

1. I installed Fedora 13 first, and with it the GRUB to the MBR.

2. Later, I installed Ubuntu 10.04, but chose not to install the bootloader in the last step in the installer. You can do this by clicking on the Advanced button.

3. To add Ubuntu to Fedora’s GRUB, I just had to add the title, root and kernel entries for Lucid:


title Ubuntu 10.04

      root (hd0,2)
      kernel /vmlinuz ro quiet splash
      initrd /initrd.img

4. I installed PC-BSD, once again without the bootloader.

5. To add PC-BSD to the boot menu, I added just 3 lines:


title PC-BSD 8.0
      root (hd0,3)
      chainloader +1

An advantage of using GRUB 2 in one of the distros is that I never need to update the GRUB menu on Fedora. GRUB 2 automatically places a shortcut to the latest kernel in the / directory of the Ubuntu partition, so one doesn’t have to keep updating Fedora’s GRUB menu whenever Ubuntu’s kernel is updated.

Note: The logos in the image are copyright of their respective owners.

Fedora Post-Installation

After I installed Fedora 12 for a friend, he asked me what software he’d need for using it as a primarily home desktop user. I have some experience with home users who just need things to work, without the hassle of installing software whenever they want to open a file. Add to that the lack of broadband penetration, or even basic internet connectivity in India, it makes for an awful situation.

I already had many packages cached in my /var/cache/yum directory. We both had the same 32 bit install, so I figured it’d work. I first deleted his /var/cache/yum directory as root, then copied my directory which was around 15 GB to his hard disk. Then I wrote him a small script, which proved pretty useful to install all that he would ever want.

Here goes a slightly modified version of the script that works for Fedora 13:


#!/bin/bash

# media_update.sh
# Post Install Update script
# To install many required packages that are missing from the default Fedora 12 installation
# Login as root to install the packages
# The -y flag is used to accept downloading and installing all dependencies

su -

# Update all currently installed software

yum update

# This group contains the GNU Compiler Collection and other utilities:

yum groupinstall 'Build Essentials' -y

yum groupinstall 'Office/Productivity' -y

# Add the RPMFusion repositories to your system

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

# RPMFusion contains the VLC packages:

yum install vlc* -y

# .. and also the unrar package to extract data from rar archives:

yum install unrar -y

# To install Adobe's flash plugin:

rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

yum install flash-plugin alsa-plugins-pulseaudio libcurl ndiswrapper -y

yum groupinstall 'Sound and Video'

# LXDE is a lightweight desktop environment, recommended for older and low end computers.

yum install @lxde-desktop

# Need to be installed from RPMFusion in order to play media files encoded using proprietary codecs.

yum install gstreamer* -y

# To install Google Chrome
echo "[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub " > /etc/yum.repos.d/google.repo

yum install google-chrome -y