I have a MacBook Pro 2015 and I am dual booting with Linux. I use rEFInd and since day 1 it has been working fine on most occasions. Sometimes it would take a long time to show its screen and then it would freeze, updating every 5-10 seconds (so if I press down on my keyboard twice, it would jump two entries down in a few seconds). In those cases I would clear the PRAM/NVRAM, re-bless rEFInd and it will be ok. Recently however it happened again and this time resetting PRAM/NVRAM does not help. Furthermore, under Linux no input devices work (neither internal, nor USB keyboard). lshw
lists them as working and with a loaded kernel module for them... Internal keyboard works under OS X.
EDIT: The reason I think it may be a hardware problem Related to the issue is that loading the bootloader (whether it is rEFInd after I bless it, or the native Apple bootloader as soon as I clear PRAM) takes about 20 seconds after the start up chime, which is not normal. I noticed that after I reset PRAM, I hear the start up chime, only 3 seconds later I see the Apple logo (boot is fast) and on the very next reboot, it hangs somewhere, which now leads me to believe that maybe some of my OS X settings which also modify the PRAM are corrupted and corrupt the PRAM. Is there a way to prevent OS X from modifying the PRAM in ANY way?
I'd hate to take it to a service, since they'll tell me "20 seconds is not long and we don't deal with 3rd party loaders", but I know it never used to take more than 3 seconds to show the Apple logo, so something must have changed. Ideas?
P.S. I use Gentoo, whose kernel is perfectly capable of being booted directly from the UEFI firmware and there are instructions on how to do this using efibootmgr
but they are not specifically for Macs and I've read in some places that efibootmgr may/will brick the firmware on Macs so I am reluctant to try...