Vous êtes sur la page 1sur 60

Linux pour lembarqu

1
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Plan du cours

Quest-ce quun systme embarqu ?

Les solutions embarques classiques

Linux embarqu : une solution attrayante ?

Les offres Linux embarqu

Mthodologie de cration dun systme Linux embarqu

Implantation dun Linux embarqu sur une cible

2
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

- Dfinition

- Caractristiques gnrales

- Domaines dapplications

- Exemples

3
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Dfinition

- Un systme embarqu (embedded system) est un systme ou un priphrique


informatique qui assure une fonction ddie et qui est gnralement conu pour
tre utilis avec une application logicielle spcifique

- Synonyme : systme enfoui

ex : Tableau de bord dun vhicule


gr par un programme embarqu

- Les systmes embarqus sont en gnral utiliss dans un environnement


matriel contraint

4
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Caractristiques gnrales

- Un systme embarqu doit tre :

- spcifique
- fiable
- scuris
- optimis
- modulaire
- adaptable
- configurable
- maintenable dans le temps

5
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Domaines dapplications

- Produits de grande consommation

- Electronique grand public

- Automobile

- Tlcommunications

- Contrle de processus industriels

- Avionique, spatial

- Systmes mdicaux

- Rseaux et priphriques informatiques

6
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Exemples (1)

- Fonctionnalits embarques dans le tlphone portable :

7
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Exemples (2)

- Fonctionnalits embarques dans lautomobile de demain :

Antenne
Rcepteur GPS
Ecran de vision de nuit
Camra Emetteur-rcepteur
infrarouge
Ecran

Badge hyperfrquence
Batterie supplmentaire
Actionneur dacclrateur

Alternateur Calculateur de navigation


Tlmtre laser
Calculateur dinterface
homme/machine
Calculateur de direction
Actionneur de direction

Calculateur de traitement dimages

Actionneur des freins


Projecteurs infrarouges

8
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?

Empreinte mmoire des systmes embarqus

- Empreinte mmoire en fonction du type dapplication embarque :

Produit Serveur Desktop PC emb. Emb. Emb. Emb. Profondment


Gros Moyen Typique enfoui

RAM 128 ou + 32 128 16 64 8 32 28 0.1 4 Moins de 0.1


En Mo

ROM Plusieurs Plusieurs 64 ou plus 8 32 28 0.5 2 0.1 0.5


En Mo milliers centaines

Linux embarqu Pierre Ficheux, Edt Eyrolles, 2000

9
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les solutions embarques classiques

- VxWorks http://www.windriver.com

- QNX http://www.qnx.com

- pSOS+ http://www.windriver.com

- C/OS II http://www.ucos-ii.com

- Windows CE http://www.microsoft.com/windows/embedded

- Nucleus http://www.acceleratedtechnology.com

- eCOS http://ecos.sourceware.org

10
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les solutions embarques classiques

Windows CE

- Distribu par Microsoft

- Caractristiques :
- Variante du systme dexploitation
Windows pour les systmes embarqus

- cibles supportes : ARM, MIPS, PowerPC,


SH, x86

- conforme la dfinition dun OS temps-rel


(temps de latence aux interruptions dterministe)

- Performances (Pentium 200MHz) :


- Temps moyen de changement de contexte : 34.4 s
- Temps moyen de latence aux interruptions : 9.5 s
11
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les solutions embarques classiques

Nucleus

- Distribu par Accelerated Technology Inc.

- Caractristiques :

- Systme dexploitation temps-rel


- Cibles supportes : 68k, x86, ARM, ColdFire, DSP, SH, MIPS, PowerPC,
SPARC, MicroBlaze, Xscale,
- Gratuit et livr avec les sources

- Le noyau inclut :
- une couche TCP/IP
- une interface graphique
- un navigateur Web
- un serveur HTTP
12
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les solutions embarques classiques

eCOS

- eCOS : embedded Configurable Operating System

- Systme dexploitation temps-rel conu pour les applications


embarques
- cibles supportes : ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita
AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH
- Gratuit

