sexta-feira, 24 de maio de 2013

Zero Linux e UEFI

Firmwares UEFI estão aos poucos popularizando-se agora que as máquinas vêm com o Windows 8 pré-instalado. Algumas implementações ainda permitem manter boot nativo UEFI e Legacy ao mesmo tempo, como o desktop HP sobre o qual comentei. Outras, por outro lado, suportam um modo apenas de cada vez, ou UEFI, ou Legacy, como meu notebook Acer.

O CD do Zero Linux suporta apenas BIOS e exige, portanto, o modo Legacy com UEFI. Estava na hora de adaptá-lo. Para isso, a primeira coisa foi compilar o kernel para 64-bit. O espaço de usuário ainda poderia continuar 32-bit habilitando a emulação IA-32 do kernel, mas aproveitei e compilei tudo para 64-bit de uma vez. Três configurações importantes:

CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_FB_EFI=y

Para o efibootmgr, que foi adicionado, a seguinte:

CONFIG_EFI_VARS=y

O ISO ainda é BIOS-only com o mesmo GRUB4DOS de sempre. Contudo, há um arquivo de texto na raiz do CD cujo conteúdo está aqui:

UEFI_LEIA.txt

Para dar boot no modo UEFI, baixe o rEFInd

http://www.rodsbooks.com/refind/getting.html

(link "A binary zip file")

descompacte do zip o arquivo "refind-bin-<versão>/refind/refind_x64.efi" e renomeie-o para "bootx64.efi".

Crie um arquivo de texto chamado "refind.conf" contendo:

timeout 12
textonly
default_selection "Zero Linux"

menuentry "Zero Linux" {
    loader bzImage
    initrd initramfs.cpio.xz
    options "consoleblank=0"
}

Num pendrive formatado em FAT32, coloque os dois arquivos acima dentro de "EFI/BOOT" (crie as pastas caso necessário).

Por fim, coloque o kernel e initramfs (bzImage e initramfs.cpio.xz) na raiz do pendrive.

Atenção: Secure Boot não é suportado e precisará ser desabilitado no setup.

Feito. Aí está o pendrive de boot para UEFI! O rEFInd depende de CONFIG_EFI_STUB para carregar o kernel.

rEFInd para o resgate

Uma provável tarefa além de limpar HDs é apagar as variáveis do frmware. Para isso, basta usar o efibootmgr. Ver man page aqui.

Download: http://sabugo.net76.net/zero.htm

Nenhum comentário:

Postar um comentário