Embarquer Linux et des systèmes libres, méthodes et apports

3 784 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 784
Sur SlideShare
0
Issues des intégrations
0
Intégrations
22
Actions
Partages
0
Téléchargements
84
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Embarquer Linux et des systèmes libres, méthodes et apports

  1. 1. Embarquer Linux et des systèmes libres, méthodes et apports Benoît Donnette Expert OSSA 1
  2. 2. Sommaire ● L'embarqué... ● Linux embarqué ● Impact de l'approche « Open Source » – Coopération dans un marché concurrentiel – Distribution, reversement ● Méthodes et approches – Fondamentaux, choix des éléments – Approche traditionnelle – Projets « prêt à embarquer » ● 2 Perspectives
  3. 3. L'embarqué... ● Traduction approximative de « embedded » – Vraie traduction : « enfoui » – A l'origine : petits systèmes – Couvre tous les ordinateurs dont la fonction première n'est ni serveur ni poste de travail 3
  4. 4. L'embarqué... ● Un produit souvent industriel – Coût d'un prototype peu accessible – Produit pour une fabrication de masse ● Caractéristiques – Processeurs variés ● ARM, MIPS, i386,PowerPC – Matériel spécifique ● Flash, pas toujours de disque dur 4
  5. 5. Linux embarqué ● Pourquoi le libre embarqué ? ● Histoire de Linux embarqué ● Linux embarqué aujourd'hui 5
  6. 6. Pourquoi le libre embarqué ● Liberté d'exécution, de redistribution – Coût de licence maitrisé ● Liberté d'adaptation – Utilisation optimale des ressources
  7. 7. Pourquoi le libre embarqué ● Support d'une grande diversité de matériels – Bonne adaptation au problème ● Choix variés pour tous les éléments – Micro-boot, OS, support, compilateurs,...
  8. 8. Histoire de Linux embarqué ● Première version en 1991, stable en 1994 (1.0.0) – Spécifique i386 ● Seconde version (1.2.0) en 1995, premier portage (Alpha) – Architectures suivantes : PPC, m68k, MIPS, ARM ● Démarrage de la mailing-liste « Linux-ce » en 1996
  9. 9. Histoire de Linux embarqué ● Kernel 2.6.0 en 1994 – Intégration de µClinux – Diminution de la latence du kernel ● But initial : serveurs SMP ● Profite à l'aspect temps réel (aidé par quelques patchs) ● Scheduler O(1) sur le kernel (2.6.0), récrit lors du Completely Fair Scheduler (2.6.23, 1997)
  10. 10. Linux embarqué aujourd'hui ● Aujourd'hui, Linux embarqué, c'est : – Les *box ADSL – Des lecteurs DVD – Des équimements informatiques personnels ● proxies, serveurs personnels de disques,... – Des consoles de jeu (GP2X, PlayStation 3) – Un projet téléphone : OpenMoko
  11. 11. Impact de l'approche « Open Source » Coopération dans un marché concurrentiel ● Utilisation de logiciels éprouvés ● Indépendance par rapport aux fournisseurs ● Garantie de pérennité ● Adaptatabilité des logiciels au produit ● Liberté d'adapter, d'améliorer
  12. 12. Impact de l'approche « Open Source » Distribution, reversement ● Impacts de propriété ● Plusieurs licences, droits et devoirs différents ● Image ● Transparence ● Adhésion à une philosophie
  13. 13. Méthodes et approches Éléments Fondamentaux d'un système embarqué ● Bootloader ● Outils ● Système ● Root file system / file systems ● Applications ● Maintenance
  14. 14. Méthodes et approches Chois des éléments : Hardware ● ARM, MIPS, PowerPC, x86, m68k... – avec MMU (linux) ou sans (µClinux) ● RAM : compromis souplesse-coût ● Stockage – Flash ? Disque dur ? NFS ? Autre ?
  15. 15. Méthodes et approches Choix des éléments ● Bootloader – µboot – Micromonitor – D'autres ● Outils – Gcc, gdb, binutils – Compilateurs dédiés
  16. 16. Méthodes et approches Choix des éléments ● Système – Linux : latence élevée, mais fixe depuis le scheduler O(1) (2.6.x) puis CFS (2007) ● Latence ~ 1ms (worst-case)
  17. 17. Méthodes et approches Choix des éléments ● Système (suite) – Versions temps-réel (RTLinux, RTAI,...) ● latence minimale (~100µs) ● communication entre TR et Linux parfois difficile – Approche par virtualisation ● paravirtualiseur TR, système TR et système Linux
  18. 18. Méthodes et approches Choix des éléments ● Root file system, file systems – Diversité des FS : grande variété de choix ● RAM : Cramfs (ro), tmpfs ● Flash : jffs2, tout fs sur NFTL ● unionfs – Selon volatilité et rémanence ● Utilisation raisonnée des ressources : RAM, Flash, autres ressources éventuelles – Option « noatime » fortement conseillée
  19. 19. Méthodes et approches Choix des éléments ● Applications : à vous de jouer... – Serveurs personnels faible consommation – Serveur video – Domotique, télésurveillance – Consolidation de systèmes enfouis ● Maintenance
  20. 20. Méthodes et approches Approches traditionnelles ● Réalisation individuelle des éléments ● Bottom-up – On part d'une feuille blanche, on construit tout ● Totale maitrise ● Long et fastidieux (LFS) ● Top-down – Nécessite une distribution proche du résultat voulu
  21. 21. Méthodes et approches Approches traditionnelles ● Organisation probable : 1 équipe par élément – Chaque élément peut être isolé et parfois figé indépendamment des autres (microboot, compilateur) – Nécessite la gestion de plusieurs flux vers la communauté
  22. 22. Méthodes et approches Approches traditionnelles ● Premières automatisations : les outils – Crosstool : script de génération de chaine de compilation croisée – Automatise la compilation de binutils, gcc et la libc pour la cible embarquée ● Combinaisons kernel/libc/binutils/gcc/options...
  23. 23. Méthodes et approches Approches traditionnelles ● Apparition de distributions source embarqué – Embedded-gentoo : basée sur µClinux – Défaut : nécessite un système de base capable de compilation native
  24. 24. Méthodes et approches Projets « prêt à embarquer » ● Projets embarqués générés – Approche mixte, apparue depuis fin 2006 ● Exemples : OpenEmbedded, OpenMoko ● Prend en charge tout le processus jusqu'à constitution de l'image à transférer – Génère les outils, le microboot, le système et le root file system
  25. 25. Perspectives ● Potentiel Linux embarqué énorme ● Des atouts importants (portabilité, empreinte) ● Un support riche (pilote des périphériques variés) ● Des références significatives ● Un existant important ● Des projets phares ● Une consolidation industrielle ● Une démocratisation du matériel
  26. 26. Perspectives ● Approche Gentoo – Compilation personnalisée – Gestion de paquetages et dépendances ● Compilation croisée et émulation logicielle – Tests instantanés – Génération du système embarqué incrémentale
  27. 27. Perspectives Obtenir le système de rêve : tous les outils existent, il reste « juste » à les fédérer...
  28. 28. Merci de votre attention bdonnette@linagora.com 28

×