Quais são as coisas a considerar ao escolher um ambiente de inicialização, u-boot vs uefi?

1

Sou muito novo neste mundo.

Eu tenho um SoC da ARM e gostaria de escolher um ambiente de inicialização.

Quais são as coisas a considerar?

As duas opções fornecidas pelo fornecedor são u-boot e UEFI.

É mais fácil modificar do que o outro?

    
por user_ABCD 05.08.2016 / 15:09

1 resposta

3

Primeiro menor nit é que UEFI é apenas especificação, o que você está usando na plataforma é EDK2 ou outra implementação de especificação UEFI. Então, seu fornecedor fornecerá provavelmente alguma modificação do EDK2.

Acho que você considera muitos fatores:

  • Disponibilidade de implementação - conforme mencionado por Tom em outra resposta. Este é um argumento chave, uma vez que o mais provável é que portar UEFI para uma nova plataforma seja um esforço significativo de programação.
  • Sistema operacional de destino - para o Windows moderno, você não tem escolha e precisa usar o EDK2
  • Tipo de segurança - observe que a nova plataforma ARMv8 fornece certo suporte de segurança (OP TEE, ATF) que você projeta pode precisar utilizar.
  • Conjunto de recursos - para maximizar o ROI, você terá que escolher a implementação que tenha a maioria dos recursos implementados.
  • Contribuição - O U-Boot é claro sobre termos de contribuição e todo o código que está fundido está sob a GPLv2, no caso de qualquer projeto Tianocore (do qual o EDK2 faz parte) você precisa se familiarizar e assinar Contrato de Contribuição do TianoCore 1.0 . O EDK2 é licenciado por BSD.

Eu trabalhei com as duas implementações EDK2 e U-Boot e, se eu tiver escolha, irei com o U-Boot. Por quê?

  • Amistosa, ampla e diversificada comunidade - o EDK2 depende principalmente de provedores comerciais da Intel, Apple e alguns. O U-Boot tem pessoas para várias indústrias com várias experiências, por isso é altamente provável que alguém tenha problemas semelhantes.
  • Complexidade - a curva de aprendizado para UEFI / EDK2 é alta, pois usam vários conceitos que não são típicos do desenvolvimento embarcado (ou seja, HOBs, todos os tipos de arquivo), para o U-Boot qualquer pessoa familiarizada com o kernel do Linux .
  • Certificação - O AFAIK U-Boot não possui nenhum processo formal. Para a implementação de UEFI, você tem um conjunto de testes para dizer que você é uma reclamação de UEFI.

Provavelmente, há muito mais para isso, mas acho que isso é suficiente para fazer uma pesquisa e perceber qual deve ser a sua escolha.

    
por 08.08.2016 / 11:50

Tags