linux pour l’embarqué - membres du departement...

60
1 Linux pour l’embarqué Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Upload: vanthuan

Post on 31-Mar-2018

220 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

1

Linux pour l’embarqué

Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Page 2: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

2

Plan du cours

Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Qu’est-ce qu’un système embarqué ?

Les solutions embarquées « classiques »

Linux embarqué : une solution attrayante ?

Méthodologie de création d’un système Linux embarqué

Implantation d’un Linux embarqué sur une cible

Les offres Linux embarqué

Page 3: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

3Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Qu’est-ce qu’un système embarqué ?

- Définition

- Caractéristiques générales

- Domaines d’applications

- Exemples

Page 4: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

4Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Un système embarqué (embedded system) est un système ou un périphérique informatique qui assure une fonction dédiée et qui est généralement conçu pour être utilisé avec une application logicielle spécifique

- Synonyme : système enfoui

- Les systèmes embarqués sont en général utilisés dans un environnement matériel contraint

ex : Tableau de bord d’un véhicule géré par un programme embarqué

Qu’est-ce qu’un système embarqué ?

Définition

Page 5: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

5Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Un système embarqué doit être :

- spécifique

- fiable

- sécurisé

- optimisé

- modulaire

- adaptable

- configurable

- maintenable dans le temps

Qu’est-ce qu’un système embarqué ?

Caractéristiques générales

Page 6: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

6Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Produits de grande consommation

Qu’est-ce qu’un système embarqué ?

Domaines d’applications

- Electronique grand public

- Automobile

- Télécommunications

- Avionique, spatial

- Réseaux et périphériques informatiques

- Contrôle de processus industriels

- Systèmes médicaux

Page 7: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

7Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Fonctionnalités embarquées dans le téléphone portable :

Qu’est-ce qu’un système embarqué ?

Exemples (1)

Page 8: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

8Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Fonctionnalités embarquées dans l’automobile de demain :

Qu’est-ce qu’un système embarqué ?

Exemples (2)

Télémètre laser

Alternateur

Actionneur d’accélérateur

Badge hyperfréquence

Ecran

Caméra

Ecran de vision de nuit

Antenne

Récepteur GPS

Emetteur-récepteurinfrarouge

Batterie supplémentaire

Calculateur de navigation

Calculateur d’interfacehomme/machine

Calculateur de direction

Actionneur de direction

Calculateur de traitement d’images

Actionneur des freinsProjecteurs infrarouges

Page 9: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

9Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Empreinte mémoire en fonction du type d’application embarquée :

Qu’est-ce qu’un système embarqué ?

Empreinte mémoire des systèmes embarqués

0.1 à 0.50.5 à 22 à 88 à 3264 ou plusPlusieurs centaines

Plusieurs milliers

ROMEn Mo

Moins de 0.10.1 à 42 à 88 à 3216 à 6432 à 128128 ou +RAMEn Mo

Profondément enfoui

Emb. Typique

Emb. Moyen

Emb. Gros

PC emb.DesktopServeurProduit

« Linux embarqué » – Pierre Ficheux, Edt Eyrolles, 2000

Page 10: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

10Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les solutions embarquées « 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

Page 11: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

11Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Distribué par Microsoft

Les solutions embarquées « classiques »

Windows CE

- Performances (Pentium 200MHz) :

- Temps moyen de changement de contexte : 34.4 µs- Temps moyen de latence aux interruptions : 9.5 µs

- Caractéristiques :

- Variante du système d’exploitation Windows pour les systèmes embarqués

- cibles supportées : ARM, MIPS, PowerPC, SH, x86

- conforme à la définition d’un OS temps-réel (temps de latence aux interruptions déterministe)

Page 12: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

12Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Distribué par Accelerated Technology Inc.

Les solutions embarquées « classiques »

Nucleus

- Caractéristiques :

- Système d’exploitation temps-réel

- Gratuit et livré avec les sources

