Os payloads geralmente são independentes de hardware (mas pode haver bugs ocultos). As cargas normalmente não são o problema quando se trata de liberdade de software.
Você os escolhe de acordo com suas necessidades: Se você quer inicializar um sistema operacional "normal" para PC, o SeaBIOS é o caminho mais fácil, já que implementa as interfaces que todos esperam. Se você tem alguma necessidade especial, as outras cargas podem estar mais perto do que você precisa, ou você pode construir o seu próprio.
Existem dois problemas de "liberdade" no próprio coreboot:
-
A Intel não coopera com o espaço livre do firmware. O Google trabalhou em torno disso criando um binário independente a partir do código da Intel e então fazendo o coreboot funcionar com isso. A Intel agora seguiu o exemplo e fornece um binário desses (consulte o link ). A citação acima é enganosa: O problema não é microcódigo, são binários x86 para a inicialização e firmware de RAM para o Management Engine, um processador complementar sem o qual o sistema não é realmente funcional exceto empregando um hack de hardware (que reduz os recursos de gerenciamento de energia ).
-
O hardware requer todos os tipos de código ou dados adicionais para inicialização. Isso pode ser atualizações de microcódigo para a CPU; firmware para microcontroladores adicionais, alguns dos quais estão integrados nos chipsets atualmente; tabelas para informações específicas da placa, como dados de calibração.
Você pode ignorar alguns desses binários e o sistema continuará a inicialização (por exemplo, algumas atualizações de microcódigo da CPU); para outros, o absence levará a uma funcionalidade reduzida, como o XHCI (e, portanto, o USB3) nos chipsets AMD sem o firmware XHCI; e alguns binários levarão a um sistema não inicializável se deixado de fora, como o Mecanismo de Gerenciamento em chipsets Intel ou atualizações de microcódigo de CPU em algumas CPUs que vêm com esse microcódigo defeituoso que nem sequer passam pelo processo de inicialização.
O coreboot tem um repositório "blobs" para manter essas coisas separadas, mas o microcódigo e alguns outros binários menores residem no repositório principal por razões históricas. Há planos para mudar isso, que estão sendo discutidos no link .
No entanto, o resultado provável é que você será forçado a usar o repositório de blobs para obter construções utilizáveis, já que alguns desses binários realmente são obrigatórios no hardware atual.
Eu achei a AMD mais cooperativa, e seus binários menos intrusivos no sistema do que a Intel (e com exceção de atualizações de microcódigo, eles não são normalmente assinados, portanto, com tempo suficiente, eles poderiam ter engenharia reversa - mas não espere por isto). Mas eles ainda estão a quilômetros de distância dos ideais promovidos pela Trisquel, etc.