19 de abril de 2013

Bootloaders — por que precisamos deles?

Bootloader… o nome pode até soar estranho mas ele é de extrema importância para o seu hackintosh, afinal, como o próprio nome já diz, ele é responsável pela inicialização (boot) do sistema operacional.

Mas porque precisamos dele?

Bem, a Apple introduziu no OS X o uso de partições de disco em GPT (GUID Partition Table), uma tabela que reconhece HD's com setores de endereçamento maiores, de 4K, o que era limitado pelo padrão MBR que permitia um endereçamento de 512b, impedindo assim o uso de HDs maiores do que 2,20 TB. Com isso, exigiu-se também uma substituição da BIOS (que tem MBR como padrão) para um novo firmware, o EFI.

Acontece que o padrão EFI demorou um pouco para ser introduzido nos PC's e por conta disso precisamos de algum software que identifique a partição GPT e nos permita inicializar (dar boot) o OS X. E neste momento eis que surge o bootloader!

As principais opções que dispomos são: Chameleon, Chimera e Clover.

Chameleon foi, talvez, o primogênito; o que teve maior aceitação no início do projeto hackintosh. Tendo sido aprimorado ao longo dos tempos, hoje ele nos permite personalizar a inicialização do OS X facilmente bem como nos ajuda a contornar alguns problemas de incompatibilidade que venhamos a enfrentar.

A instalação é muito simples, bastando apenas se certificar de que a opção Chameleon Bootloader / Standard esteja marcada. As outras opções você pode marcar, se desejar, de acordo com suas necessidades. A partição padrão de instalação é a raiz do sistema.
Para configurações intuitivas de boot temos o Chameleon Wizard, que nos oferece uma interface com opções diversas para serem marcadas, e/ou desmarcadas, de acordo com a nossa necessidade.

Essas informações serão adicionadas a um arquivo presente na pasta Extra, o org.chameleon.Boot, que será lido pelo bootloader durante a inicialização.

Observe que a pasta Extra é a 'referência' do bootloader, todas as suas configurações personalizadas (DSDT, SSDT, SMBios, Boot.plist, Extensions, Themes) deverão ficar nela.



Caso queira usar algum desses arquivos em outro local, terá de direcionar no Boot.plist ou na tela de boot, ex: DSDT=<file>, isto é: DSDT=/DSDT.aml ou /Extra/DSDT.aml ou bt(0,0)/Extra/DSDT.aml enfim… um trabalho desnecessário.

As configurações de boot não ficam limitadas apenas ao Chameleon Wizard, tempos p.ex. o Champlist, Lizard e ainda podemos fazê-las manualmente (e cuidadosamente) usando outro aplicativo, o PlistEditPro.
Basta apenas adicionar uma nova entrada e digitar o que precisamos, geralmente, na Chave (key) e no Valor (Value), abaixo você terá o DUMP dessas configurações.

É importante saber que, se você fez alguma alteração no Boot.plist que atrapalhou ao invés de ajudar, pode-se ignorá-lo na inicialização. Para isso digite: -F (o F é maiúsculo) na tela de boot e o org.chameleon.Boot não será lido permitindo-te corrigir o erro.

Há ainda uma outra maneira de configurarmos o boot, temporariamente, apenas para um boot específico. Devemos digitar a 'flag' de configuração desejada na tela do bootloader.



Aqui temos várias dessas configurações: Linhas de Comando para o Boot

O segundo bootloader seria o Chimera, desenvolvido no Tonymacx86 (exige cadastro), também presente no Multibeast. Não há o que destacar nele de diferente do que já foi visto até aqui. É basicamente um "Chameleon by Tonymacx86". A instalação é muito mais simples do que a do Chameleon pois nem opções adicionais existem, é instado apenas o bootloader, somente isso.

Temos então o terceiro bootloader, Clover. Esse sim com diversas particularidades. As diferenças começam na instalação. Essas são as configurações que geralmente servem pra fazer um sistema de 64bits funcionar:



O Clover pode ser instalado em um pendrive (formatado em FAT32), assim você pode ajustar as configurações nele sem prejudicar o seu sistema. A estrutura de funcionamento é muito diferente dos outros bootloaders, eu diria que é até complexa demais para quem está iniciando no hackintosh.

A principal vantagem do Clover é que ele permite o boot por EFI (padrão do OS X), mas enquanto que no Chameleon os arquivos ficam soltos na pasta Extra, no Clover eles ficam organizados de maneira muito diferente e é deveras importante entender essa estrutura. Dê uma olhadinha:



As pastas/arquivos marcadas com amarelo são as principais e precisamos entender como funcionam.

Dentro de ACPI temos mais 3 pastas das quais podemos destacar patched, nela devemos colar a DSDT e a SSDT.



Em seguida temos o config.plist, semelhante ao Boot.plist configuramos nele as definições de boot:



Seguindo, temos a drivers64UEFI onde devemos ter pelo menos os 3 arquivos da imagem abaixo:



Caso sua mobo não tenha suporte ao UEFI use a pasta drivers32 (sistemas 32bits)ou drivers64 (sistemas 32bits).

Em seguida temos a pasta kexts que, como o nome diz, devemos por lá as extensions que precisamos para nosso sistema, como fakeSMC. Note que algumas kexts só funcionam quando instaladas em S/L/E (System/Library/Extensions).

Uma vez que você terminou de configurá-lo e o sistema já inicia pelo pendrive precisamos passar essas configurações para o HD, então não precisaremos mais do pendrive.

O primeiro passo é formatar uma partição oculta que existe no OS X, a EFI, para FAT32. No terminal digite:
diskutil list
sudo newfs_msdos -v EFI -F 32 /dev/diskXs1
Agora, temos que montar essa partição para torná-la visível. Digite:
mkdir /Volumes/EFI
sudo mount_msdos /dev/diskXs1 /Volumes/EFI 
Feito isso, copiamos do pendrive a pasta EFI e colamos na partição que montamos, também EFI. Neste momento poderemos iniciar o OS X dando o boot pelo HD.

Considerações finais:

Eu recomendo fortemente o Chameleon (eu ainda uso ele) dado as vantagens frente ao Chimera/Clover. O primeiro boot pelo HD é sempre muito complicado, quase nunca dá certo e você precisará descobrir no que ainda está errando.

"Geralmente" os problemas de boot envolvem kexts e se resumem a duas: FakeSMC.kext e NullCPUPowerManagement.kext. Claro que dependendo do seu hardware podem ser outras, mas só se você instalar depois.

Dúvidas?
Acesse: Fórum MAC in PC

Nenhum comentário:

Postar um comentário