HOME
 
 

Histoire et présentation de linuxBIOS



Histoire et présentation de linuxBIOS, le BIOS Open Source basé sur Linux

02 avril 2008 - Histoire et présentation de linuxBIOS

Social Bookmarking
Ajouter cette page aux favoris Digg Ajouter cette page aux favoris Del.icio.us Ajouter cette page aux favoris Facebook Ajouter cette page aux favoris Furl Ajouter cette page aux favoris Yahoo Ajouter cette page aux favoris Spurl Ajouter cette page aux favoris Google Ajouter cette page aux favoris Technorati Ajouter cette page aux favoris StumbleUpon Ajouter cette page aux favoris Newsvine Ajouter cette page aux favoris Netvouz Ajouter cette page aux favoris Blinkbits Ajouter cette page aux favoris Ma.Gnolia Ajouter cette page aux favoris Linkarena Ajouter cette page aux favoris Power Oldie Ajouter cette page aux favoris Bookmarks.cc Ajouter cette page aux favoris Folkd Ajouter cette page aux favoris Reddit Ajouter cette page aux favoris Jumptags Ajouter cette page aux favoris Simpy Ajouter cette page aux favoris Slashdot Ajouter cette page aux favoris Propeller Ajouter cette page aux favoris Blinklist Ajouter cette page aux favoris Blogmarks Ajouter cette page aux favoris Diigo Ajouter cette page aux favoris Smarking

Présentation de LinuxBIOSAlors que les processeurs x86 sont une option attrayante pour les développements embarquées (embedded designs), de nombreux développeurs spécialisés dans ce type de développement préfèrent les éviter parce que les systèmes x86, resteront tributaires d'un héritage ROM (un programme en lecture seule stocké dans une puce) du BIOS pour configurer le système. LinuxBIOS est une solution open source qui remplace les ROMs des BIOS propriétaires avec un loader léger. LinuxBIOS libère le développeur de l'initialization complexe des CPU et des chipset et permet à une variété de payloads d'êtres chargés, y compris le noyau Linux lui-même. Cet article présente l'intégration du CPU et de chipsets AMD Geode et comment cela à permit à LinuxBIOS de dévenir le point central du projet OLPC (One Laptop Per Child).

Introduction

Depuis que l'architecture PC x86 a été lancée en 1981, elle a été accompagnée par un bootstrap (code prenant en charge les tous premiers instants du démarrage de la machine), code connu sous le nom de Basic Input / Output System (BIOS), qui exécute un Power On Self Test (POST, en français Auto-test d'allumage). Depuis l'introduction du PC, chaque année ammène son lot de nouveau matériel et de fonctionnalités du système d'exploitation de plus en plus complexes. Chaque nouvelle fonctionnalité ajoute à la complexité de la configuration du BIOS, qui doit maintenir la compatibilité avec les anciens systèmes d'exploitation, mais également apporter un soutien aux nouveaux. Le résultat final est une combinaison alambiquée et cryptique des vieux standards (tels que les Interrupt Logiciels pour accéder à l'écran et les périphériques de stockage) et de nouveaux standards (tels que Advanced Configuration and Power Interface (ACPI)).

Presque toutes les implémentations des BIOS sont propriétaires et de nombreux développeurs Open Source sont en conflit avec ce qui est perçu généralement comme une "magie noire". En raison de la nature de l'arcane du BIOS, la plupart des systèmes d'exploitation modernes ont abandonné les interfaces du BIOS au matériel et accèdent directement au matériel. Le modèle traditionnel de l'ordinateur de bureau basé sur le BIOS est frustrant pour les développeurs de système embarqués qui luttent pour obtenir un BIOS qui géreraient toutes leurs plates-formes uniques. En raison des exigences très spécifiques du moment du démarrage des système et de l'utilisation des ressources, il est difficile de regroupé dans un BIOS deux décennies d'architecture d'ordinateur de bureau.

Le projet LinuxBIOS existe afin de résoudre les problèmes de compatibilité du BIOS. Il est sous licence GNU Public License (GPL) pour promouvoir un loader transparent et ouvert. LinuxBIOS permet l'initialisation des CPU et des chipsets pour les architectures x86, x86_64 et les systèmes Alpha et fournit la flexibilité nécessaire pour charger et exécuter un nombre indifférent de payloads. Ce document sousligne le développement et l'utilisation de LinuxBIOS pour les plates-formes x86 embarqué basé sur les processeurs AMD Geode en traitant de l'histoire de LinuxBIOS et des processeurs AMD Geode.

