This is a problem so many people seem to struggle with but so little real solutions are found online.
The system is a MacBook Pro "Core 2 Duo" 2.16 (Late 2006) 15"
On these machines it is not too difficult to install Linux with the hybrid BIOS mode which originally was used by the firmware to dual boot Windows alongside OSX (the latest OSX this Macbook Pro runs is 10.7.5 released October 4, 2012).
But I decided to go nuts and try out EFI boot...
This requires a 32bit EFI boot loader to load a 64bit Linux kernel. This is actually pretty easy to achieve once one understands how the apple firmware searches for BOOTIA32.EFI and how to install your favorite boot loader to get along with this which, with grub for instance, is pretty straight forward (install grub to ESP with options --removable and target=i386-efi).
After hours and hours of reading all this I quickly succeeded in setting up partitions well and place the linux images and boot loader efi image into place so basic functionality was given.
But there exists a very ugly issue which it seems had never had a fix in any way since it's apple specific: The 32bit EFI won't expose the video bios to the boot loader. This results in usual linux configurations (using grub or something similar) not being able to boot without nomodeset, which in turn results in a text only environment because KMS can not find any video modes.
grub> videoinfo
List of supported video modes:
Legend: mask/position=red/green/blue/reserved
Also Roderick mentions here that the Linux kernel images won't boot even with EFISTUB (which is supposed to be the only working solution to pass video modes) when they reside on a vfat partition. Also in the rEFInd manuals he mentions that it can boot fine from an unjournaled HFS+ partition.
Question
What steps do I have to care about to get this machine booting Linux in EFISTUB mode with rEFInd? (Because I will definitely need rEFInd to run the EFISTUB command from there, am I right? Or is there any way to set this up without rEFInd, for example with chroot from another system?)
This is what I think I can do to achieve this:
Format my ESP as unjournaled HFS+ instead of VFAT
Manually put 32bit rEFInd image and its directories into ESP/efi/boot and rename it to BOOTIA32.EFI (As described in the manuals)
Do not install any boot loader
Write a boot stanza in refind.conf for the EFISTUB boot (Although I don't understand if this would be the same as booting from shell as mentioned in the manual)
Optionally use efibootmgr afterwards to write this directly into EFI as mentioned in the same article. (That would make rEFInd superfluous even, would it? Although I suppose it should just be there)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Video Bios Issue
This is a problem so many people seem to struggle with but so little real solutions are found online.
The system is a MacBook Pro "Core 2 Duo" 2.16 (Late 2006) 15"
On these machines it is not too difficult to install Linux with the hybrid BIOS mode which originally was used by the firmware to dual boot Windows alongside OSX (the latest OSX this Macbook Pro runs is 10.7.5 released October 4, 2012).
But I decided to go nuts and try out EFI boot...
This requires a 32bit EFI boot loader to load a 64bit Linux kernel. This is actually pretty easy to achieve once one understands how the apple firmware searches for BOOTIA32.EFI and how to install your favorite boot loader to get along with this which, with grub for instance, is pretty straight forward (install grub to ESP with options --removable and target=i386-efi).
After hours and hours of reading all this I quickly succeeded in setting up partitions well and place the linux images and boot loader efi image into place so basic functionality was given.
But there exists a very ugly issue which it seems had never had a fix in any way since it's apple specific: The 32bit EFI won't expose the video bios to the boot loader. This results in usual linux configurations (using grub or something similar) not being able to boot without nomodeset, which in turn results in a text only environment because KMS can not find any video modes.
Also Roderick mentions here that the Linux kernel images won't boot even with EFISTUB (which is supposed to be the only working solution to pass video modes) when they reside on a vfat partition. Also in the rEFInd manuals he mentions that it can boot fine from an unjournaled HFS+ partition.
Question
What steps do I have to care about to get this machine booting Linux in EFISTUB mode with rEFInd?
(Because I will definitely need rEFInd to run the EFISTUB command from there, am I right? Or is there any way to set this up without rEFInd, for example with chroot from another system?)
This is what I think I can do to achieve this:
(As described in the manuals)
(Although I don't understand if this would be the same as booting from shell as mentioned in the manual)
(That would make rEFInd superfluous even, would it? Although I suppose it should just be there)