I had several problems installing ubuntu alongside Fedora Core 8. I had to rummage all over the internet to find solutions, so I’m collecting them all into one place here.
Objective: Install Ubuntu alongside Fedora so I can decide whether to upgrade Fedora or switch entirely to Ubuntu on this box.
Step 1: The usual: download ISO, verify md5sum, burn to disk, verify media.
Also: make sure you know the device names of your root Fedora partition (containing /etc/grub.conf) as this will save you a step later (mine is /dev/sda5). (Note that you’ll need to substitute in the correct device names anywhere this or other device names appear.)
Step 2: Make a partition to install Ubuntu on now (mine is /dev/sda1), before booting from the LiveCD. This is important: Ubuntu creates ext3 partitions with 256-bit inodes, and grub will not recognize them. If you already created a partition with the (otherwise very nice) Ubuntu partitioner, you can change it from Fedora using:
mkfs.ext3 -I 128 /dev/sda1
If you aren’t planning to boot using an already-installed grub, you can probably skip this step.
Step 3: Boot from the Ubuntu LiveCD. When you get to the “Prepare disk space” step, choose “manual”. Select your partition, and choose “ext3” and “/” from the appropriate drop-downs. Do NOT format it.
Step 4: Continue through the remaining screens. When you reach “Ready to install”, click on the “advanced” button and deselect the install bootloader check box. Let the installer do its job.
Step 5: After it finishes, it will deposit you in a working LiveCD session. There are a couple things to fix from here before you reboot.
A – The installer did not create initrd.img. To check, you will need to mount the root partition so you can examine it. Open a terminal, and do:
mkdir temproot sudo mount -t ext3 /dev/sda1 temproot cd temproot/boot ls
If there is NOT a initrd.img-[version] you will need to create one. Use the same version string that appears in vmlinuz-[version].
mkinitramfs -o initrd.img-2.6.27-7-generic
Check to make sure the vmlinuz and initrd.img links in / now point to the correct files in /boot.
Step 6: Add the new system to Fedora’s /etc/grub.conf so you can boot it.
mkdir tempfedora sudo mount -t ext3 /dev/sda5 tempfedora sudo gedit tempfedora/etc/grub.conf
Mine says:
title Ubuntu root (hd0,0) kernel /vmlinuz ro root=/dev/sda1 max_scsi_luns=6 initrd /initrd.img root=/dev/sda1
By using the symbolic links rather than the files in /boot, you won’t need to update grub.conf every time Ubuntu is updated.
And… that should work, or at least it does for me.
Two more minor inconveniences:
gvim (an essential!, installed in the vim-gnome package), did not work properly. The text flickered, but was mostly invisible. Changing the setting in System: Preferences: Appearance: Fonts to “Subpixel Smoothing” fixed the problem.
My static IP settings, specified in the “Network Connections” tool, disappeared each time I rebooted. Adding a second connection with the correct settings, rather than altering the default connection, fixed the problem.
Still not working: audio. But that’s a minor inconvenience on this box. It’s used mostly for data analysis in R and writing papers, neither of which actually require me to be able to listen to anything.