Вы находитесь на странице: 1из 60

1

Linux pour lembarqu


Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
2
Plan du cours
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?
Les solutions embarques classiques
Linux embarqu : une solution attrayante ?
Mthodologie de cration dun systme Linux embarqu
Implantation dun Linux embarqu sur une cible
Les offres Linux embarqu
3
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Quest-ce quun systme embarqu ?
- Dfinition
- Caractristiques gnrales
- Domaines dapplications
- Exemples
4
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- 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
- Les systmes embarqus sont en gnral utiliss dans un environnement
matriel contraint
ex : Tableau de bord dun vhicule
gr par un programme embarqu
Quest-ce quun systme embarqu ?
Dfinition
5
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Un systme embarqu doit tre :
- spcifique
- fiable
- scuris
- optimis
- modulaire
- adaptable
- configurable
- maintenable dans le temps
Quest-ce quun systme embarqu ?
Caractristiques gnrales
6
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Produits de grande consommation
Quest-ce quun systme embarqu ?
Domaines dapplications
- Electronique grand public
- Automobile
- Tlcommunications
- Avionique, spatial
- Rseaux et priphriques informatiques
- Contrle de processus industriels
- Systmes mdicaux
7
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Fonctionnalits embarques dans le tlphone portable :
Quest-ce quun systme embarqu ?
Exemples (1)
8
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Fonctionnalits embarques dans lautomobile de demain :
Quest-ce quun systme embarqu ?
Exemples (2)
Tlmtre laser
Alternateur
Actionneur dacclrateur
Badge hyperfrquence
Ecran
Camra
Ecran de vision de nuit
Antenne
Rcepteur GPS
Emetteur-rcepteur
infrarouge
Batterie supplmentaire
Calculateur de navigation
Calculateur dinterface
homme/machine
Calculateur de direction
Actionneur de direction
Calculateur de traitement dimages
Actionneur des freins
Projecteurs infrarouges
9
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Empreinte mmoire en fonction du type dapplication embarque :
Quest-ce quun systme embarqu ?
Empreinte mmoire des systmes embarqus
0.1 0.5 0.5 2 2 8 8 32 64 ou plus Plusieurs
centaines
Plusieurs
milliers
ROM
En Mo
Moins de 0.1 0.1 4 2 8 8 32 16 64 32 128 128 ou + RAM
En Mo
Profondment
enfoui
Emb.
Typique
Emb.
Moyen
Emb.
Gros
PC emb. Desktop Serveur Produit
Linux embarqu Pierre Ficheux, Edt Eyrolles, 2000
10
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les solutions embarques classiques
- VxWorks
- Windows CE
- pSOS+
- QNX
- Nucleus
- C/OS II
- eCOS
http://www.windriver.com
http://www.qnx.com
http://www.ucos-ii.com
http://www.microsoft.com/windows/embedded
http://www.acceleratedtechnology.com
http://ecos.sourceware.org
http://www.windriver.com
11
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Distribu par Microsoft
Les solutions embarques classiques
Windows CE
- Performances (Pentium200MHz) :
- Temps moyen de changement de contexte : 34.4 s
- Temps moyen de latence aux interruptions : 9.5 s
- 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)
12
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
- Distribu par Accelerated Technology Inc.
Les solutions embarques classiques
Nucleus
- Caractristiques :
- Systme dexploitation temps-rel
- Gratuit et livr avec les sources
- Cibles supportes : 68k, x86, ARM, ColdFire, DSP, SH, MIPS, PowerPC,
SPARC, MicroBlaze, Xscale,
- Le noyau inclut :
- une couche TCP/IP
- une interface graphique
- un navigateur Web
- un serveur HTTP
13
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
- Gratuit
- cibles supportes : ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita
AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH
- 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
14
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
15
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Position vis--vis des licences propritaires
Snapshot of the Embedded Linux market
La position des industriels vis--vis du march
- Consentez-vous payer des royalties pour un OS embarqu ?
en 2005 en 2004 en 2003
16
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Position vis--vis des services offerts
Snapshot of the Embedded Linux market
La position des industriels vis--vis du march
- Consentez-vous payer pour un support/service de dveloppement ?
en 2005 en 2004 en 2003
17
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Facteurs influant sur le choix dun OS embarqu
La position des industriels vis--vis du march
Snapshot of the Embedded Linux market - March, 2004
18
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Facteurs influant sur le choix de Linux pour lembarqu
La position des industriels vis--vis du march
19
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Quelques dates cls
Linux pour lembarqu
- 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
20
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Description
Linux pour lembarqu
- 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
21
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Points forts de Linux pour lembarqu (1)
Linux pour lembarqu
- Faible cot
- Fiabilit
- Performances
- Ouverture
- Portabilit
- Modularit
- Adaptabilit
- Configurabilit
22
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Points forts de Linux pour lembarqu (2)
Linux pour lembarqu
23
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Points faibles de Linux pour lembarqu (1)
Linux pour lembarqu
- Mconnaissance des licences
- Crdibilit de lopen-source
- Support technique
- Support temps-rel
- Outils de dveloppement
24
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Points faibles de Linux pour lembarqu (2)
Linux pour lembarqu
25
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
Distribution des parts du march
Positionnement de Linux sur le march de lembarqu
- 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
26
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
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
Positionnement de Linux sur le march de lembarqu
27
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Linux embarqu : une solution attrayante ?
La progression de lusage de Linux embarqu
- Croissance estime du march Linux embarqu :
VDC (Venture Development Corporation) market research - August, 2004
Positionnement de Linux sur le march de lembarqu
28
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
29
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les distributions classiques
Les distributions Linux classiques
- 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
- Installation dune version dulcore dune distribution classique pour de
lembarqu haute disponibilit (taille RAM > 64Mo, taille ROM >150Mo)
30
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Les revendeurs commerciaux en Linux embarqu
Les distributions Linux embarqu commerciales
- 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)
31
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Rpartition de lusage des distributions Linux commerciales
Les distributions Linux embarqu commerciales
Snapshot of the Embedded Linux market - May, 2005
32
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
33
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Rpartition de lusage des distributions Linux libres
Les distributions Linux embarqu libres
Snapshot of the Embedded Linux market - May, 2005
34
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Rpartition de lusage de lensemble des distributions Linux
La rpartition des distributions sur le march
Snapshot of the Embedded Linux market - May, 2005
35
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Produits base de Linux embarqu (1)
Quelques exemples de produits utilisant Linux
- 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
36
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Les offres Linux embarqu
Produits base de Linux embarqu (2)
Quelques exemples de produits utilisant Linux
- Motorola E895 -- un tlphone mobile tri-bande GSM, GPRS et EDGE
- Nokia 770 Internet Tablet -- un PDA-tablet PC
- Tivo Series 2 -- un magntoscope numrique
-TomTom GO -- un navigateur GPS pour automobile
37
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu *
- Mthodologie gnrale
- Rappels sur la structure de Linux
- Construction du systme de base
* daprs Linux embarqu Pierre Ficheux, Editions Eyrolles, 2000
38
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Gnralits
Rappels sur la structure de Linux
- Un systme Linux est compos de 3 parties :
- le noyau (kernel)
- la libc, bibliothque principale pour les applications
- les applications (ou commandes)
- le bootstrap, programme (chargeur) de dmarrage
- Le systme Linux est charg en mmoire grce un logiciel situ dans le MBR :
39
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
La squence de dmarrage
Rappels sur la structure de Linux
- chargement du systme par un chargeur de dmarrage (ex: LILO, GRUB)
- chargement du noyau Linux
- lancement du programme dinitialisation / sbi n/ init
- exploration du fichier / et c/ inittab contenant le chemin daccs
au script de dmarrage final du systme
- Elle est toujours la mme :
40
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Les rpertoires principaux
Rappels sur la structure de Linux
- /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
41
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Diffrentes mthodes de construction
Mthodologie gnrale
- Distribution standard
- LFS : Linux From Scratch
- LFS sur la base dune distribution standard
- Utilisation dune distribution GNU/Linux du commerce
- Pb : espace disque consquent (minimum 100Mo)
- Construction du systme GNU/Linux en se basant
uniquement sur les sources des programmes
- Investissement important
- Construction du systme en se basant sur les applications dune
distribution standard
42
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
LFS sur la base dune distribution standard
Construction du systme de base
- 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
43
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Les diffrentes phases de construction
Construction du systme de base
- 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
44
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Cration des rpertoires
Construction du systme de base
- 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
45
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Cration des nuds sur /dev
Construction du systme de base
- /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
46
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Remplissage de /bin et /sbin
Construction du systme de base
- Copie des programmes indispensables au dmarrage dun systme minimal :
/ sbi n/ init
/ sbi n/ update
/ bi n/ mount
/ bi n/ rm
/ bi n/ sh
47
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Cration des bibliothques sur /lib
Construction du systme de base
- 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
48
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Remplissage du rpertoire /etc
Construction du systme de base
- La version minimale du rpertoire / et c contient les fichiers suivants :
/ et c/ termcap
/ et c/ inittab
/ et c/ rc.d/rc.S
/ et c/ fstab
/ et c/ lilo.conf
49
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Configuration du noyau (1)
Construction du systme de base
# make xconfig
50
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Configuration du noyau (2)
Construction du systme de base
- Configuration gnrale :
51
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Configuration du noyau (3)
Construction du systme de base
- Choix du processeur cible :
52
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Configuration du noyau (4)
Construction du systme de base
- Choix des systmes de fichiers supports :
53
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Compilation du noyau
Construction du systme de base
- Construction des dpendances des fichiers :
- Compilation du noyau :
- Compilation des modules chargeables dynamiquement :
# make dep
# make bzImage
# make modules
54
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Mthodologie de cration dun Linux embarqu
Installation du noyau
Construction du systme de base
- Installation des modules chargeables dynamiquement :
- Installation du noyau dans le rpertoire /boot :
# make modules_install
- copie du noyau compress bzImage
- copie du fichier System.map (listes des adresses internes du noyau)
55
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
- Transfert du Linux embarqu sur la cible
- Configuration du chargeur de dmarrage LILO
- Cration dune disquette de dmarrage
- Implantation finale sur le systme cible
56
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Configuration de LILO (LInux LOader)
Configuration du chargeur de dmarrage LILO
- LILO est configurable par un fichier unique / et c/ lilo.conf :
boot =/ dev/ hda
map=/ boot / map
i nst al l =/ boot / boot . b
pr ompt
t i meout =50
def aul t =monl i nuxembar que
image=/boot/bzImage
label=monlinuxembarque
read-only
root=/dev/hda2
- La validation de la configuration seffectue par lappel de commande / sbi n/ lilo
57
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Transfert du systme sur la cible
Transfert du Linux embarqu sur la cible
- Copie de larborescence cre sur le systme hte, vers le systme embarqu :
# cp Rdp source destination
Gestion correcte
des fichiers
spciaux (/ dev)
Prservation des
liens symboliques
Conservation des
caractristiques des fichiers
originaux
58
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Cration dune disquette bootable
Cration dune disquette de dmarrage
- 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
# rdev R /dev/fd0 1
- Montage du systme de fichier principal en lecture seule :
59
Module E4 : Systmes temps-rel Audrey Marchand 2005-2006
Implantation dun Linux embarqu sur une cible
Implantation dun systme cible bootable
Implantation finale sur le systme cible
- Ecriture de la configuration dans le secteur de dmarrage du systme cible :
# lilo
- La cration et limplantation du systme Linux embarqu sont termines !
60
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