LINUX EMBARQUÉ LES DISTRIBUTIONS. Carrefour de l électronique 24 octobre 2012

Documents pareils
Présentation des intervenants. Pourquoi cette conférence? Logiciel libre : notions essentielles. Le logiciel libre pour les projets industriels

Naissance d'un REPTAR

Linux embarqué: une alternative à Windows CE?

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Slony1 2.1 Londiste 3

Android. Présentation d Android. Florent Garin

Environnement Informatique EMSE Linux

Jean-Christophe BECQUET

Guide d installation de SugarCRM Open Source version 4.5.1

Comment travailler avec les logiciels Open Source

Systèmes en réseau : Linux 1ère partie : Introduction

Burckel Thomas. Formation. Compétences

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Robot WIFIBOT Lab V3. 4 roues motrices

Logiciels libres et Open source

Virtual Box Mettez un PC dans votre... PC

EXALOGIC ELASTIC CLOUD MANAGEMENT

Le concept de virtualisation regroupe

Jean-Christophe BECQUET

Systèmes d exploitation

Systèmes Embarqués Libres

Session 8: Android File System

Linux 1: Présentation

Détection de pollution maritime avec GNU/Linux. Eric Bénard - eric@eukrea.com - 08 juillet 2010

Tutoriel Création d une source Cydia et compilation des packages sous Linux

..seulement 5% des serveurs x86 sont virtualisés!

Parallels Transporter Lisez-moi

Modèles économiques de l'open Source

LES OBJETS CONNECTES

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Le Cloud: Mythe ou Réalité?

Concept de machine virtuelle

Environnements de développement (intégrés)

Environnements et Outils de Développement Cours 1 Introduction

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

Installation et prise en main

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Linux pour l embarqué. 1 Module E4 : Systèmes temps-réel Audrey Marchand

En ce moment (24/01/2014), Super bon plan: Micro Serveur HP Proliant G7 N54L à 159 ttc Plus d'informations sur dealabs.com

Caractéristiques principales:

Serveur Subversion Debian GNU/Linux

L intelligence intégrée et connectée au cœur de vos projets. Dossier de presse

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Robot WIFIBOT Lab V4. Lab V4.

Découverte des Logiciels Libres. Gilles Dequen

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

MSP Center Plus. Vue du Produit

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Tivoli Endpoint Manager Introduction IBM Corporation

Systèmes de gestion de code source

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Outils de développement collaboratif

1. Installation standard sur un serveur dédié

CA 2011 M. +40% de croissance 7. agences en France. Paris Lyon Nantes Bordeaux Montpellier Aix en Provence

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Mettez Linux en boîte avec ClearOS

ST50 Projet de fin d études Noyau Linux et multi-processeur pour une plateforme embarquée

Chapitre 1 Retour en arrière

VoIP : les solutions libres

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Projet de développement

... Conseil. Exp er tise. I ngénierie. Formation

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

-1 - Postes de travail graphiques

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Atelier : Virtualisation avec Xen

Systèmes informatiques

Gouvernance open source : retour d'expérience. Céline Fontaine juriste 12 octobre 2012, EOLE «FOSS: Standing on the shoulders of law», Paris

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

«Le malware en 2005 Unix, Linux et autres plates-formes»

Dynamiser et optimiser votre IT avec la Virtualisation du poste

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

«ASSISTANT SECURITE RESEAU ET HELP DESK»

La gestion du poste de travail en 2011 : Panorama des technologies

MOBILITE. Nomadio, le dialer d entreprise. Datasheet

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

Getting Started. 10 étapes pour bien démarrer. Avant de démarrer. Première connexion PCC

CAHIER DES CHARGES D IMPLANTATION

Personnes ressources Tice. Académie de Rouen

EDITORIAL: Revente des produits U2 à Rocket Software

Développeur C/C++ AFDX / ARINC / CAN / TCP/IP

Réalisation d un portail captif d accès authentifié à Internet

Catalogue des formations

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Table des matières. Date : Version : 29/06/ Objet : OpenVas 6.0

Guide de poche. Get Wyse. Go Far. * Bienvenue dans le Cloud Client Computing de Wyse. En savoir plus. * Avec Wyse, vous irez loin.

