URL: https://linuxfr.org/users/vejmarie/journaux/microcode-ouvert-sur-materiel-hpe Title: Microcode ouvert sur materiel HPE ? Authors: vejmarie Date: 2020年05月12日T22:25:13+02:00 License: CC By-SA Tags: fosdem, linuxboot, openbmc, microcode, bios, openbios et hp Score: 64 Bonsoir, Il y a bien longtemps que je n'ai écris de journal. Il faut dire que l'année 2019 a été un tsunami de mon cote suite à l'acquisition de ma société par un groupe américain, un déménagement outre atlantique et un départ de celui-ci pour rejoindre HPE à Houston, où je pilote la stratégie Open Platform. Me voila "influenceur" (plutot que chef on va dire) chez un constructeur, et de retour à mes sources (j'avais quitté HPE pour créer ma structure en 2006). Je ne suis pas là pour faire de la pub pour HPE, meme si indirectement je vais vous parler de mes priorités, et j'aimerai avoir l'opportunité d'avoir un échange avec vous sur ce que je fais. Je n'ai pas abandonné mes développements FreeCAD (ils seront le sujet d'un prochain journal leur étant dédié), et l'actualité sur ce sujet est d'ailleurs très riche suite à ma rencontre (physique!) avec d'autres développeurs lors du dernier Fosdem. Certains d'entres vous le savent je suis un des co-createurs de [linuxboot](http://linuxboot.org) un environnement qui permet de s'affranchir au maximum de codes propriétaires au niveau des BIOS des serveurs. J'ai travaillé aussi sur des approches équivalentes au niveau des BMC (les chips de remote management de ces memes serveurs) au travers de projets comme OpenBMC et u-bmc. Ces projets ont été présentes plusieurs fois lors de conférences internationales comme [OCP](https://www.opencompute.org/) et/ou [Fosdem](https://fosdem.org/2020/) (Facebook y a fait un très bon talk cette année sur la manière dont ils testent les dits microcodes). En arrivant chez HPE, il m'était évident que cette approche allait créer un choc culturel. Il faut dire que l'engineering local développe ses propres BIOS avec succès depuis plus de 25 ans sur les systèmes ProLiant, et arriver avec une approche ou on casse tout, au profit du kernel linux, il faut avouer que je me suis dit qu'en tant que Francais au Texas, il allait falloir etre subtil et prudent. Apres quelques mois, d'engueulades positives et bbq (on résout pas mal de choses autours d'un bbq ici), on a réussi à avoir des Proliant qui démarrent sous [OpenBMC](https://en.wikipedia.org/wiki/OpenBMC) ([Gen10](https://en.wikipedia.org/wiki/ProLiant)/[skylake](https://en.wikipedia.org/wiki/Skylake_(microarchitecture))) ainsi que linuxboot. Ils ont été présentés d'ailleurs pour l'un d'entre eux cette année à Bruxelles au Fosdem (second choc culturel d'ailleurs). La difficulté technique repose principalement sur la mise en oeuvre des mécanismes de protection (légitime) des microcodes depuis quelques années (Silicon Root of Trust, et [Intel Bootguard](https://en.wikipedia.org/wiki/Intel_vPro#Intel_Boot_Guard) en sont quelques exemples). Comment concilier liberté de choix et mécanisme de protection ? Apres cette étape de tests au travers de PoC (Proof of Concept), nous sommes entrés dans la phase suivante de pré-industrialisation. Ils nous restent évidemment beaucoup de travail, tests et validations. Mais vous allez pouvoir y participer, enfin j'espère. Nous sommes en train d'assembler des prototypes de DL360Gen10, que nous allons proposer à quelques uns de nos gros et petits clients, qui souhaitent s'impliquer dans cette aventure. Si vous en faites parties, faites moi signe ! Etant un fervent défenseur des travaux communautaires, et de la nécessité d'offrir la possibilité à tout le monde de tester les microcodes libres, j'ai créée un petit projet dénommé OSFCI (Open Source Firmware Continuous Integration) disponible sur [github](https://github.com/HewlettPackard/osfci), et au travers d'une plateforme en ligne qui permet de tester a distance un serveur Proliant qui fonctionne sur OpenBMC, et linuxboot. Evidemment il reste beaucoup de travail, mais celui-ci peut se faire de manière collaborative et a bien entendu démarré au travers de communautés des microcodes libres. Vous pouvez acceder a la plateforme fonctionnelle sur [https://osfci.tech](https://osfci.tech). Nous l'utilisons pour valider nos propres développements et cela fonctionne plutot bien durant cette pandémie qui nous touche tous. L'idée étant de recompiler une image openbmc et/ou linuxboot en local, de la télécharger sur un FPGA connecté a un ProLiant qui va émuler des Flash SPI, et de controler a distance l'alimentation électrique du serveur. Une fois allumé, les consoles des différents microcodes sont accessibles. Une image de demo est disponible par défaut. Nous travaillons sur une API qui permettra de faire tout cela en mode automatique, permettant ainsi de valider chaque assemblage de microcode à la volée. Les microcodes propriétaires ne vont pas disparaitre, mais les logiciels libres arrivent à se créer une place dans ce domaine et j'espère que chacun pourra ainsi choisir sa stratégie de sécurité au travers d'options soient totalement propriétaires soit totalement auditables, modifiables et libres. N'hésitez pas à me fournir votre retour sur cette approche qui me tient sincèrement à coeur. vejmarie