SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Embarquer Linux et des systèmes
  libres, méthodes et apports

       Benoît Donnette
        Expert OSSA


                                  1
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
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
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
Linux embarqué
●
    Pourquoi le libre embarqué ?

●
    Histoire de Linux embarqué

●
    Linux embarqué aujourd'hui




5
Pourquoi le libre embarqué
●
    Liberté d'exécution, de redistribution
    –   Coût de licence maitrisé
●
    Liberté d'adaptation
    –   Utilisation optimale des ressources
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,...
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
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)
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
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
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
Méthodes et approches
Éléments Fondamentaux d'un système embarqué
●
    Bootloader
●
    Outils
●
    Système
●
    Root file system / file systems
●
    Applications
●
    Maintenance
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 ?
Méthodes et approches
                   Choix des éléments
●
    Bootloader
    –   µboot
    –   Micromonitor
    –   D'autres
●
    Outils
    –   Gcc, gdb, binutils
    –   Compilateurs dédiés
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)
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
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
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
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
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é
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...
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
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
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
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
Perspectives




Obtenir le système de rêve : tous les outils
existent, il reste « juste » à les fédérer...
Merci de votre attention



  bdonnette@linagora.com

                           28

Contenu connexe

Tendances

Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseYannick Pavard
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Christian Charreyre
 
Open Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueOpen Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueAlexandre LAHAYE
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
 
OBM : la solution collaborative libre
OBM : la solution collaborative libre OBM : la solution collaborative libre
OBM : la solution collaborative libre guest3be047
 
Créer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectCréer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectChristian Charreyre
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetChristian Charreyre
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014eurogicielgroup
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)Julien SIMON
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
Tv21 02-07 linuxembedded
Tv21 02-07 linuxembeddedTv21 02-07 linuxembedded
Tv21 02-07 linuxembeddedPascal Flamand
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...ECAM Brussels Engineering School
 

Tendances (20)

Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Yocto oe
Yocto oeYocto oe
Yocto oe
 
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - ZephyrOS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et Eclipse
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
 
Open Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueOpen Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarque
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
OBM : la solution collaborative libre
OBM : la solution collaborative libre OBM : la solution collaborative libre
OBM : la solution collaborative libre
 
Créer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectCréer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto Project
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projet
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Historique
HistoriqueHistorique
Historique
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
Tv21 02-07 linuxembedded
Tv21 02-07 linuxembeddedTv21 02-07 linuxembedded
Tv21 02-07 linuxembedded
 
cours Lunix
cours Lunixcours Lunix
cours Lunix
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...
 

En vedette

Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueTracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueBernard Jeanne-Beylot
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSJournal For Research
 
Metabolisme des lipides
Metabolisme des lipidesMetabolisme des lipides
Metabolisme des lipideskillua zoldyck
 
Brochure Meca-19102016-bd
Brochure Meca-19102016-bdBrochure Meca-19102016-bd
Brochure Meca-19102016-bdCamille Volant
 
Protection des métaux contre la corrosion
Protection des métaux contre la corrosionProtection des métaux contre la corrosion
Protection des métaux contre la corrosionCHTAOU Karim
 
TRANSITION METALS
TRANSITION METALSTRANSITION METALS
TRANSITION METALSDrix78
 
TALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumTALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumCORE-Materials
 
Présentation de la plate-forme d'éco-conception CORINE
Présentation de la plate-forme d'éco-conception CORINEPrésentation de la plate-forme d'éco-conception CORINE
Présentation de la plate-forme d'éco-conception CORINEBrice Kosinski
 
Animation obtention, conversion et séparation des aromatiques
Animation obtention, conversion et séparation des aromatiquesAnimation obtention, conversion et séparation des aromatiques
Animation obtention, conversion et séparation des aromatiquesTarik Taleb Bendiab
 
Baroffio y karsa
Baroffio y karsaBaroffio y karsa
Baroffio y karsajeanpyXD
 
Deep oxidation of heterogeneous VOCs: practice and feedback
Deep oxidation of heterogeneous VOCs: practice and feedbackDeep oxidation of heterogeneous VOCs: practice and feedback
Deep oxidation of heterogeneous VOCs: practice and feedbackSerge Vigneron
 
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...Daniels Training Services
 
Aluminum Anodizing
Aluminum AnodizingAluminum Anodizing
Aluminum AnodizingAACOA.com
 
