Mise à jour : 12-Jui-2018

| Présentation et documents | Livres | Portails et magazines | Porter Linux | Hardware | Outils |
Linux embarqué commercial : | Montavista | LinuxWorks |
Linux embarqué libre : | µClinux | µClinux/68K | µClinux/ColdFire | µClinux/NIOS II | µClinux/H8S | µClinux/Blackfin | Linux/NIOS II | Linux/Microblaze | Linux/x86 | Linux/68K | Linux/PowerPC | Linux/ARM | Linux/Alpha | Linux/IA-64 | Linux/MIPS | Linux/SPARC |
Cette page contient des informations spécifiques à Linux embarqué et au problème du portage de Linux sur une carte électronique. C'est le complément de la page générale consacrée aux systèmes embarqués.
Vous trouverez ici un certain nombre d'informations sur ce sujet :
Voici une liste de livres traitant de Linux embarqué que j'ai lus et dont voici ma revue. La plupart sont en anglais. Ces livres sont disponibles à la bibliothèque de l'ENSEIRB-MATMECA pour les étudiants de l'école.
TOP 5 :
Codification :
Linux embarqué. Mise en place et développement. P.
Ficheux. Editions Eyrolles. 2017. Cette 5ème édition a
été complètement revue et réécrite. Et
c'est une réussite ! Le livre ne fait plus que 220 pages, plus compact
et plus ciblé. Il se compose d'une présentation sur les systèmes
embarqués et sur Linux et le logiciel libre. Une partie donne des
informations sur l'environnement de développement sous Linux embarqué.
Puis 4 points : construire sa distribution à la main (partie réécrite
en mieux), Buildroot, Yocto et u-boot. Concernant u-boot, c'est dommage
de n'avoir pas continué avec la carte Rapsberry Pi. Enfin une dernière
partie sur la conception d'un objet connecté à l'aide d'une
carte Raspberry Pi Zero. LA BIBLE. A ACHETER ABSOLUMENT !
**** 19/01/16 Linux
embarqué. Comprendre, développer, réussir. G. Blanc.
Editions Pearson. 2011. Un livre général sur Linux embarqué
composé de 4 parties. Les deux premières sont assez générales
sur le Libre et l'embarqué, Linux, les distributions, les licences
ainsi que sur la façon de penser son projet Linux embarqué.
Les deux dernières parties sont plus techniques sur le noyyau Linux
et les modules, l'organisation, le cross développement et sa mise
en oeuvre mais aussi sur le debug, u-boot et bien plus ! Un livre très
didactique où l'on sent l'expérience de l'auteur mais qui
risque de noyer le néophyte devant tant d'informations...
*** 07/02/12 Smart
Home Automation with Linux. S. Goodwin. Editions Apress. 2010. Un livre
sur la mise en oeuvre de Linux dans le contexte domotique. Une présentation
de X10, C-Bus, Ethernet et IR est réalisée. Différentes
plateformes embarquées sont passées en revue (comme arduino,
NSLU2...). Après l'auteur parle aussi de systèmes multimédia
comme les NAS, de communications (emails, SMS...) de sources publiques de
données (météo...) et d'intégration ! On s'éloigne
au fur et à mesure de la domotique, dommage. Le projet heyu est aussi
abordé. Un livre un peu trop fourre tout !
***** 04/11/11 Embedded
Linux Primer. A Practical Real-World Approach. C. Hallinan. Editions Prentice
Hall. 2ème édition. 2011. Deuxième édition encore
plus complète ! Un livre sur Linux embarqué qui reprend les
mêmes thèmes que ses prédécesseurs : introduction,
première expérience Linux embarqué, les processeurs pour
Linux embarqué, le noyau Linux, l'initialisation du noyau, le processus
d'initialisation du système, les bootlooaders, les drivers, les systèmes
de fichiers, busybox, l'environnement de développement croisé,
les outils de développement, les outils de debug, le portage de Linux,
le Temps Réel. Des exemples pris sur la mise en application d'une carte
PowerQUICC 8548E. Ce livre contient néanmoins une contribution très
originale sur certains aspects non traités par d'autres : le processus
de boot du noyau à travers les fichiers sources, un exemple de portage
du noyau Linux sur une carte cible en montrant quels fichiers sources sont
à modifier, les techniques de debug du noyau Linux via kgdb et les
techniques de debug des applications Linux embarqué. C'est vraiment
l'originalité de ce livre, ce qui en fait au final un excellent livre
à posséder !
***** 12/02/09 Design
our own embedded Linux Control Centre on a PC. H. H. Skovgaard. Editions Elektor.
2008. Dans un contexte domotique, ce livre présente comment construire
un système Linux embarqué à l'aide d'un vieux PC de récupération.
La distribution choisie est DSL (Damn Small Linux). L'auteur y rajoute un
serveur web, une base de données et un moteur PHP. Grâce à
un module électronique fait maison connecté sur le port parallèle
du PC et avec une webcam, l'auteur montre pas à pas comment construire
son système domotique contrôlé à distance par le
web. Ce livre est très bien fait et facile d'accès. Des annexes
abondantes fournissent tous les schémas électroniques et les
sources logiciels pour refaire le système. Bravo !
***** 20/04/07 Embedded
Linux Primer. A Practical Real-World Approach. C. Hallinan. Editions Prentice
Hall. 2007. Un livre sur Linux embarqué qui reprend les mêmes
thèmes que ses prédécesseurs : introduction, première
expérience Linux embarqué, les processeurs pour Linux embarqué,
le noyau Linux, l'initialisation du noyau, le processus d'initialisation du
système, les bootlooaders, les drivers, les systèmes de fichiers,
busybox, l'environnement de développement croisé, les outils
de développement, les outils de debug, le portage de Linux, le Temps
Réel. Ce livre contient néanmoins une contribution très
originale sur certains aspects non traités par d'autres : le processus
de boot du noyau à travers les fichiers sources, un exemple de portage
du noyau Linux sur une carte cible en montrant quels fichiers sources sont
à modifier, les techniques de debug du noyau Linux via kgdb et les
techniques de debug des applications Linux embarqué. C'est vraiment
l'originalité de ce livre, ce qui en fait au final un excellent livre
à posséder !
23/08/06 Embedded Linux System Design and Development. P. Raghavan,
A. Lad, S. Neelakandan. Editions Auerbach Publications. 2006. Vraiment un
livre exceptionnel sur Linux embarqué qui traite d'un domaine peu publié
: le portage de Linux. Après une introduction sur Linux embarqué
et sur l'architecture de Linux, un exemple de portage de Linux embarqué
sur une carte MIPS est décrit en détail. Un excellent chapitre
sur la mémoire FLASH, MTD et JFFS2 est proposé. Un chapitre
décrit l'écriture de drivers sur la carte MPIS : Ethernet, I2C,
USB, timers... Un chapitre est consacré au portage d''applications
sous Linux embarqué. Le temps réel sous Linux est aussi traité
ainsi que l'API POSIX et ses IPC. Le debugging est passé en revue ainsi
que le profiling. Les environnements graphiques pour Linux embarqué
sont décrits dans un chapitre. Enfin, µClinux est très
bien présenté. Il est à noter qu'en appendice, il est
décrit comment réduire le temps de boot du noyau Linux. Ce livre
est une perle et bien écrit. A s'acheter absolument !
* 01/07/06 Linux Robotics.
D. Newman. Editions Mac Graw Hill. 2006. C'est un livre qui est sensé
montrer l'usage de Linux dans la robotique. En fait, il en est rien ! L'auteur
parle de matériel, de fer à souder, de composants électroniques,
de programmation mais point de Linux hormis le citer en introduction. Les
programmes sont écrits en Java. Sur 290 pages, il n'y a que 150 pages
réelles, le reste étant du code source Java. Rien de très
linuxien là-dedans ! A fuire !
***** Building Embedded
Linux Systems. K. Yaghmour (créateur du projet ADEOS).Editions O' Reilly.
2003. Là aussi, tout sur Linux embarqué. Un chapitre exceptionnel
sur la mise en place d'un environnement de compilation croisé tant
au niveau de la configuration du compilateur gcc mais aussi de l'organisation
d'un projet Linux embarqué. Un très bon chapitre sur les systèmes
de fichiers (MTD, JFFS2, CRAMFS...) et sur les bootloaders et notamment U-Boot
! Une très bonne vue du processus de création d'un système
Linux embarqué. Complète a merveille le livre de Pierre.A ACHETER
ABSOLUMENT ! Le site
du livre. On pourra notamment télécharger une fiche
d'identification d'un système Linux embarqué. Les annexes
du livre
* 16/12/03 Practical Linux
Programming.A. Khan. Editions Charles River Media. 2002. Un livre qui se veut
très général sur le développement sous Linux et
Linux embarqué. Un mélange de genres : de SQL à la programmation
socket en passant par les CGI. Trop superficiel. A éviter. Revue
de presse de Linux Journal
*** 10/10/03
Linux for Embedded and Real-time Applications. D. Abbott. Editions Newnes.
2003. Un livre moyen sur Linux embarqué. La première partie
définit et explique en quoi consiste Linux embarqué. Un chapitre
d'introduction sur le Temps Réel est proposé qui est ni plus
ni moins celui écrit par Jean Labrosse sur µC/OS II ! Néanmoins,
une bonne présentation du Temps Réel sous Linux et un chapitre
de mise en oeuvre de RTAI sont proposés. On pourra apprécier
en annexe la description de l'API RTAI et de l'API threads POSIX. Sur le CDROM
fourni, on trouvera une version électronique du livre
**** Embedded Linux.
J. Lombardo. Editions New Riders. 2001. Présentation de Linux embarqué.
Etude et construction d'un Linux embarqué à la main, avec PeeWeeLinux,
BlueCat. Présentation de ELW
(Embedded Linux Workshop). Mise en oeuvre d'une mémoire DOC avec ELW.
La revue
du livre par linuxdevices.com
** 12/05/06 Open-Source
Robotics and Process control Cookbook. L. Edwards. Editions Newnes. 2005.
Un livre à mi-chemin entre les systèmes embarqués et
Linux. Une présentation sur les microcontrôleurs (Atmel AVR)
est donnée ainsi que la mise en oeuvre d'équipements électroniques
dans un contexte robotique. Un exemple concret de mise en oeuvre de Linux
embarqué sur une carte SBC x86 est ensuite décrit. Enfin, le
chiffrement est abordé. Un livre un peu fourre tout. Assez moyen

