Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

8,3 MacBook Pro 2011, running Ubuntu 11.10 amd64.

Here's the situation. Screen backlight and a few other things only work if booting in EFI, so I need to boot Ubuntu in EFI to get things working.

If I hold down Alt while booting and start Linux that way, then I boot into EFI just fine to my existing GRUB2 setup with screen brightness working.

I'd like to make this a bit more "automatic." I'm currently using rEFIt to allow me to boot into the various operating systems I've got on the machine. Unfortunately, rEFIt doesn't boot Linux in EFI mode, it uses a legacy mode, I believe, which seems to be equivalent to BIOS.

Thus, I installed a GRUB2 EFI module to rEFIt and I can now see that in my boot menu just fine. The problem is that I'm having boot problems. With the following GRUB command, I can see the kernel boot, but it hangs at

*ERROR* failed to get supported _DSM functions

and never actually completes. Here's my GRUB configuration file:

set debug=fg
insmod efi_uga
insmod font

if loadfont ${prefix}/unicode.pf2
then 
    insmod gfxterm
    set gfxmode=auto
    set fgxpayload=keep
    terminal_output gfxterm
fi

menuentry "Linux (BIOS)" {
    search --file --no-floppy --set=root /vmlinuz
    loadbios /boot/vbios.bin /boot/int10.bin
    linux /vmlinuz root=/dev/sda4 video=efifb
    initrd /initrd.img
}

I basically have two questions.

  1. Is there a way to enable EFI booting to Linux in rEFIt? If that were possible, I could avoid having to mess with GRUB altogether and that'd be great.

  2. What am I doing wrong with GRUB? If I can't get rEFIt to play nice, how should I be booting my kernel in the EFI GRUB configuration file? I tried using the one on my system at /boot/grub/grub.cfg, but that didn't work either. I've been messing around with this for a while, but since I'm totally new to messing with GRUB, I'm utterly lost.

Why can I use Apple's "alt" loader to boot into Linux with EFI support, while I can't use rEFIt to boot into Linux with EFI support?

share|improve this question
    
Your GRUB config seems to be setting up some kind of BIOS compatibility, which I don't think you want. My EFI boot of Ubuntu 12.04 (which worked from rEFIt) uses the generated grub.cfg which just loads the kernel normally (no loadbios or video=efifb entries). –  mgorven Jun 6 '12 at 23:23

1 Answer 1

up vote 1 down vote accepted

Try adding noefi to the end of the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub, then run grub-mkconfig -o /boot/grub/grub.cfg (assuming that's where you grub configuration file is).

I used to get the exact same error. This fixed it. Although I still can't get the keyboard to work...

share|improve this answer
    
yeah i can't get the keyboard to work either. –  Chris Feb 24 '13 at 1:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.