Chromium problems
Chromium problemsChromium problems
Chromium problemscrazyaxe
 
2007 Annexe à la circulaire couleur des bouteilles de gaz
2007 Annexe à la circulaire couleur des bouteilles de gaz2007 Annexe à la circulaire couleur des bouteilles de gaz
2007 Annexe à la circulaire couleur des bouteilles de gazAPRHOC
 
Methods for removal of chromium
Methods for removal of chromiumMethods for removal of chromium
Methods for removal of chromiumArvind Gupta
 

En vedette (20)

Energie maison
Energie maisonEnergie maison
Energie maison
 
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueTracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
 
Metabolisme des lipides
Metabolisme des lipidesMetabolisme des lipides
Metabolisme des lipides
 
Brochure Meca-19102016-bd
Brochure Meca-19102016-bdBrochure Meca-19102016-bd
Brochure Meca-19102016-bd
 
Protection des métaux contre la corrosion
Protection des métaux contre la corrosionProtection des métaux contre la corrosion
Protection des métaux contre la corrosion
 
TRANSITION METALS
TRANSITION METALSTRANSITION METALS
TRANSITION METALS
 
TALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumTALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of Aluminium
 
Présentation de la plate-forme d'éco-conception CORINE
Présentation de la plate-forme d'éco-conception CORINEPrésentation de la plate-forme d'éco-conception CORINE
Présentation de la plate-forme d'éco-conception CORINE
 
Animation obtention, conversion et séparation des aromatiques
Animation obtention, conversion et séparation des aromatiquesAnimation obtention, conversion et séparation des aromatiques
Animation obtention, conversion et séparation des aromatiques
 
Baroffio y karsa
Baroffio y karsaBaroffio y karsa
Baroffio y karsa
 
Deep oxidation of heterogeneous VOCs: practice and feedback
Deep oxidation of heterogeneous VOCs: practice and feedbackDeep oxidation of heterogeneous VOCs: practice and feedback
Deep oxidation of heterogeneous VOCs: practice and feedback
 
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
 
Principles of corrosion
Principles of corrosionPrinciples of corrosion
Principles of corrosion
 
Aluminum Anodizing
Aluminum AnodizingAluminum Anodizing
Aluminum Anodizing
 
Chromium problems
Chromium problemsChromium problems
Chromium problems
 
2007 Annexe à la circulaire couleur des bouteilles de gaz
2007 Annexe à la circulaire couleur des bouteilles de gaz2007 Annexe à la circulaire couleur des bouteilles de gaz
2007 Annexe à la circulaire couleur des bouteilles de gaz
 
L’oxydation
L’oxydationL’oxydation
L’oxydation
 
Methods for removal of chromium
Methods for removal of chromiumMethods for removal of chromium
Methods for removal of chromium
 

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

cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfSouha Bennani
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1mazurus
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxThierry Gayet
 
0484-systemes-d-exploitation-os.pdf
0484-systemes-d-exploitation-os.pdf0484-systemes-d-exploitation-os.pdf
0484-systemes-d-exploitation-os.pdfRihabBENLAMINE
 
Presentation Pascal
Presentation PascalPresentation Pascal
Presentation Pascalguestb3a127
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 

Similaire à Embarquer Linux et des systèmes libres, méthodes et apports (20)

cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
 
Plateformes Linux Embedded
Plateformes Linux EmbeddedPlateformes Linux Embedded
Plateformes Linux Embedded
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Cour1
Cour1Cour1
Cour1
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
 
Cours se chap1
Cours se chap1Cours se chap1
Cours se chap1
 
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu Linux
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
0484-systemes-d-exploitation-os.pdf
0484-systemes-d-exploitation-os.pdf0484-systemes-d-exploitation-os.pdf
0484-systemes-d-exploitation-os.pdf
 
Cours se chap1_2
Cours se chap1_2Cours se chap1_2
Cours se chap1_2
 
chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
 
Presentation Pascal
Presentation PascalPresentation Pascal
Presentation Pascal
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
Cours linux
Cours linuxCours linux
Cours linux
 
Parinux 2009
Parinux 2009Parinux 2009
Parinux 2009
 

Plus de guest3be047

Correction Orthographique et Grammaticale Automatique
Correction Orthographique et Grammaticale AutomatiqueCorrection Orthographique et Grammaticale Automatique
Correction Orthographique et Grammaticale Automatiqueguest3be047
 
