Il y a eu beaucoup de controverse autour de UEFI, mais que cela plaise ou non, cela devient la seule option en ce qui concerne les cartes mères de bureau généralement disponibles. J'évite les mobos UEFI depuis un certain temps, mais maintenant c'est devenu assez difficile car les fournisseurs de mobo livrent des produits UEFI avec plus de fonctionnalités que ceux du BIOS (c'est-à-dire un support pour plus de RAM). Dans cet esprit, je veux être sûr qu'il y a au moins une option pour aller open source à l'avenir, et s'il n'y en a pas, je peux supporter moins de fonctionnalités mais plus de liberté.
TianoCore est l'implémentation open source d'Intel des interfaces UEFI et Wikipedia a ceci à dire à ce sujet :
TianoCore n'a pas les pilotes spécialisés qui initialisent les fonctions du chipset, qui sont plutôt fournis par Coreboot, dont TianoCore est l'une des nombreuses options de charge utile. Le développement de Coreboot nécessite la coopération des fabricants de chipsets pour fournir les spécifications nécessaires au développement des pilotes d'initialisation.
Ma question est la suivante: ces pilotes fournis par coreboot nécessitent-ils toujours des blobs binaires de la part des fournisseurs de chipsets? Aussi, Ronald G. Minnich a ceci à dire à propos d'EFI:
Les accès aux adresses d'E / S IDE, ou à certaines adresses de mémoire, peuvent être piégés dans le code EFI et potentiellement examinés et modifiés ou abandonnés. Beaucoup voient cela comme un effort pour construire un "BIOS DRM".
Dans une configuration TianoCore + coreboot, les composants susceptibles de faire ce micrologiciel open source ou binaire sont-ils fournis par le fournisseur de matériel?
la source
Il est possible de combiner le coreboot (initialisation matérielle précoce) et TianoCore (fournissant l'API UEFI) à une implémentation complète du firmware UEFI. Cependant, c'est toujours en développement. Ce ne sera pas non plus un UEFI "canonique" puisque la couche externe sera coreboot.
Une approche, basée sur Duet, peut être trouvée à http://notabs.org/coreboot/duet-payload/ - elle démarre quelque peu sur du matériel réel.
Une autre tentative (divulgation: mon projet) qui tente de réutiliser plus de Tiano et de rester plus proche de l'architecture UEFI est sur github: https://github.com/pgeorgi/edk2/ . Celui-ci n'a pas encore vu beaucoup de tests sur du vrai matériel, juste Qemu.
En principe, cela pourrait aussi fonctionner pour prendre du code coreboot et en faire des packages tianocore, donc il ressemble et se sent comme UEFI dans tous les aspects (pas seulement ceux visibles par l'utilisateur et le système d'exploitation). De toute évidence, les développeurs de coreboot ne sont pas très intéressés par cela.
la source
L'initialisation du chipset et tout autre code spécifique au matériel de très bas niveau a toujours été principalement à source fermée. Le BIOS / UEFI ne change pas le fait que les détails de l'initialisation du contrôleur de mémoire, etc. sont rarement divulgués par les fournisseurs de cartes.
Pour avoir une véritable carte open-source, vous devrez rechercher du matériel open-source, un fournisseur qui expose toutes les spécifications de chaque composant matériel sur la carte mère. C'est difficile à trouver, c'est le moins qu'on puisse dire.
la source