Clover, le bootloader NVMe des machines simplement PCIe

Rédigé par Frédéric Dumas Aucun commentaire
Classé dans : Administration système Mots clés : réutilisation, hacking
L'image d'illustration a été générée à l'aide du modèle de diffusion

Disponible sous licence libre, Clover permet de démarrer un système d'exploitation depuis la mémoire de masse SSD NVMe des machines dont le BIOS/UEFI ne le permet normalement pas.



Les BIOS/UEFI des machines datant d'avant 2013 n'incluaient pas les SSD NVMe, ces mémoires de masse PCIe à très faible latence, parmi les périphériques de démarrage. Sur de telles machines dépourvues de slots M.2, on avait beau installer un système d'exploitation sur le SSD NVMe, le système d'exploitation ne pouvait être amorcé par l'UEFI. Pour toutes ces machines, une astucieuse solution corrige désormais cette limitation et permet de les faire profiter elles-aussi des excellents temps de latence et de transfert des mémoires de masse NVMe, comme "disque" principal de démarrage.

Clover est une suite d'utilitaires et de pilotes, disponibles sous licence libre, téléchargeables depuis GitHub, et issus des travaux sur le Hackintosh. Copié sur une clé USB, Clover devient un programme d'amorçage intermédiaire, appelé au démarrage par l'UEFI, et capable à son tour d'identifier la présence d'un système d'exploitation sur NVMe, puis de le faire ainsi démarrer. La mise en œuvre de Clover est ce que nous allons détailler ici.

Lire la suite de Clover, le bootloader NVMe des machines simplement PCIe

XXIe siècle : ces créateurs de langages qui nous ont quitté

Rédigé par Frédéric Dumas Aucun commentaire
Classé dans : Langages, Société Mots clés : Basic, Pascal, C, Unix, Bell Labs
Thomas Kurtz tient une bande magnétique dans le département d’informatique de l’université de Dartmouth dans les années 1960.
--------------------
Thomas Kurtz au département d’informatique de l’université de Dartmouth (New Hampshire, États-Unis) dans les années 1960.
Photo: Adrian Bouchard - Rauner Special Collections Library

Ce premier quart du XXIè siècle aura vu disparaitre tous les créateurs de langages de programmation qui ont illuminé les décennies 80 et 90 de la micro-informatique: Basic, Pascal, et C



Il existe une foule d'autres langages de programmation conçus dans les dernières décennies du XXème siècle, mais aucun d'eux ne fut utilisé comme Basic, Pascal et C, par des autodidactes s'appropriant la micro-informatique, motivés par leur curiosité et leur enthousiasme. Le but de ce billet est de rendre un hommage particulier à ces créateurs qui mirent leur talent au service du plus grand nombre, et qui nous ont quitté en ce début de XXIème siècle.

Bien qu'ils furent popularisés par l'explosion de la micro-informatique de loisir, ces trois langages prennent racine dans les décennies précédentes, 1960 pour le Basic et 1970 pour le Pascal et le C. Ces décennies sont encore dominées par l'architecture mainframe: les utilisateurs d'un ordinateur central interagissent avec lui au moyen de télétypes (une combinaison de clavier et d'imprimante (en)), puis avec des terminaux à tube cathodique (en) (sans l'unité centrale du PC), qui en sont l'évolution. Compte tenu du progrès très rapide des technologies silicium de l'époque, chaque évolution de matériel est marquée par une forte incompatibilité avec la génération précédente, y compris chez un même fabricant. C'est pourquoi les créateurs de tout langage de programmation partageaient à cette époque de fait trois mêmes objectifs prioritaires:
  • s'affranchir du code machine et offrir à l'utilisateur un moyen plus à sa portée de programmer l'ordinateur avec des instructions de plus haut niveau, beaucoup plus rapides à maîtriser;
  • gagner en indépendance par rapport au processeur, facilitant la réutilisation du code d'une génération de machine à la suivante, au prix d'une adaptation partielle du code source, beaucoup plus acceptable qu'un portage total du code machine; bien entendu, la re-écriture de l'interpréteur ou du compilateur du langage pouvait rester, elle, nécessaire d'une machine à la suivante;
  • être un outil d'utilisation de la machine adapté à son accès simultané par plusieurs utilisateurs à la fois, depuis plusieurs terminaux utilisés en parallèle; cet objectif répond à l'architecture mainframe des milieux universitaires où sont développés ces langages, mais ne sera évidemment plus d'actualité lorsqu'ils serviront sur des micro-ordinateurs personnels.