L'histoire de LinuxBIOS

Ron Minnich a démarré le projet LinuxBIOS au Laboratoire national de Los Alamos (LANL) en septembre 1999 pour traiter des problèmes causés par le BIOS des PC dans les grands groupes. L'équipe a décidé que le noeud de cluster de PC idéal aurait les caractéristiques suivantes:

  • Booter directement avec un système d'exploitation à partir de RAM non-volatile;
  • Configurer seulement les interfaces réseau;
  • Possibilité de connexion à un noeud de contrôle en utilisant n'importe quel interface réseau fonctionnelle;
  • Effectuer des actions seulement sous la direction du noeud de contrôle.

À ce moment, l'équipe LANL a estimé que Linux fait un meilleur travail pour la gestion du matériel que le BIOS des PC. Leur concept était d'utiliser un simple bootstrap matériel pour charger en mémoire un petit noyau Linux à partir de la mémoire flash. En se basant sur le travail de l'OpenBIOS project, l'équipe LinuxBIOS a réussi à booter une carte mère Intel L440GX+ après environ six mois de développement. Dès le début, l'équipe a décidé que le code assembleur ne ferait pas partie de l'avenir de LinuxBIOS. OpenBIOS a été ignoré parce qu'il était fondé sur une grande partie du code assembleur et une structure "usine à gaz". L'équipe a trouvé un loader simple de STMicroelectronics appelé STPC BIOS qui a été écrit en C et capable de devenir open source. Il est donc devenu la base de la première version de LinuxBIOS.

En 2000, Linux et Linux NetworX Labs rejoingnent le projet. L'équipe a ajouté le support pour les Symmetric Multiple Processor (SMP), un port Alpha et crée le premier cluster de 13 noeuds basés sur LinuxBIOS. Depuis 2001, de nombreux développeurs rejoingnent l'équipe qui continue l'ajout de nouvelles plates-formes, y compris les plates-formes basées sur les processeurs AMD Opteron et Athlon. Chose intéressante, LinuxBIOS était à l'origine conçu pour les clusters, mais l'utilisation de LinuxBIOS pour des ordinateurs classiques dépasse de loin son utilisation pour du clustering.

En 2005, certains membres actuels et passés du MIT Media Lab se sont regroupés pour créer le One Laptop Per Child (OLPC) programme, consacré à dessiner un ordinateur portable à faible coût pour des projets éducatifs dans le monde entier. L'OLPC Team a conçu une plate-forme x86 qui intègre un processeur AMD Geode. Le prix le plus bas et une technologie ouverte faisaient partie de la base nécessaires pour l'ordinateur portable. Les concepteurs ont décidé d'utiliser solution libre et open source pour le BIOS qui s'est révélée être une solution LinuxBIOS.

La première des deux révision majeure incluant l'AMD Geode 1 Version 2 commencée après l'ajout de la gestion de la technologie Hypertransport a suffisemment changé le modèle matériel pour justifier une incrémentation de la version.

Le loader LinuxBIOS basé sur les processeurs GX, utilisait à l'origine payload "Linux en tant que bootloader". Il a ensuite permit la création de OpenFirmware après sa disponibilité à mi-2006. En 2007, le support du processeur AMD Geode LX a été ajouté au loader, ce qui en fait une référence librement disponible de la conception du BIOS aux développeurs intéressés par la conception d'autres solutions basée sur les AMD Geode.

Avantages et inconvénient de LinuxBIOS

