Fedora 17 on Macbook Air

At work we use CentOS and RedHat, therefore we work with and produce RPMs.  I wanted my MacBook Air to be able to build RPMs and also act as a build server for when I need to build servers at a new location.

I had previously installed Ubuntu and Cornice without too many issues.  This post gave me hope that the install would go well.

I firstly created a USB stick to perform the install. Unfortunately, it didn’t work for me I must have missed a step. I burnt a live CD and I was away.

Installation went OK. I created a /boot, a swap, a / and a special BIOS partitiion.  The latter I don’t think I need now. I rebooted and refit/refind nor the native Mac boot manager could boot Fedora.

This is the procedure I ended up using to get it to boot, I think these steps can be performed after the installation and before the reboot:-

  1. After install, boot from live CD.  And fire up a terminal (Activities->System Tools->Terminal)
  2. Setup the network connection – wireless worked for me.
  3. In the terminal, su – #to become root
  4. mount /dev/sda7 /mnt # mount the root partition on /mnt, in my case partition 7
  5. mount /dev/sda5 /mnt/boot
  6. mount -t proc proc /mnt/proc
  7. mount -t sysfs sysfs /mnt/sys
  8. chroot /mnt  # to go into the installed environment
  9. yum install grub2-efi
  10. mkdir /tmp/macefi
  11. mount /dev/sda1 /tmp/macefi
  12. cd /usr/lib/grub/x86_64-efi
  13. #Now we need to create a boot image for EFI
  14. grub2-mkimage -O x86_64-efi -d . -o grub.efi -p “” part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot jpeg png search tga help font echo loadenv
  15. mkdir -p /tmp/macefi/efi/grub
  16. rsync -av grub.efi *.mod *.lst /tmp/macefi/efi/grub/.
  17. # Now we need to setup a grub2 grub.cfg for Fedora
  18. vi /tmp/macefi/efi/grub/grub.cfg
    timeout=5
    menuentry "Fedora 17" {
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt5'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 --hint='hd0,gpt5'  6e491a7e-bdae-47d3-96a7-2e4248bf85ce
    else
    search --no-floppy --fs-uuid --set=root 6e491a7e-bdae-47d3-96a7-2e4248bf85ce
    fi
    echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'
    linux   /vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=0ee1899c-2274-4b85-8478-0b69e0a481c2 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
    echo    'Loading initial ramdisk ...'
    initrd  /initramfs-3.3.4-5.fc17.x86_64.img 
    }
    

    # you will need to use your /boot partition above instead of gpt5

  19. umount /tmp/macefi
  20. reboot

Upon reboot refit/refin picked up the new boot entry and away Fedora 17 went.

Now to fix up the trackpad, and other settings.

This entry was posted in CentOS, Linux, RHEL, System Administration. Bookmark the permalink.

2 Responses to Fedora 17 on Macbook Air

  1. I would like to know if you fixed the touchpad! I want to use Linux in my macbook but I can’t live without a good touchpad!

    • admin says:

      the touchpad does work, admittedly not as well as in Mac OS X. Two finger scrolling works, but right click does not, or not yet