I've been using rEFInd for almost a year now and I am seeing some odd behavior with Ubuntu kernels from time to time. (I love rEFInd btw :) )
I have a MacBook Air 2012 with 128GB SSD. My partitions are
200MB EFI partition
90GB Mac OS X 10.9.4
10GB Arch Linux
Now with the 14.04.1 LTS Ubuntu release I cannot boot using the EFI Stub Loader. The vmlinuz en initrd are both copied into the 200MB EFI partition and accompanied by a refind_linux.conf file where I refer to the UUID where to find the root of my Ubuntu installation. I have tested with both the regular binary (tianocore) and the GNU EFI binary, both are stuck on booting OS screen. But with the tianocore binary I am able to boot if I plug in the USB stick containing the live image of Ubuntu. Without this USB plugged in, it gets stuck on booting OS.
I know that the previous stable Ubuntu kernel (3.13.0-28) had no such issue but the release kernel of 14.04 (3.13.0-24) had the same issue. The kernel that was working, also worked with the GNU EFI binary.
The Arch Linux kernels are more hit and miss, most of the times they work, but sometimes there is an issue in which refind is stuck on booting OS. (same as with Ubuntu)
Using Grub, Ubuntu always boots fine.
Is there a way to fix this behavior?
EDIT: I have found that any random FAT32 formatted USB can be used to boot Ubuntu using rEFInd EFI Stub Loader.
I use rEFInd 0.8.3 (tianocore) installed on Mac OS X partition but I have seen this issue with previous versions of rEFInd. I don't use extra EFI drivers.
Roderick W. Smith
Arch Linux users have discovered this problem on some computers -- mostly Lenovos, but occasionally other makes, including some Apples. See the rather lengthy discussion here:
Unfortunately, there is as yet no sure-fire solution. It's a bug in the EFI stub loader, not in rEFInd. (The same problem occurs with gummiboot and even direct boots of the kernel via the firmware's built-in boot manager.)
That said, it's conceivable that the cause in your case is something else, but the symptoms are the same as they are for the (mostly) Lenovo issue.
I have found another way around the issue. Instead of booting automatically into rEFInd, hold ALT (or Option) on boot and then select EFI boot (which is rEFInd anyway). By doing that I had no problem booting Ubuntu EFI STUB kernel using rEFInd.
Since the last kernel update 3.13.0-35-generic on Ubuntu this issue is solved. So I can boot normally and boot Ubuntu with rEFInd. So yes, the problem was with the kernel.