Serveur Appliance IPAM et Services Réseaux

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

Chapitre 10 : Logiciels

Transcription:

LINUX EMBARQUÉ LES DISTRIBUTIONS Carrefour de l électronique 24 octobre 2012 1

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial You may not use this work for commercial purposes. No Derivative Works You may not alter, transform, or build upon this work. Le texte intégral de la licence applicable à ce document se trouve à l adresse : http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode 2

LE LIVRE Linux embarqué comprendre, développer, réussir (éd. Pearson, déc 2011, 460 pp.) management (économie, juridique, stratégie, etc.) technique au-delà : plaidoyer 3

LINACS EN QUELQUES MOTS Linacs = Linux project accelerator Un constat : les projets de logiciel embarqué à base de Linux sont devenus très complexes et échouent trop souvent Une idée : aider les entreprises à appréhender leurs projets, plutôt que de les réaliser pour elles Travail en open innovation, sur-mesure, en étroite collaboration Préparation de projet Assistance à Maîtrise d'ouvrage Suivi de projet Audit Formation Recrutement 4

? LINUX EMBARQUÉ : QUOI ET POURQUOI 5

QU EST-CE QUE LINUX? un noyau, un système d exploitation à destination du PC, puis d autres architectures un projet communautaire un système libre un héritage *NIX 6

HISTORIQUE «Linux is evolution, not intelligent design», Linus Torvalds 1991: première annonce sur usenet (Freax) 1992: v0.96 GPLed pleinement fonctionnelle 1996: v2.0 1999: entrée en bourse de RedHat 2001: v2.4 2003: v2.6 http://en.wikipedia.org/wiki/history_of_linux 7

SYSTÈME D EXPLOITATION héritage des UNIX tout est fichier arborescence : /, /dev, /etc,... noyau séparé du système distributions GNU/Linux : noyau Linux + système GNU 8