- Depuis mai 2002 : distribu sous la eCos Licence (GPL-compatible Free


Software License)
As a special exception, if other files instantiate templates or use macros or inline functions
from this file, or you compile this file and link it with other works to produce a work based on
this file, this file does not by itself cause the resulting work to be covered by the GNU
General Public License. However the source code for this file must still be made available
in accordance with section (3) of the GNU General Public License. This exception does not
invalidate any other reasons why a work based on this file might be covered by the GNU
General Public License

13
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu, une solution attrayante ?

- La position des industriels vis--vis du march

- Linux pour lembarqu

- Positionnement de Linux sur le march de lembarqu

14
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
La position des industriels vis--vis du march

Position vis--vis des licences propritaires

- Consentez-vous payer des royalties pour un OS embarqu ?

en 2003 en 2004 en 2005

Snapshot of the Embedded Linux market

15
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
La position des industriels vis--vis du march

Position vis--vis des services offerts

- Consentez-vous payer pour un support/service de dveloppement ?

en 2003 en 2004 en 2005

Snapshot of the Embedded Linux market

16
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
La position des industriels vis--vis du march

Facteurs influant sur le choix dun OS embarqu

Snapshot of the Embedded Linux market - March, 2004


17
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
La position des industriels vis--vis du march

Facteurs influant sur le choix de Linux pour lembarqu

18
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Quelques dates cls

- 1999 : Linux embarqu apparat pour la 1re


fois officiellement une exposition Linux World

- 2000 : cration du consortium Linux embarqu


(Embedded Linux Consortium) regroupant :

- des diteurs de distributions Linux

- des diteurs de systmes temps-rel propritaires

- des fabricants de composants

19
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Description

- Linux embarqu est une adaptation du noyau Linux un systme embarqu

- Les fonctionnalits du noyau Linux embarqu sont adaptes aux capacits du


systme embarqu :

- Moins de mmoire requise

- Moins de services disponibles

- Boot depuis une mmoire ROM (FLASH)

- Pas de clavier ou de souris requis

- Une version de Linux embarqu peut tre configure la carte pour


fonctionner sur une plateforme donne

20
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Points forts de Linux pour lembarqu (1)

- Fiabilit

- Faible cot

- Performances

- Adaptabilit

- Configurabilit

- Portabilit

- Ouverture

- Modularit

21
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Points forts de Linux pour lembarqu (2)

22
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Points faibles de Linux pour lembarqu (1)

- Crdibilit de lopen-source

- Mconnaissance des licences

- Support temps-rel

- Outils de dveloppement

- Support technique

23
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Linux pour lembarqu

Points faibles de Linux pour lembarqu (2)

24
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Positionnement de Linux sur le march de lembarqu

Distribution des parts du march

- Quel systme avez-vous utilis pour vos applications embarques ces


2 dernires annes ? Lequel utiliserez-vous ces 2 prochaines annes ?

Snapshot of the Embedded Linux market - May, 2005


25
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Positionnement de Linux sur le march de lembarqu

La place croissante de Linux embarqu

- Utilisation (actuelle et envisage) de Linux sur ces 5 dernires annes :

Snapshot of the Embedded Linux market - May, 2005


26
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Positionnement de Linux sur le march de lembarqu

La progression de lusage de Linux embarqu

- Croissance estime du march Linux embarqu :

VDC (Venture Development Corporation) market research - August, 2004


27
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu

- Les distributions Linux classiques

- Les distributions Linux embarqu commerciales

- Les distributions Linux embarqu libres

- La rpartition des distributions sur le march

- Quelques exemples de produits utilisant Linux

28
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions Linux classiques

Les distributions classiques

- Installation dune version dulcore dune distribution classique pour de


lembarqu haute disponibilit (taille RAM > 64Mo, taille ROM >150Mo)

- Debian http://www.debian.org

- RedHat http://www.fr.redhat.com

- Mandrake http://www.linux-mandrake.com

- SuSe http://www.suse.de/fr

- Slackware http://www.slackware.com
29
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions Linux embarqu commerciales

Les revendeurs commerciaux en Linux embarqu

- Montavista (Montavista Linux)

- Metrowerks (Creation Suite for Linux)

- LynuxWorks (BlueCat - BlueCat RT)

- RedHat (Embedded)

- FSMLabs (RTLinuxPro)