Comme la plupart des projets open source, LinuxBIOS est un développement continue, avec à la fois des aspects positifs et négatifs. Parmi les aspects positifs, c'est que le développement de LinuxBIOS est convivial, surtout par rapport aux solutions traditionnelles en ce concerne les BIOS. LinuxBIOS est surtout basé sur le language de programmation C, ce qui en simplifie grandement le développement. Cependant, le code machine généré est presque toujours plus grand et plus lent que du code écrit "à la main", c'est à dire non compilé. C'est un risque, notamment dans les sections pré-DRAM où la rapidité d'exécution et la taille du code sont des paramètres essentiels. Comme mentionné précédemment, ROMCC (le compilateur) fait un travail étonnant de génération de code assembleur "stackless" (n'utilisant pas de stack), mais en raison de la complexité de sa tâche, il est difficile d'optimiser le code pour une taille minimum et une exécution rapide.

Même si le code de LinuxBIOS est écrit en C, le développeur n'est pas libéré de l'obligation de vérifier le code généré afin de le corriger. Le code assembleur dans LinuxBIOS est écrit dans le format AT&T (comme le sont tous les projets GNU), mais de nombreux projets de BIOS et débogueurs de CPU x86 utilisent le format Intel. Cela peut entraîner une difficulté d'adaptation pour les développeurs se convertissant au développement LinuxBIOS. Cela peut aussi rendre difficile le portage de code source existant vers une solution LinuxBIOS.

L'implémentation actuelle du processeur AMD Geode dans LinuxBIOS est plus lente que prévu. Les benchmarks (logiciels de tests de masse) démontrent que la décompression et de copie de mémoire sont plus lentes que pour d'autres implémentations propriétaire de BIOS. De plus ample investigations sont nécessaire pour en déterminer la cause.

Les aspects positifs de LinuxBIOS permettent compenser largement ces problèmes mineurs. LinuxBIOS utilise un environnement de développement familier aux développeurs de système embarqué à base de solution Linux. Il est écrit en C et utilise un mode 32 bits "flat". Il n'y a pas besoin de se préoccuper des modes 16-bit real ou big real.

En fin de compte, tandis que LinuxBIOS est soutenue par une forte communauté open source, il ne peut exister sans l'appui des vendeurs d'équipements. La croissance de LinuxBIOS dépendra, en définitive, de la conviction des entreprises de matériel qu'il existe une forte possibilité de rentabilisation du développement et du maintient de leur plates-formes en utilisant une solution LinuxBIOS.

Améliorations future

Il reste encore beaucoup à faire pour projet d'intégration du chipset AMD Geode. LinuxBIOS version 3 promet d'être un grand pas en avant. Les modifications envisagées comprennent:

  • Un nouveau système de configuration basé sur le système de configuration du noyau de Linux;
  • Le remplacement du restant pré-DRAM stackless par une implémentation du Cache-as-RAM (CAR).
  • Des optimisations de la taille et de la rapidité du code tous les aspects du processus de démarrage.

Le code concernant le chipset AMD Geode sera modifié afin de fonctionner avec la version 3 de LinuxBIOS, incluant une meilleure du mode CAR par défaut et des optimisations de vitesse d'exécution. En même temps, plus de travail doit être fait pour permettre d'éviter qu'un échec de remplacement de BIOS rende la machine inutilisable.

Des changements sont également prévu en ce qui concerne VSA2. Le code sera porté pour compiler avec les outils GNU, et entièrement finalisé de sorte que d'autres développeurs puissent s'appuyer sur le framework SMI existant. D'autres travaux sur VSA2 permettront l'amélioration de la gestion d'énergie. Enfin, les travaux se poursuivent pour améliorer BuildROM et aider à rendre plus disponibles les outils de diagnostic destinés à la validation et à la vérification du LinuxBIOS dans un environnement Open Source.

Conclusion

LinuxBIOS est un développement passionnant dans le monde des chipsets AMD Geode x86 et plates-formes en général. Il facilite les efforts des développeurs en évitant les désavantage d'un BIOS traditionnel et offre une grande flexibilité dans le développement de l'informatique embarquée.

Il y a un grand avantage pour les processeurs AMD Geode dans la compatibilité de LinuxBIOS parce que LinuxBIOS permet aux concepteurs d'examiner les solutions AMD Geode d'une façon qu'ils n'auraient jamais cru possible (comme en témoigne la récente success story de la plate-forme OLPC).

Commentaires

Nom
E-mail (Invisible online)
Site internet
Titre
Commentaire
;-) :-) :-D :-( :-o >-( B-) :oops: :-[] :-P
Pour prévenir la soumission automatique de commentaires par des bot, veuillez recopier le texte de l'image ci-dessous dans la zone de saisie appropriée. Votre commentaire ne sera soumis uniquement si vous avez correctement recopié le code. Veuillez vous assurez que votre navigateur supporte et accepte les cookies, ou votre commentaire ne pourra pas être vérifié et accepté.



Derniers articles:

12/03/2009 Télécharger des torrents sans ordinateur

30/01/2009 ATI Catalyst 9.1 WDM Pilotes pour Windows XP

30/01/2009 Dictionnaire des synonymes français et anglais

29/01/2009 Nouveau site de photographie

29/01/2009 L'Iraq met fin au contrat de la société Blackwater



 
     Copyright © 2007 Thomas Mayor - WebKeySoft  
 
Flux rss webkeysoft.comArticles - News
Licence d'utilisation des logiciels - design by webkeysoft