Tem havido muita controvérsia em torno da UEFI, mas, gostando ou não, está se tornando a única opção quando se trata de placas-mãe para desktop geralmente disponíveis. Eu evito o UEFI mobos há algum tempo, mas agora ficou bastante difícil porque os fornecedores de mobo entregam produtos UEFI com mais recursos do que os BIOS (ou seja, suporte para mais RAM). Com isso em mente, quero ter certeza de que há pelo menos uma opção de código aberto no futuro e, se não houver, posso suportar menos recursos, mas mais liberdade.
TianoCore é a implementação de código aberto da Intel de interfaces UEFI e a Wikipedia tem a dizer sobre isso :
O TianoCore não possui os drivers especializados que inicializam as funções do chipset, que são fornecidas pelo Coreboot, das quais o TianoCore é uma das muitas opções de carga útil. O desenvolvimento do Coreboot requer cooperação dos fabricantes de chipset para fornecer as especificações necessárias para desenvolver drivers de inicialização.
Minha pergunta é: esses drivers fornecidos pelo coreboot ainda exigem algum tipo de blobs binários dos fornecedores de chipset? Além disso, Ronald G. Minnich tem a dizer sobre a EFI:
Os acessos aos endereços de E / S IDE, ou a determinados endereços de memória, podem ser presos ao código EFI e potencialmente examinados, modificados ou abortados. Muitos vêem isso como um esforço para criar um "DRM BIOS".
Na configuração do TianoCore + coreboot, existem peças que poderiam fazer esse firmware de código aberto ou binário fornecido pelo fornecedor do hardware?
fonte
É possível combinar o coreboot (inicializando o hardware antecipadamente) e o TianoCore (fornecendo a API UEFI) para uma implementação completa do firmware UEFI. No entanto, isso ainda está em desenvolvimento. Também não será um UEFI "canônico", já que a camada externa será a inicialização principal.
Uma abordagem, baseada no Duet, pode ser encontrada em http://notabs.org/coreboot/duet-payload/ - inicializa um pouco em hardware real.
Outra tentativa (divulgação: meu projeto) que tenta reutilizar mais Tiano e ficar mais próxima da arquitetura UEFI está no github: https://github.com/pgeorgi/edk2/ . Este ainda não viu muitos testes em hardware real, apenas o Qemu.
Em princípio, também poderia funcionar para tirar o código do coreboot e criar pacotes tianocore deles, para que pareça e UEFI em todos os aspectos (não apenas aqueles visíveis para o usuário e o sistema operacional). Obviamente, os desenvolvedores do coreboot não estão muito interessados nisso.
fonte
A inicialização do chipset e esse outro código específico de hardware de nível extremamente baixo sempre foram principalmente de código fechado. O BIOS / UEFI não altera o fato de que os detalhes da inicialização do controlador de memória etc. raramente são divulgados pelos fornecedores da placa.
Para ter uma verdadeira placa de código aberto, você precisará procurar por hardware de código aberto, algum fornecedor que exponha todas as especificações de cada componente de hardware na placa-mãe. Isso é difícil de encontrar, para dizer o mínimo.
fonte