From cac8ba1eb8a2061e16dbbed24a91fac5fdeacb40 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Tue, 29 Nov 2022 18:28:47 +0000 Subject: [PATCH] Update projets-commissions/index.stl, projets-commissions/asus-coreboot/index.stl --- projets-commissions/asus-coreboot/index.stl | 85 ++++++++++++++++++++- projets-commissions/index.stl | 2 +- 2 files changed, 85 insertions(+), 2 deletions(-) diff --git a/projets-commissions/asus-coreboot/index.stl b/projets-commissions/asus-coreboot/index.stl index b4d924a..7bf0e33 100644 --- a/projets-commissions/asus-coreboot/index.stl +++ b/projets-commissions/asus-coreboot/index.stl @@ -4,4 +4,87 @@ author: neox tags: Logiciels Libres,Services,coreboot,libreboot,Libre en communs,a-lec date: 2022-11-29 ------ \ No newline at end of file +----- + +#1 Support des cartes-mères ASUS KGPE-D16 et KCMA-D8 dans coreboot +( ++_Libre en Communs_+, au sein de sa _Commission Infrastructures, a fait dès sa création le choix d'héberger ses propres serveurs dans ses locaux et chez ses adhérents volontaires. Ce choix fut complété par celui de n'utiliser que du matériel certifié _RYF par la _Free Software Foundation, et en n'exécutant que du logiciel libre sur ses processeurs principaux, du _BIOS jusqu'au dernier programme applicatif. +) +( +Les cartes-mères de serveurs qui ont été choisies par la _Commission Infrastructures sont les _ASUS KGPE-D16, des cartes puissantes certifiées _RYF et exécutant un BIOS libre dérivé de _coreboot. +) + +#2 Qu'est-ce que le BIOS ? +( +Un BIOS, comme son nom l'indique, était initialement un logiciel bas niveau un ensemble de fonctions +contenu dans la mémoire morte de la carte mère d'un ordinateur et lui permettant d'effectuer des opérations +de base lors de sa mise sous tension. Cependant, comme son nom ne l'indique pas, la définition d'un BIOS a +fortement évolué pour désigner également ce qu'on appelait par le passé le POST : test de la présence de +périphériques et allocation de ressources pour ces derniers de façon à éviter tout conflit, et ensuite passer la +main à un chargeur de démarrage de système d'exploitation. On considère que le plus gros du travail effectué +par un BIOS aujourd'hui est l'initialisation et l'entraînement de la mémoire vive. En effet, il faut, par exemple, initialiser le +contrôleur mémoire et optimiser le timing et la tension de lecture/écriture pour des performances optimales. +Le code dans le BIOS qui gère cela est très complexe puisque son rôle est d'optimiser plusieurs bus parallèles +fonctionnant avec des débits élevés et de les faire agir comme un ensemble homogène. +) +( +Le projet +_coreboot_+, débuté sous le nom de LinuxBIOS, est un logiciel libre d'amorçage lancé par le Laboratoire Universitaire de Los Alamos en 1999 qui avait pour premier objectif de remplacer les BIOS privateurs des constructeurs souvent peu performants voire limités en fonctionnalités. Le but recherché était d'abord d'obtenir un logiciel plus rapide que les BIOS privateurs. +) + +#3 Notre projet +( +Les cartes mères KGPE-D16 et KCMA-D8 sont les seules cartes de serveurs qui étaient supportées par coreboot sans besoin d'aucun logiciel privateur, mais elles ont été +supprimées après la version 4.11 de Coreboot. +) +( +Elles peuvent être exploitées uniquement avec des logiciels libres afin de continuer à obtenir des correctifs de sécurité pour les bogues exploitables à distance dans le BIOS (comme RowHammer), comme ILOBleed pour les BMC. Il n'y a pas de Management Engine/PSP sur ces cartes. +Certains processeurs compatibles ne sont pas affectés par les bogues de la classe Spectre, et il y a même du code source et une documentation pour la mise à jour du microcode. +) +( +Ces cartes mères sont utilisées pour l'hébergement par GNU (y compris GNU Guix), la +FSF, KDE, SugarLabs, Replicant, la FSFLA, Libre en Communs, etc. +) + +#4 Les objectifs +( +L'objectif est que Libre en Communs, recrute une personne pour faire en sorte que coreboot supporte à nouveau ces cartes-mères. +Cette personne sera embauchée à temps plein pendant 12 mois, avec un salaire de +22.14€/heure, soit 40254,80€. +) +( +Le travail consiste à rebaser le support sur la version actuelle de coreboot +version (4.18), à corriger tous les bugs et les problèmes de stabilité et en amont ce +travail, et à le maintenir jusqu'à ce qu'il soit complètement intégré à Coreboot. +) +( +Il y a donc un certain nombre d'étapes à franchir (liste non-exhaustive) : + += Trouver des outils de débogage pour travailler efficacement et valider les étapes : JTAG, gdbstub, ... += Séparer le code du processeur/chipset du code spécifique à la carte. += Supporter RELOCATABLE_RAMSTAGE += Prise en charge de POSTCAR_STAGE += Support de C_ENVIRONMENT_BOOTBLOCK += Sauvegarde des paramètres d'entraînement de la mémoire (parce que ce n'est pas fait du tout) et vérification que les tensions choisies ont un sens (parce que dans le code il y a des commentaires qui semblent dire "nous ne savons pas ce que nous faisons") += Initialisation des cœurs du CPU en parallèle +) + + +#3 Quelques références + +https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php + +https://www.secplicity.org/2021/12/29/hp-ilo-and-the-newly-discovered-ilobleed-rootkit/ + +https://en.wikipedia.org/wiki/Intel_Management_Engine#Security_vulnerabilities + +https://en.wikipedia.org/wiki/Row_hammer + +https://www.coreboot.org/Board:asus/kgpe-d16#CPUs_recommended_by_users + +www.syssec.rub.de/media/emma/veroeffentlichungen/2017/08/16/usenix17-microcode.pdf + +https://www.fsf.org/blogs/sysadmin/the-fsf-tech-team-doing-more-for-free-software + +https://wiki.parabola.nu/Hacking:Servers/Beefcake + +https://vikings.net/ (pour l'intérêt commercial de l'hébergement avec ces panneaux) diff --git a/projets-commissions/index.stl b/projets-commissions/index.stl index a5ef466..6ca71bf 100644 --- a/projets-commissions/index.stl +++ b/projets-commissions/index.stl @@ -2,7 +2,7 @@ title: Projets et commissions about: Projets et commissions de Libre en Communs author: neox tags: Logiciels Libres,Services,mentions,legales,Libre en communs,a-lec -date: 2022-04-17 +date: 2022-11-29 link: Conseil d'Administration : /composition-ca/ : CA de Libre en Communs link: Règlement Intérieur : https://git.a-lec.org/a-lec/vie-associative/reglement-interieur/-/blob/master/RI.pdf : Règlement intérieur de Libre en Communs