Saturday, October 28, 2006

Dual-Boot Ubuntu Edgy Eft (6.10) on a MacBook

The following explains how to dual-boot Mac OS X and Ubuntu Edge Eft (6.10) on the new Intel Macbooks. This will only deal with the installation, post-installation setup will be dealt with in a later post.

This is an amalgamation of instructions for Ubuntu Dapper Dan (6.06) from various sources. Most notably, Felipe Alfaro Solana's blog entry about
Installing Ubuntu Linux on a MacBook Pro.

Software Update.

  1. Update Mac OS X.
    Apple Menu -> Software Update...
  2. Update Firmware if needed. See the following webpage.
    http://docs.info.apple.com/article.html?artnum=303880

Install the rEFIt Boot Menu.
  1. Download from http://refit.sourceforge.net.
  2. Mount the image.
  3. Drag the efi folder to Macintosh HD icon on desktop.
  4. Open a terminal.
    cd /efi/refit
    ./enable-always.sh
  5. Unmount the image.

Resize Hard Drive.

I have a 80G hard drive. I will create a 50G partition for OS X and the rest for Linux. I will further partition the latter partition into three partitions during the Ubuntu installation: one of 15G (/home); one of 2G (swap); and the rest for the root partition /.
diskutil resizeVolume disk0s2 50G
I got the name of my disk (disk0s2) from the output of the mount command. Look for the disk mounted on /.

[You can use Bootcamp for partitioning instead, if you'd like.]


Install Ubuntu.
  1. Download the Ubuntu CD image (i386 Desktop) from www.ubuntu.com.
  2. Create a CD.
  3. Put it in your computer and reboot.
  4. During startup hold the C key.
  5. Check CD for defects. It takes a while, but is good to do.
  6. Reboot.
  7. Select Start or install Ubuntu. The Ubuntu desktop loads.
  8. Click the Install icon.
  9. Follow the on screen instructions. Some notes on partitioning:
    • Manually edit the partition table. I created: 2G swap; 15G /home; 7+G /.
    • On the next screen make sure that EFI GPT partition is not mounted.
    • Also make sure that your partitions are mounted in the correct spots (swap, /home, /).
    • Remember what your / partition is (mine is /dev/sda5).
  10. Grub will fail to install. This is expected. We'll install LILO later.
  11. Make the / partition bootable (mine is /dev/sda5).
    parted /dev/sda
    set 5
    boot
    on
    quit
  12. Install LILO.
    mount -t proc none /target/proc
    mount -o bind /dev /target/dev
    chroot /target
    apt-get install lilo lilo-doc linux-686-smp
  13. Create /etc/lilo.conf, adjusting /dev/sda5 to reflect your / partition.
    boot=/dev/sda5
    default=Ubuntu
    map=/boot/map
    delay=20
    image=/vmlinuz initrd=/initrd.img
    root=/dev/sda5
    append=noapic
    label=Ubuntu
    read-only
  14. Install LILO.
    lilo -b /dev/sda
  15. Exit the chrooted environment.
    exit
  16. Check that LILO is installed. Look for LILO at the beginning of the output of the following command.
    hexdump -C /dev/sda | less
  17. Reboot.
    umount /target/proc
    umount /target/dev
    umount /target
    reboot
  18. Select "Start Partitioning Tool" at the rEFIt menu. It might ask you to sync the MBR GPT maps. Select yes.
  19. Reboot.
  20. Select the Penguin at the rEFIt menu.