Inicialização EFI para Linux em um MacBook Pro

6

8,3 MacBook Pro 2011, com o Ubuntu 11.10 amd64.

Aqui está a situação. A luz de fundo da tela e algumas outras coisas só funcionam se você inicializar no EFI, então eu preciso inicializar o Ubuntu no EFI para fazer as coisas funcionarem.

Se eu mantiver a tecla Alt pressionada durante a inicialização e iniciar o Linux desse modo , inicializo o EFI com a configuração existente do GRUB2 com o brilho da tela funcionando.

Eu gostaria de tornar isso um pouco mais "automático". Atualmente estou usando o rEFIt para permitir que eu inicialize em vários sistemas operacionais que tenho na máquina. Infelizmente, o rEFIt não inicializa o Linux no modo EFI, ele usa um modo legado, creio eu, que parece ser equivalente ao BIOS.

Assim, instalei um módulo GRUB2 EFI para o rEFIt e agora posso ver isso no meu menu de inicialização. O problema é que estou com problemas de inicialização. Com o seguinte comando do GRUB, eu posso ver a inicialização do kernel, mas ela trava em

*ERROR* failed to get supported _DSM functions

e nunca realmente conclui. Aqui está o meu arquivo de configuração do GRUB:

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
}

Eu basicamente tenho duas perguntas.

  1. Existe uma maneira de ativar a inicialização EFI para o Linux no rEFIt? Se isso fosse possível, eu poderia evitar ter que mexer no GRUB completamente.

  2. O que estou fazendo de errado com o GRUB? Se eu não consigo fazer o rEFIt funcionar legalmente, como eu deveria inicializar meu kernel no arquivo de configuração do EFI GRUB? Eu tentei usar o do meu sistema em /boot/grub/grub.cfg , mas isso também não funcionou.

Por que eu posso usar o "alt" loader da Apple para inicializar o Linux com o suporte da EFI, enquanto não posso usar o rEFIt para inicializar no Linux com suporte a EFI?

    
por Naftuli Kay 02.02.2012 / 19:25

1 resposta

2

Tente adicionar noefi ao final da linha GRUB_CMDLINE_LINUX_DEFAULT em /etc/default/grub e, em seguida, execute grub-mkconfig -o /boot/grub/grub.cfg (supondo que você esteja no arquivo de configuração do grub).

Eu costumava receber exatamente o mesmo erro. Isso consertou isso. Embora eu ainda não consiga fazer o teclado funcionar ...

    
por 04.04.2012 / 17:12