- Cibles supportées : 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

Page 13: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

13Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les solutions embarquées « classiques »

eCOS

- eCOS : embedded Configurable Operating System

- Système d’exploitation temps-réel conçu pour les applications embarquées

- Gratuit

- cibles supportées : ARM, CalmRISC, FR-V, H8, IA32, M68K, MatsushitaAM3x, 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

Page 14: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

14Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué, une solution attrayante ?

- La position des industriels vis-à-vis du marché

- Linux pour l’embarqué

- Positionnement de Linux sur le marché de l’embarqué

Page 15: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

15Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Position vis-à-vis des licences propriétaires

Snapshot of the Embedded Linux market

La position des industriels vis-à-vis du marché

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

en 2005en 2004en 2003

Page 16: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

16Module E4 : Systèmes temps-réel 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 développement ?

en 2005en 2004en 2003

Page 17: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

17Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Facteurs influant sur le choix d’un OS embarqué

La position des industriels vis-à-vis du marché

Snapshot of the Embedded Linux market - March, 2004

Page 18: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

18Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Facteurs influant sur le choix de Linux pour l’embarqué

La position des industriels vis-à-vis du marché

Page 19: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

19Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Quelques dates clés

Linux pour l’embarqué

- 1999 : Linux embarqué apparaît pour la 1ère fois officiellement à une exposition Linux World

- 2000 : création du consortium Linux embarqué (Embedded Linux Consortium) regroupant :

- des éditeurs de distributions Linux

- des éditeurs de systèmes temps-réel propriétaires

- des fabricants de composants

Page 20: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

20Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Description

Linux pour l’embarqué

- Linux embarqué est une adaptation du noyau Linux à un système embarqué

- Les fonctionnalités du noyau Linux embarqué sont adaptées aux capacités du système embarqué :

- Moins de mémoire requise

- Moins de services disponibles

- Boot depuis une mémoire ROM (FLASH)

- Pas de clavier ou de souris requis

- Une version de Linux embarqué peut être configurée « à la carte » pour fonctionner sur une plateforme donnée

Page 21: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

21Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points forts de Linux pour l’embarqué (1)

Linux pour l’embarqué

- Faible coût

- Fiabilité

- Performances

- Ouverture

- Portabilité

- Modularité

- Adaptabilité

- Configurabilité

Page 22: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

22Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points forts de Linux pour l’embarqué (2)

Linux pour l’embarqué

Page 23: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

23Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points faibles de Linux pour l’embarqué (1)

Linux pour l’embarqué

- Méconnaissance des licences

- Crédibilité de l’open-source

- Support technique

- Support temps-réel

- Outils de développement

Page 24: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

24Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points faibles de Linux pour l’embarqué (2)

Linux pour l’embarqué

Page 25: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

25Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Distribution des parts du marché

Positionnement de Linux sur le marché de l’embarqué

- Quel système avez-vous utilisé pour vos applications embarquées ces 2 dernières années ? Lequel utiliserez-vous ces 2 prochaines années ?

Snapshot of the Embedded Linux market - May, 2005

Page 26: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

26Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

La place croissante de Linux embarqué

- Utilisation (actuelle et envisagée) de Linux sur ces 5 dernières années :

Snapshot of the Embedded Linux market - May, 2005

Positionnement de Linux sur le marché de l’embarqué

Page 27: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

27Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

La progression de l’usage de Linux embarqué

- Croissance estimée du marché Linux embarqué :

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

Positionnement de Linux sur le marché de l’embarqué

Page 28: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

28Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

- Les distributions Linux classiques

- Les distributions Linux embarqué commerciales

- Les distributions Linux embarqué libres

- La répartition des distributions sur le marché

- Quelques exemples de produits utilisant Linux

Page 29: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

29Module E4 : Systèmes temps-réel 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 d’une version « édulcorée » d’une distribution classique pour del’embarqué haute disponibilité (taille RAM > 64Mo, taille ROM >150Mo)