Quand on développe sa propre carte électronique SBC (Single Board Computer), on peut se demander s'il est possible de porter Linux dessus. Si sa carte est assez similaire à une carte déjà existante sur laquelle Linux a été portée, il y a de grandes chances que cela soit possible. Le portage est relativement simple et automatisé si l'on a choisi un processeur de la famille x86 avec des outils comme PeeWeeLinux et LFS. Les liens suivants expliquent comment réaliser un portage Linux, comment booter Linux... :

Quand on fait de l'embarqué, on a généralement des contraintes importantes :
On utilise alors des cartees électroniques faites maison ou des cartes industrielles autres qu'une carte mère standard de PC. On pourra s'orienter vers des matériels type cartes SBC pour embarquer Linux :
CARTES ARM :
CARTES X86 :
CARTES AUTRES :
REVENDEURS :

Ci-après une liste d'outils/packages dédiés à l'embarqué (faible empreinte mémoire...) :
BOOTLOADERS LINUX :
BIBLIOTHEQUES LIBC :
EDITEURS DE TEXTE :
SHELLS ET COMMANDES :
CONNECTIVITE IP :
AUTRES :
Des éditeurs de logiciels proposent des solutions professionnelles clé en main pour construire un Linux embarqué sur différentes cibles.
Linux embarqué sans MMU :
Une des premières version de Linux embarqué, le projet µClinux (Embedded Linux Microcontroller Project) est le plus intéressant des projets Linux embarqué car très ouvert. C'est une version Linux minimale où l'on a supprimé la partie MMU génant pour un système embarqué et encore plus s'il est Temps Réel. µClinux est activement porté sur différents microcontrôleurs : 68EZ328, ColdFire, ARM...
Vous trouverez ici un certain nombre d'informations sur µClinux :
µClinux sur Blackfin Analog Devices
![]()
Linux embarqué avec MMU :
RTAI (Real Time Application Interface) noyau Temps Réel dérivé de RTLinux où l'on a étoffé l'API (sémaphores...). RTAI est incompatible au niveau de l'API avec RTLinux V3 car dérivé de RLinux V1. Voici une liste de références sur le sujet :