LE LOGICIEL LIBRE une philosophie origine : le projet GNU (http://gnu.org) 4 libertés : 84/85 : lancement du projet GNU par RMS, puis FSF fin 90's : projet d'os finalisé (gcc, binutils, glibc, emacs), à l'exception du noyau juin 91 : licence GPLv2 0. la liberté d'exécuter le programme, pour tous les usages, 1. la liberté d'étudier le fonctionnement du programme et de l'adapter à ses besoins, 2. la liberté de redistribuer des copies du programme (ce qui implique la possibilité aussi bien de donner que de vendre des copies), 3. la liberté d'améliorer le programme et de distribuer ces améliorations au public, pour en faire profiter toute la communauté. 9

10

ÉCOSYSTÈME LIBRE EMBARQUÉ écosystème complexe mêle du libre et du propriétaire ceux qui participent le plus ne sont pas ceux qui utilisent le plus 11

LINUX EMBARQUÉ depuis ~2000 éclosion réelle avec les version 2.4 (2004) explosion avec la version 2.6 (2004/2005) tournant en 2007 acteur incontournable à présent (1 projet sur 2!) 12

EMBARQUÉ & TEMPS RÉEL Définition du TR : déterminisme temporel Des mondes qui se recoupent TR «mou» vs «dur» : Linux TR mou par défaut Solutions TR dur : Linux, par modification du code : RTLinux, MontaVista, RTAI, Concurrent Computer Par paravirtualisation : Xenomai/ADEOS, Wind River Hypervisor, PikeOS (Sysgo), Integrity (GreenHills),... 13

LIBRE EMBARQUÉ au-delà de Linux : un mouvement bootloader : u-boot, grub,... compilateur : GCC, LLVM outils divers de développement/intégration : Eclipse, GPS, SVN, Git... logiciels polices de caractères environnements complets : GPE, Android, MeeGo, Tizen,... OS embarqués : ecos, RTMS, FreeRTOS, Pok,... au-delà du libre : les formats ouverts communication : XMPP, UPnP image : png/mng, svg vidéo/son : ogg, WebM compression : gzip, bzip2, LZMA, 7z matériel libre! (OpenHardware) Certification! (OpenDO, Opees, Babylone) 14

POURQUOI LE LIBRE DANS L EMBARQUÉ? amélioration continue Nombreux avantages pour l'industriel : technicité (à la Torvalds) pérennité/éthique (à la RMS) couts (question entrepreuriale) mais libre n'est pas gratuit! GPL/LGPL : amélioration «forcée» qualité du code interactions/documentation image positive (développement durable) aucun contrôle absolu, garantie d existence sur le long terme pas de royalties (problème majeur dans l embarqué) sources gratuites couts cachés : couts de réalisation, couts de formation, couts de migration, etc. 15

INCONVÉNIENTS DU LIBRE DANS L EMBARQUÉ manque d interlocuteurs identifiés : problème technique (assistance) et contractuel (responsabilité) manque de contrôle : dépendance à la communauté contraintes juridiques (propriété intellectuelle) : comprendre les licences libres problème de compétences : expertise et expérience rares difficulté d estimations en temps et en couts (cf. effet IKEA!) beaucoup d aléas à estimer de nouveaux paradigmes à maîtriser pour une industrie à forte inertie 16

POURQUOI LINUX EMBARQUÉ? Libre : GPLv2 forte évolutivité, modifiable/adaptable cible/marché très étendu : du très embarqué au Consumer Electronic temps réel : «mou» ou «dur» écosystème existant : GNU/Linux disponibilité de développeurs formés nombreux points forts techniques 17

POINTS FORTS DE GNU/ LINUX POUR L EMBARQUÉ mérites du système faible empreinte mémoire par rapport aux capacités (notamment pour les drivers) efficace, optimisé, fortes performances très stable : uptime espace utilisateur (userland) efficace réalisation beaucoup d'outils disponibles, de bibliothèques (briques élémentaires très fonctionnelles) support de nombreuses technologies, natives ou sous VM, notamment Java (et HTML) architecture interne du noyau modulaire, paramétrable très finement énorme support matériel portabilité : ~75 architectures, 32 bits, MMU ou non TCP/IP (serveurs!), bluetooth, multimédia,... : de base ordonnanceur de complexité O(1) puis O(log n), préemptible (à partir de 2.6) développement userfriendly (hôte ~ cible) 18

QU EST-CE QUE LINUX EMBARQUÉ? 19

NOYAU espace utilisateur noyau Linux Application Application Application... Appels système Bibliothèques systèmes de fichiers protocoles mémoire virtuelle processus modèle de périphériques, modules gestion réseau gestion mémoire gestion tâches (ordonnanceur) pilotes caractère pilotes bloc pilotes USB pilotes réseau interruptions IRQ matériel IRQ 20

Package Manager Surface Manager Open GL / ES Telephony Manager LIBRARIES Resource Manager Location Manager Notification Manager ORGANISATION LOGIQUE Core Media Framework FreeType SQLite WebKit ANDROID RUNTIME Libraries Dalvik Virtual Machine SGL Display Driver libc DU SYSTÈME Les distributions GNU/LINUX Linux SSL Camera Driver LINUX KERNEL Flash Memory Driver Binder (IPC) Driver Keypad Driver WiFi Driver Audio Drivers Power Management Système Linux embarqué «standard» fichiers de configuration scripts shells Network Services Connection Management IP Autoconfig Control Services CAN libpv Internet Services Webkit Visual Services QT JSON-D-Bus Bridge Media Services gstreamer Camera Codecs Middleware Layer shell libz libtls Applications libpng... bibliothèque C (lib C) Audio modules Linux Settings Database gconf System Libraries glib, libudev... Message Bus D-Bus System Layer noyau Linux Glibc - POSIX Driver Driver Driver Linux Kernel Driver Driver Driver OS Layer Vue d un système Linux embarqué industriel par Pengutronix (http://www.pengutronix.de/ development/web/index_en.html). Android LE.indb 38 21 08/11/11 16:48

LES DISTRIBUTIONS Qu est-ce? «Collection» de logiciels et de configuration selon une certaine organisation constitue le système («racine», «rootfs») base de la création du firmware Pourquoi? dépendances applications/bibliothèques, bibliothèques/bibliothèques, parfois applications/applications notion de «paquets» : application et/ou bibliothèques et (potentiellement) fichiers de configuration mise à jour = évolution du système mises à jour de sécurité! Construction du système (système de compilation / construction de paquets) Patches... Rapidement ingérable «à la main» 22

bootloader environnement bootloader ORGANISATION PHYSIQUE DU SYSTÈME SUR FLASH noyau système racine 0x0 système / (read only?) système étendu (read write?) 23

DEUX MODÈLES communautaire projets libres, animés par une communauté (amateurs éclairés et professionnels, parfois fondations ad-hoc) OpenEmbedded, Ångström, Buildroot, OpenWRT, etc. Linaro : à travers une fondation chapeautée par ARM Android (cas particulier : Google) ; Tizen (Linux Foundation), FirefoxOS (Mozilla Foundation) autres distrib Linux «classiques» réadaptées : emdebian, Ubuntu Core, etc. Attention : Distributions binaires commercial sur étagère (COTS), adaptable (service vendu) WindRiver, Sysgo, MontaVista, etc. articulations commercial s appuie quasiment toujours sur du libre communautaire relations commercial/communautaire (participation, intégration, etc.) groupements d industriels : OHA, Genivi, Babylone 24

DISTRIBUTIONS SOURCES VS BINAIRES Binaires rapide, tout est déjà compilé (croisé) idéal pour les POC mais manque de maîtrise top-down ajout de paquets seulement «à chaud» (lorsque le système fonctionne sur la cible) concerne : les distributions «classiques» réadaptées (Ubuntu, etc.) > 80 Mo, souvent ~250 Mo Sources lent à mettre en place, tout doit être compilé, après une phase de configuration pour la mise en production : maitrise totale de la génération bottom-up ajout des paquets «à froid» sur l image du firmware à intégrer (toujours possibilité de le faire «à chaud») Buildroot, OE-Core, OpenWRT, T2, OpenBricks à partir de 2 Mo Hybrides très bon compromis : distributions sources précompilées permet la rapidité du binaire et la flexibilité des sources point de départ du développement de sa propre configuration de distribution sources par exemple : Angström, OpenWRT de 2,5 Mo à 250 Mo 25

ENVIRONNEMENTS PRÊTS À L EMPLOI idée : simplifier la création d un système Linux embarqué télécharge les sources à jour, les compile (croisé) gère les problématiques de compatibilité, de licences, de création de firmware (limité), etc. le projet Linaro pour ARM : compilateur, débugger, compatibilité noyau (gestion de puissance), etc. Buildroot fichiers Makefile en arborescence rapide et efficace mais limité par la simplification peut coincer (implique alors de toute refaire sous OE) OpenEmbedded / OE-Core arborescence plus complexe assez long à mettre en place mais très puissant pérenne sur le long terme OpenWRT spécialisé pour les routeurs et appareils réseau utilise Buildroot-NG très grande quantité de paquets 26

ENVIRONNEMENTS PRÉINTÉGRÉS/GRAPHIQUES But : base déjà existante, rajouter seulement sa valeur ajoutée Ångström : distribution complète, modulable par génération en ligne (Narcissus), très utilisée pour les POC Android : le grand gagnant, mais environnement complet tout Java (sur noyau Linux) incompatible avec une distribution Linux «standard», liant pour l avenir (apparition cependant de systèmes hybrides) MeeGo : base Linux standard, écosystème cohérent, porté par de grands industriels avant d être abandonné brutalement au profit de Tizen, rebooté dans un nouveau projet (Mer) Tizen : peu de recul encore, v2.0 alpha vient de sortir ; utilise HTML5 et EFL Gnome Mobile (Maemo, OpenMoko, Sugar) : solutions plus ou moins mourantes GPE/OPIE (handelds) : anciennes solutions abandonnées mais toujours utilisées sur de petits projets Yocto (/Poky) : géré par la Linux Foundation, OE-Core Qt for embedded & QML : bibliothèque graphique, très dynamique, mais pas vraiment un environnement 27

QUESTIONS? Gilles BLANC LINACS http://linacs-consulting.com gilles.blanc@linacs-consulting.com +33 (0)6 70 33 00 03 28