Page 30: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

30Module E4 : Systèmes temps-réel 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)

Page 31: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

31Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage des distributions Linux commerciales

Les distributions Linux embarqué commerciales

Snapshot of the Embedded Linux market - May, 2005

Page 32: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

32Module E4 : Systèmes temps-réel 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

Page 33: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

33Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage des distributions Linux libres

Les distributions Linux embarqué libres

Snapshot of the Embedded Linux market - May, 2005

Page 34: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

34Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage de l’ensemble des distributions Linux

La répartition des distributions sur le marché

Snapshot of the Embedded Linux market - May, 2005

Page 35: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

35Module E4 : Systèmes temps-réel 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 multimédia sans fil

- iRiver PMC-120 -- un lecteur multimedia portable

- Linksys Wireless-G WRT54G -- Routeur sans fil-G à haut débit

Page 36: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

36Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Produits à base de Linux embarqué (2)

Quelques exemples de produits utilisant Linux

- Motorola E895 -- un téléphone mobile tri-bande GSM, GPRS et EDGE

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

- Tivo Series 2 -- un magnétoscope numérique

-TomTom GO -- un navigateur GPS pour automobile

Page 37: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

37Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué *

- Méthodologie générale

- Rappels sur la structure de Linux

- Construction du système de base

* d’après « Linux embarqué » – Pierre Ficheux, Editions Eyrolles, 2000

Page 38: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

38Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Généralités

Rappels sur la structure de Linux

- Un système Linux est composé de 3 parties :

- le noyau (kernel)

- la libc, bibliothèque principale pour les applications

- les applications (ou commandes)

- le bootstrap, programme (chargeur) de démarrage

- Le système Linux est chargé en mémoire grâce à un logiciel situé dans le MBR :

Page 39: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

39Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

La séquence de démarrage

Rappels sur la structure de Linux

- chargement du système par un chargeur de démarrage (ex: LILO, GRUB)

- chargement du noyau Linux

- lancement du programme d’initialisation /sbin/init

- exploration du fichier /etc/inittab contenant le chemin d’accès au script de démarrage final du système

- Elle est toujours la même :

Page 40: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

40Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Les répertoires principaux

Rappels sur la structure de Linux

- /bin : principales commandes utilisateur

- /boot : noyaux et chargeurs du système

- /dev : pseudo-fichiers des pilotes (devices)

- /etc : fichiers de configuration

- /lib : bibliothèques partagées et modules

- /mnt : points de montages

- /opt : applications externes

- /sbin : principales commandes système

- /tmp : fichiers temporaires

- /usr : hiérarchie secondaire

- /var : données variables

Page 41: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

41Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Différentes méthodes de construction

Méthodologie générale

- Distribution standard

- LFS : Linux From Scratch

- LFS sur la base d’une distribution standard

- Utilisation d’une distribution GNU/Linux du commerce

- Pb : espace disque conséquent (minimum 100Mo)

- Construction du système GNU/Linux en se basant

uniquement sur les sources des programmes

- Investissement important

- Construction du système en se basant sur les applications d’une

distribution standard

Page 42: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

42Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

LFS sur la base d’une distribution standard

Construction du système de base

- Etapes clés de construction à partir d’une distribution standard :

1) Assimiler le fonctionnement du système Linux

2) Extraire les éléments essentiels du système

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

Page 43: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

43Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Les différentes phases de construction

Construction du système de base

- Création des répertoires

- Création des nœuds sur /dev

- Remplissage de /bin et /sbin

- Création des bibliothèques sur /lib

- Remplissage du répertoire /etc

- Configuration du noyau

- Compilation du noyau

- Installation du noyau

Page 44: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

44Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des répertoires

Construction du système de base

- Création d’un certain nombre de répertoires indispensables :

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

/root /sbin /tmp /usr /var