Retour d'expérience - Poste de travail Libre
Retour d'expérience - Poste de travail Libre Retour d'expérience - Poste de travail Libre
Retour d'expérience - Poste de travail Libre guest3be047
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Sourceguest3be047
 
Virtualisation par logiciels libres
Virtualisation par logiciels libresVirtualisation par logiciels libres
Virtualisation par logiciels libresguest3be047
 
Roadmap OOo 2008
Roadmap OOo 2008Roadmap OOo 2008
Roadmap OOo 2008guest3be047
 
Bonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision NagiosBonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision Nagiosguest3be047
 
NaReTo : tableaux de bord métiers pour la supervision
NaReTo : tableaux de bord métiers pour la supervisionNaReTo : tableaux de bord métiers pour la supervision
NaReTo : tableaux de bord métiers pour la supervisionguest3be047
 
CD d’auto-installation de Nagios, Centreon et NaReTo
CD d’auto-installation de Nagios, Centreon et NaReToCD d’auto-installation de Nagios, Centreon et NaReTo
CD d’auto-installation de Nagios, Centreon et NaReToguest3be047
 
Vers une nouvelle approche de la correction grammaticale automatique
Vers une nouvelle approche de la correction grammaticale automatiqueVers une nouvelle approche de la correction grammaticale automatique
Vers une nouvelle approche de la correction grammaticale automatiqueguest3be047
 
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PME
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PMEOBM Express, la solution de messagerie collaborative pensée pour les TPE et PME
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PMEguest3be047
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI guest3be047
 

Plus de guest3be047 (11)

Correction Orthographique et Grammaticale Automatique
Correction Orthographique et Grammaticale AutomatiqueCorrection Orthographique et Grammaticale Automatique
Correction Orthographique et Grammaticale Automatique
 
Retour d'expérience - Poste de travail Libre
Retour d'expérience - Poste de travail Libre Retour d'expérience - Poste de travail Libre
Retour d'expérience - Poste de travail Libre
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Source
 
Virtualisation par logiciels libres
Virtualisation par logiciels libresVirtualisation par logiciels libres
Virtualisation par logiciels libres
 
Roadmap OOo 2008
Roadmap OOo 2008Roadmap OOo 2008
Roadmap OOo 2008
 
Bonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision NagiosBonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision Nagios
 
NaReTo : tableaux de bord métiers pour la supervision
NaReTo : tableaux de bord métiers pour la supervisionNaReTo : tableaux de bord métiers pour la supervision
NaReTo : tableaux de bord métiers pour la supervision
 
CD d’auto-installation de Nagios, Centreon et NaReTo
CD d’auto-installation de Nagios, Centreon et NaReToCD d’auto-installation de Nagios, Centreon et NaReTo
CD d’auto-installation de Nagios, Centreon et NaReTo
 
Vers une nouvelle approche de la correction grammaticale automatique
Vers une nouvelle approche de la correction grammaticale automatiqueVers une nouvelle approche de la correction grammaticale automatique
Vers une nouvelle approche de la correction grammaticale automatique
 
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PME
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PMEOBM Express, la solution de messagerie collaborative pensée pour les TPE et PME
OBM Express, la solution de messagerie collaborative pensée pour les TPE et PME
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI
 

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

  • 1. Embarquer Linux et des systèmes libres, méthodes et apports Benoît Donnette Expert OSSA 1
  • 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. 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. 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. Linux embarqué ● Pourquoi le libre embarqué ? ● Histoire de Linux embarqué ● Linux embarqué aujourd'hui 5
  • 6. Pourquoi le libre embarqué ● Liberté d'exécution, de redistribution – Coût de licence maitrisé ● Liberté d'adaptation – Utilisation optimale des ressources
  • 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. 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. 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. 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. 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. 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. Méthodes et approches Éléments Fondamentaux d'un système embarqué ● Bootloader ● Outils ● Système ● Root file system / file systems ● Applications ● Maintenance
  • 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. Méthodes et approches Choix des éléments ● Bootloader – µboot – Micromonitor – D'autres ● Outils – Gcc, gdb, binutils – Compilateurs dédiés
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Perspectives Obtenir le système de rêve : tous les outils existent, il reste « juste » à les fédérer...
  • 28. Merci de votre attention bdonnette@linagora.com 28