1 votes

Quels sont les éléments à prendre en compte lors du choix d'un environnement de démarrage, u-boot vs uefi ?

Je suis très nouveau dans ce monde.

J'ai un SoC ARM et j'aimerais choisir un environnement de démarrage.

Quels sont les éléments à prendre en compte ?

Les deux choix proposés par le fournisseur sont u-boot et UEFI.

L'un est-il plus facile à modifier que l'autre ?

3voto

Piotr Król Points 198

La première petite remarque est que l'UEFI n'est qu'une spécification, ce que vous utilisez sur la plateforme est l'EDK2 ou une autre implémentation de la spécification de l'UEFI. Votre fournisseur fournit donc probablement une modification de l'EDK2.

Je pense que vous avez pris en compte de nombreux facteurs :

  • Disponibilité de la mise en œuvre - comme mentionné par Tom dans une autre réponse. Il s'agit d'un argument clé, car le portage de l'UEFI sur une nouvelle plate-forme nécessiterait probablement un effort de programmation important.
  • Système d'exploitation cible - pour Windows moderne, vous n'avez pas le choix et vous devez utiliser l'EDK2.
  • Type de sécurité - notez que la nouvelle plateforme ARMv8 offre certains supports de sécurité (OP TEE, ATF) que votre conception pourrait devoir utiliser.
  • Fonctionnalités - pour maximiser le retour sur investissement, vous devrez choisir une implémentation qui comporte la plupart de vos fonctionnalités.
  • Contribution - U-Boot est clair sur les conditions de contribution et tout le code qui est fusionné est sous GPLv2, dans le cas de tout projet Tianocore (dont EDK2 fait partie) vous devez vous familiariser et signer. Accord de contribution TianoCore 1.0 . EDK2 est sous licence BSD.

J'ai travaillé avec les deux implémentations EDK2 et U-Boot et si j'ai le choix, j'opterai pour U-Boot. Pourquoi ?

  • Communauté amicale, large et diversifiée - EDK2 repose principalement sur Intel, Apple et quelques fournisseurs commerciaux. U-Boot regroupe des personnes de différents secteurs d'activité avec des expériences variées, il est donc très probable que quelqu'un ait eu des problèmes similaires.
  • Complexité - la courbe d'apprentissage pour l'UEFI/EDK2 est abrupte car ils utilisent divers concepts qui ne sont pas typiques du développement embarqué (par exemple, les HOB, tous les types de fichiers), pour U-Boot, toute personne familière avec le noyau Linux peut rapidement comprendre la conception.
  • Certification - AFAIK U-Boot n'a pas de processus formel. Pour l'implémentation de l'UEFI, vous avez un ensemble de tests pour dire que vous êtes conforme à l'UEFI.

Il y a probablement beaucoup d'autres choses à dire, mais je pense que c'est suffisant pour que vous fassiez vos propres recherches et que vous sachiez ce que vous devez choisir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X