Lire la suite de XXIe siècle : ces créateurs de langages qui nous ont quitté

De l’entrisme dans le Libre

Rédigé par P. Foubet 2 commentaires

L'entrisme est un mot qui est né pendant la révolution Russe d’octobre 1917. C’est une stratégie politique révolutionnaire qui consiste à faire entrer de manière concertée des membres d'une organisation militante dans une autre organisation rivale, voire dans l'appareil de l'État bourgeois, comme on le nommait à l’époque. Il est aussi employé depuis lors pour décrire des pratiques du même ordre (infiltration, noyautage, ) de mouvements, mouvances (politiques, religieuses…) au sein d'organisations diverses mais aussi de l'État.

Ce concept a été défini et mis au point par Lev Davidovitch Bronstein, plus connu sous le nom de LéonTrotski , dont la « carrière révolutionnaire » est assez colorée.

Cette pratique, toujours d’actualité, inquiète beaucoup certaines entreprises au point que le ministère de l’intérieur qui propose un kit de sensibilisation des atteintes à la sécurité économique a intégré un chapitre dédié au phénomène.

Les méthodes employées pour faire de l'entrisme se révèlent par leur nature très diverses, donc difficiles à parer. L'entrisme peut être mis en œuvre par une direction au sein d'une même organisation, dans le but d'infléchir le pouvoir d'opposition (opposition des syndicats par exemple).

En France, dans le domaine politique, le terme entrisme est employé pour qualifier une pratique de noyautage de l'OCI (Organisation Communiste Internationaliste ) issue de la scission de 1952. Cette stratégie ne fonctionne pas toujours. Par exemple Lionel Jospin, élève à l'Ecole nationale d'administration (ENA), adhère à l’OCI dans les années 60. Il est, un peu plus tard, chargé par la direction de l’OCI d’infiltrer le PS. Mais il aurait peu à peu renoncé à ses idéaux de jeunesse en préférant faire une carrière au sein du parti socialiste qu’il estimait, à cette époque, plein d’avenir. La suite lui ayant donné raison puisqu’il devient premier ministre en juin 1997. Plusieurs journaux, dont Le Monde, ont produit des articles sur le sujet.

Et en quoi tout ceci concerne-t-il le Logiciel Libre ?

Si l’open source s'attache aux avantages d'une méthode de développement au travers de la réutilisation du code source, le Logiciel Libre, selon Richard Stallman, est un mouvement social qui repose sur les principes de Liberté, Égalité, Fraternité. Et ce mouvement remet en cause, entre autres choses, la légitimité de vendre des appareils en forçant les utilisateurs à adopter des systèmes propriétaires, qui en plus volent leurs données. Cela menace directement les grands acteurs d’Internet et de l’informatique dans leur activités qui représentent des centaines de milliards de chiffre d’affaire !

Depuis que le Libre existe, on a pu observer moult tentatives, plus ou moins réussies, pour détourner des associations de leur objectif ou empêcher des logiciels d’être Libres  ! C’est l’objet de ce petit article qui est là pour rappeler que si le concept du Libre représente pour une majorité de militants une belle aventure qui fait rêver, l’impitoyable dureté des lois du monde économique, tel qu’il est régi actuellement, nous ramène à la dure réalité des faits.

Lire la suite de De l’entrisme dans le Libre

Que fait-on à l'E2L ?

Rédigé par P. Foubet Aucun commentaire
Classé dans : E2L Mots clés : Logiciel, Libre
Comme il est clairement expliqué sur notre site, l'école du logiciel libre est une université populaire, dont le rôle est d'apprendre à ses élèves les logiciels libres, c'est-à-dire :
  • comment en trouver de bons parmi les nombreux sites qui en proposent,

  • comment en prendre possession en fonction des licences,

  • comment les installer en fonction de ses besoins,

  • comment les tester et les utiliser,

  • comment en comprendre le fonctionnement pour ensuite les modifier,

  • comment écrire ses propres logiciels libres.

