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

3,463 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,463
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
80
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×