Resurrecting old thread.
I have made this work by changing the /boot filesystem's partition type to 0700 using gdisk (under either Linux or OS X), and making sure the Linux boot loader is installed to the /boot partition. Here's what such a partition table looks like for a dual boot system here:
[root@localhost ~]# gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 8-sector boundaries
Total free space is 525717 sectors (256.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 386210423 184.0 GiB AF00 OSX
3 386473984 402104319 7.5 GiB 8200 LinuxSwap
4 402104320 484024319 39.1 GiB 0700 LinuxRoot
5 484024320 861511679 180.0 GiB 0700 LinuxHome
6 861511680 976510983 54.8 GiB AF00 Interchange
[root@localhost ~]#
In my case, I'm not using a /boot partition, the /boot is in the root filesystem on /dev/sda4 (using the Linux terminology). GRUB is installed on /dev/sda4 (not in the MBR of /dev/sda, of course!).