Et cette brève introduction appelle forcément d’autres questions.

Voici donc quelques questions/réponses qui vont vous aider à y voir plus clair.

Lire la suite de Que fait-on à l'E2L ?

Intelligence Artificielle sur CUDA ou ROCm ?

Rédigé par Frédéric Dumas Aucun commentaire



Le code ouvert et la licence libre ne font pas tout. À la fin ce qui compte, c'est le plébiscite de la plateforme par les développeurs




Ça se dit, ça se répète, NVIDIA est le fabricant dont tous choisissent les cartes graphiques (GPU) pour effectuer les calculs massivement parallèles indispensables à l'IA. Par exemple pour l'inférence (faire converser un "modèle de langage large"), pour la diffusion stable (générer des images commandées par prompteur), ou plus généralement pour l'apprentissage profond auquel sont exposés les réseaux de neurones. Dans une diatribe restée célèbre (en) il y a plus de 10 ans, Linus Torvalds critiquait acerbement NVIDIA pour son hostilité au logiciel libre. Bien que depuis 2022 NVIDIA ait partiellement ouvert ses pilotes logiciels, le fabricant continue d'interdire l'usage du code de ses bibliothèques CUDA (l'API dédiée au calcul parallèle sur les GPU NVIDIA) sur d'autres produits que les siens, et maintient bien sûr fermés et propriétaires les firmwares de ses produits. Et le succès commercial est du coté de NVIDIA.

Depuis son rachat d'ATI en 2006, AMD est l'un des deux autres fabricants américains de GPU (le troisième est depuis peu Intel lui-même). AMD est privilégié sur Linux, depuis son adoption de l'open source et des licences libres pour ses cartes graphiques. Ses pilotes logiciels et ses bibliothèques ROCm (l'API dédiée au calcul parallèle sur les GPU AMD) sont open source, seuls ses firmwares restent propriétaires. Pour les calculs massivement parallèles en usage professionnel (CAO, calcul scientifique), les GPUs AMD ont une notoriété. Et depuis 2024, Ollama, l'application gestionnaire qui rend si facile l'installation et l'exécution de centaines de variantes des grands modèles LLM open source, prend en charge l'API ROCm (en) d'AMD, après avoir commencé à fonctionner exclusivement avec l'API CUDA de NVIDIA. Alors, bravo AMD et sa priorité au logiciel libre ?

Et bien pas vraiment.

Parce que la notoriété d'AMD pour les applications en Intelligence Artificielle ressemble à celle d'une casserole attachée à la queue d'un chat. Le web bruisse de propos peu flatteurs: documentation défaillante (en)peu de modèles de cartes graphiques compatibles (en), équipe de développement sous-dimensionnée en comparaison des bugs à corriger (en)... En un mot, quand on veut faire fonctionner des modèles d'intelligence artificielle, l'environnement logiciel mis à disposition d'AMD est au mieux en version beta. Le fait qu'il soit open source et libre n'attire pas par magie les contributeurs et ne remplace pas l'investissement encore nécessaire de la part du fabricant.

Car adopter des licences libres pour le logiciel n'immunise pas contre le cruel effet d'externalité de réseau: lorsque la qualité n'est pas là, les utilisateurs sont rares, les contributeurs encore plus, et "la mayonnaise ne prend pas"; lorsque au contraire, une autre proposition technique concurrente est plus mature, même non libre, elle commence à être plébiscitée, son adoption s'en trouve amplifiée. NVIDIA champion du logiciel propriétaire tire aujourd'hui bénéfice de son avance en qualité sur l'API CUDA, tandis qu'AMD champion du logiciel libre, peine à convaincre d'utiliser son API ROCm.

La qualité n'est pas une condition moindre du succès que la liberté du code ouvert.

Lire la suite de Intelligence Artificielle sur CUDA ou ROCm ?