- TimeSys (Linux RT)

- Koan (Klinux)

- REDSonic (REDICE-Linux)

- VxWorks (Commercial Grade Linux)

30
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions Linux embarqu commerciales

Rpartition de lusage des distributions Linux commerciales

Snapshot of the Embedded Linux market - May, 2005


31
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions Linux embarqu libres

Les distributions Linux embarqu libres

- RTAI

- RTLinuxFree

- KURT

- OpenEmbedded

- Clinux

- Embedded Debian Project

- PeeWee Linux

- EtLinux

32
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions Linux embarqu libres

Rpartition de lusage des distributions Linux libres

Snapshot of the Embedded Linux market - May, 2005


33
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
La rpartition des distributions sur le march

Rpartition de lusage de lensemble des distributions Linux

Snapshot of the Embedded Linux market - May, 2005


34
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Quelques exemples de produits utilisant Linux

Produits base de Linux embarqu (1)

- Phatnoise PhatBox -- un autoradio avec disque dur

- D-Link MediaLounge DSM-320 -- un lecteur multimdia sans fil

- iRiver PMC-120 -- un lecteur multimedia portable

- Linksys Wireless-G WRT54G -- Routeur sans fil-G haut dbit

35
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Quelques exemples de produits utilisant Linux

Produits base de Linux embarqu (2)

- Nokia 770 Internet Tablet -- un PDA-tablet PC

- Motorola E895 -- un tlphone mobile tri-bande GSM, GPRS et EDGE

- Tivo Series 2 -- un magntoscope numrique

-TomTom GO -- un navigateur GPS pour automobile

36
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu *
* daprs Linux embarqu Pierre Ficheux, Editions Eyrolles, 2000

- Rappels sur la structure de Linux

- Mthodologie gnrale

- Construction du systme de base

37
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Rappels sur la structure de Linux

Gnralits

- Un systme Linux est compos de 3 parties :

- le noyau (kernel)

- la libc, bibliothque principale pour les applications

- les applications (ou commandes)

- Le systme Linux est charg en mmoire grce un logiciel situ dans le MBR :

- le bootstrap, programme (chargeur) de dmarrage

38
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Rappels sur la structure de Linux

La squence de dmarrage

- Elle est toujours la mme :

- chargement du systme par un chargeur de dmarrage (ex: LILO, GRUB)

- chargement du noyau Linux

- lancement du programme dinitialisation /sbin/init

- exploration du fichier /etc/inittab contenant le chemin daccs


au script de dmarrage final du systme

39
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Rappels sur la structure de Linux

Les rpertoires principaux

- /bin : principales commandes utilisateur


- /boot : noyaux et chargeurs du systme
- /dev : pseudo-fichiers des pilotes (devices)
- /etc : fichiers de configuration
- /lib : bibliothques partages et modules
- /mnt : points de montages
- /opt : applications externes
- /sbin : principales commandes systme
- /tmp : fichiers temporaires
- /usr : hirarchie secondaire
- /var : donnes variables
40
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Mthodologie gnrale

Diffrentes mthodes de construction

- Distribution standard
- Utilisation dune distribution GNU/Linux du commerce
- Pb : espace disque consquent (minimum 100Mo)

- LFS : Linux From Scratch


- Construction du systme GNU/Linux en se basant
uniquement sur les sources des programmes
- Investissement important

- LFS sur la base dune distribution standard


- Construction du systme en se basant sur les applications dune
distribution standard
41
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

LFS sur la base dune distribution standard

- Etapes cls de construction partir dune distribution standard :

1) Assimiler le fonctionnement du systme Linux

2) Extraire les lments essentiels du systme

3) Assemblage des composants pour la construction de la cible finale

42
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Les diffrentes phases de construction

- Cration des rpertoires

- Cration des nuds sur /dev

- Remplissage de /bin et /sbin

- Cration des bibliothques sur /lib

- Remplissage du rpertoire /etc

- Configuration du noyau

- Compilation du noyau

- Installation du noyau

43
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Cration des rpertoires

- Cration dun certain nombre de rpertoires indispensables :

/bin /boot /dev /etc /lib /proc


/root /sbin /tmp /usr /var