- Création d’un certain nombre de répertoires utiles :

/usr/lib/kdb/keytables

/var/log /var/run

/etc/sysconfig

Page 45: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

45Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des nœuds sur /dev

Construction du système de base

- /dev : regroupe les points d’entrées (nœuds) vers le matériel :

- /dev/cdrom : accès au lecteur CD

- /dev/fd0 : accès au lecteur de disquettes

- /dev/hdaN : accès à la Nième partition du disque dur maître

- /dev/hdbN : accès à la Nième partition du disque dur esclave

- /dev/sda1 : accès au port USB

- /dev/mouse : accès à la souris

- /dev/console : accès à un terminal Linux

Page 46: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

46Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Remplissage de /bin et /sbin

Construction du système de base

- Copie des programmes indispensables au démarrage d’un système minimal :

/sbin/init

/sbin/update

/bin/mount

/bin/rm

/bin/sh

Page 47: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

47Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des bibliothèques sur /lib

Construction du système de base

- Création des bibliothèques partagées utilisées par les commandes précédentes

utilisation du script automatique mklibs.sh issu du projet DEBIAN

- crée un graphe des dépendances de l’arborescence des exécutables et des librairies

- crée une version des librairies débarrassée des modules inutiles

Page 48: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

48Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Remplissage du répertoire /etc

Construction du système de base

- La version minimale du répertoire /etc contient les fichiers suivants :

/etc/termcap

/etc/inittab

/etc/rc.d/rc.S

/etc/fstab

/etc/lilo.conf

Page 49: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

49Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (1)

Construction du système de base

# make xconfig

Page 50: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

50Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (2)

Construction du système de base

- Configuration générale :

Page 51: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

51Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (3)

Construction du système de base

- Choix du processeur cible :

Page 52: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

52Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (4)

Construction du système de base

- Choix des systèmes de fichiers supportés :

Page 53: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

53Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Compilation du noyau

Construction du système de base

- Construction des dépendances des fichiers :

- Compilation du noyau :

- Compilation des modules chargeables dynamiquement :

# make dep

# make bzImage

# make modules

Page 54: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

54Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Installation du noyau

Construction du système de base

- Installation des modules chargeables dynamiquement :

- Installation du noyau dans le répertoire /boot :

# make modules_install

- copie du noyau compressé bzImage

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

Page 55: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

55Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

- Transfert du Linux embarqué sur la cible

- Configuration du chargeur de démarrage LILO

- Création d’une disquette de démarrage

- Implantation finale sur le système cible

Page 56: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

56Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Configuration de LILO (LInux LOader)

Configuration du chargeur de démarrage LILO

- 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 s’effectue par l’appel de commande /sbin/lilo

Page 57: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

57Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Transfert du système sur la cible

Transfert du Linux embarqué sur la cible

- Copie de l’arborescence créée sur le système hôte, vers le système embarqué :

# cp –Rdp source destination

Gestion correcte des fichiers

spéciaux (/dev)

Préservation des liens symboliques

Conservation des caractéristiques des fichiers

originaux

Page 58: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

58Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Création d’une disquette bootable

Création d’une disquette de démarrage

- Copie de l’image du noyau sur la disquette :

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

- Spécification de l’emplacement du système de fichier principal sur le système embarqué :

# rdev /dev/fd0 /dev/hda3

# rdev –R /dev/fd0 1

- Montage du système de fichier principal en lecture seule :

Page 59: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

59Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Implantation d’un système cible bootable

Implantation finale sur le système cible

- Ecriture de la configuration dans le secteur de démarrage du système cible :

# lilo

- La création et l’implantation du système Linux embarqué sont terminées !

Page 60: Linux pour l’embarqué - Membres du Departement …pagesperso.lina.univ-nantes.fr/info/perso/permanents/... ·  · 2009-07-16 ... ÊRappels sur la structure de Linux - Un système

60Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Références

- Portail communautaire général : 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