- Cration dun certain nombre de rpertoires utiles :

/usr/lib/kdb/keytables
/var/log /var/run
/etc/sysconfig

44
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Cration des nuds sur /dev

- /dev : regroupe les points dentres (nuds) vers le matriel :

- /dev/cdrom : accs au lecteur CD

- /dev/fd0 : accs au lecteur de disquettes

- /dev/hdaN : accs la Nime partition du disque dur matre

- /dev/hdbN : accs la Nime partition du disque dur esclave

- /dev/sda1 : accs au port USB

- /dev/mouse : accs la souris

- /dev/console : accs un terminal Linux

45
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Remplissage de /bin et /sbin

- Copie des programmes indispensables au dmarrage dun systme minimal :

/bin/mount

/bin/rm

/bin/sh

/sbin/init

/sbin/update

46
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Cration des bibliothques sur /lib

- Cration des bibliothques partages utilises par les commandes prcdentes

utilisation du script automatique mklibs.sh issu du projet DEBIAN

- cre un graphe des dpendances de larborescence des excutables et


des librairies

- cre une version des librairies dbarrasse des modules inutiles

47
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Remplissage du rpertoire /etc

- La version minimale du rpertoire /etc contient les fichiers suivants :

/etc/inittab

/etc/rc.d/rc.S

/etc/fstab

/etc/termcap

/etc/lilo.conf

48
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Configuration du noyau (1)

# make xconfig

49
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Configuration du noyau (2)

- Configuration gnrale :

50
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Configuration du noyau (3)

- Choix du processeur cible :

51
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Configuration du noyau (4)

- Choix des systmes de fichiers supports :

52
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Compilation du noyau

- Construction des dpendances des fichiers :

# make dep

- Compilation du noyau :

# make bzImage

- Compilation des modules chargeables dynamiquement :

# make modules

53
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Construction du systme de base

Installation du noyau

- Installation des modules chargeables dynamiquement :

# make modules_install

- Installation du noyau dans le rpertoire /boot :

- copie du noyau compress bzImage

- copie du fichier System.map (listes des adresses internes du noyau)

54
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible

- Configuration du chargeur de dmarrage LILO

- Transfert du Linux embarqu sur la cible

- Cration dune disquette de dmarrage

- Implantation finale sur le systme cible

55
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Configuration du chargeur de dmarrage LILO

Configuration de LILO (LInux LOader)

- LILO est configurable par un fichier unique /etc/lilo.conf :


boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=monlinuxembarque

image=/boot/bzImage
label=monlinuxembarque
read-only
root=/dev/hda2

- La validation de la configuration seffectue par lappel de commande /sbin/lilo


56
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Transfert du Linux embarqu sur la cible

Transfert du systme sur la cible

- Copie de larborescence cre sur le systme hte, vers le systme embarqu :

# cp Rdp source destination

Gestion correcte Prservation des Conservation des


des fichiers liens symboliques caractristiques des fichiers
spciaux (/dev) originaux

57
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Cration dune disquette de dmarrage

Cration dune disquette bootable

- Copie de limage du noyau sur la disquette :

# dd < /boot/bzImage > /dev/fd0

- Spcification de lemplacement du systme de fichier principal sur le


systme embarqu :

# rdev /dev/fd0 /dev/hda3

- Montage du systme de fichier principal en lecture seule :

# rdev R /dev/fd0 1

58
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Implantation finale sur le systme cible

Implantation dun systme cible bootable

- Ecriture de la configuration dans le secteur de dmarrage du systme cible :

# lilo

- La cration et limplantation du systme Linux embarqu sont termines !

59
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Rfrences

- Portail communautaire gnral : http://www.realtimelinux.org

- Portail Linux embarqu : http://www.linuxdevices.com

- Portail plus jeune : http://www.realtimelinuxfoundation.org

- RTAI : http://aero.polimi.it/projects/rtai

- Portail communautaire RTAI : http://www.rtai.org

- RTLinuxPro : http://www.fsmlabs.com

- Portail communautaire RTLinuxFree : http://www.rtlinuxfree.com

- Linux Trace Toolkit : http://opersys.com/LTT

- Logiciel Libre : http://www.openresources.com


60
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006