Introduction au Noyau Linux Embarqué
Introduction au Noyau Linux Embarqué
1
14/10/2018
En 1984, Richard Matthew Stallman, chercheur en informatique du MIT quitte son L'expression « Logiciel Libre » fait référence à la liberté et non pas au prix. Pour comprendre
poste et se consacre à l’écriture d’un système d’exploitation Libre du nom de GNU . le concept, vous devez penser à la « liberté d'expression », pas à « l'entrée libre ».
Il annonce l’année suivante la création de la FSF (Free Software Foundation) afin de L'expression « Logiciel Libre » fait référence à la liberté pour les utilisateurs
supporter ce projet. d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus
C'est durant ces années qu'il écrit ce qui deviendra les préceptes du Logiciel Libre. précisément, elle fait référence à quatre types de liberté pour l'utilisateur du logiciel :
La concrétisation en est la publication en 1989 de la première version de la licence Liberté 0: La liberté d'exécuter le programme, pour tous les usages.
GPL (General Public License) qui sera alors le fondement éthique, juridique et politique Liberté 1: La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos
du mouvement du Libre.
besoins. Pour ceci l'accès au code source est une condition requise.
GNU stands for “GNU is Not UNIX.” Recursive acronyms are popular in Liberté 2:La liberté de redistribuer des copies, donc d'aider votre voisin.
the hacker culture. GNU is pronounced as /g*noo/; the G is not silent. Liberté 3: La liberté d'améliorer le programme et de publier vos améliorations, pour en
faire profiter toute la communauté. Pour se faire, l'accès au code source est une condition
requise.
Un programme est un Logiciel Libre si les utilisateurs ont toutes ces libertés .
Plus d’information sur le mouvement GNU sur le
site [Link] .
2
14/10/2018
Ainsi, vous êtes Libre de redistribuer des copies, avec ou sans modification, gratuitement ou non, «Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-
à tout le monde, partout. Être Libre de faire ceci signifie – entre autre – que vous n'avez pas à forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le
demander ou à payer pour en avoir la permission. Cela permet de garantir la Liberté – savoir ce noyau Linux.»
qu'il se passe sur votre ordinateur, pouvoir changer de système aisément par l'utilisation de Le projet GNU arrive en 1991 avec de très nombreux outils libres, mais il lui manque un élément
formats ouverts –, l'Égalité – avoir accès à un logiciel à un prix bas ou gratuitement–, et à la central : le noyau. Cet élément est essentiel car il gère la mémoire, le microprocesseur, les
Fraternité – avoir le droit de redistribuer légalement à ses amis, ses logiciels. périphériques comme le clavier, la souris, les disques durs. . .
Vous devez aussi avoir la liberté de faire des modifications et de les utiliser à titre personnel dans
votre travail ou vos loisirs, sans en mentionner l'existence. Si vous publiez vos modifications, vous C'est à cette époque qu'un étudiant finlandais, Linus Torvalds, commence à développer un
n'êtes pas obligé de prévenir quelqu'un de particulier ou de le faire d'une manière particulière. La noyau et demande aux personnes intéressées d'y contribuer. La licence GPL a été publiée à la
liberté d'utiliser un programme est la liberté pour tout type de personne ou d'organisation de même époque et Linus Torvalds s'est laissé persuader de placer son noyau sous cette dernière.
l'utiliser pour tout type de système informatique, pour tout type de tâche et sans être obligé de Le système d'exploitation actuellement connu est donc un assemblage des outils GNU
communiquer ultérieurement avec le développeur ou tout autre entité spécifique. fonctionnant sur un noyau Linux, on parle donc de GNU/Linux avec le slash, « / » pour « GNU
sur Linux ». Linus Torvald
Plus d’information sur le mouvement GNU sur le Plus d’information sur le mouvement GNU sur le
site [Link] . site [Link] .
En réalité, si on vous livrait le noyau Linux seul, accompagné des outils GNU de base, vous seriez
Définition bien avancé : pas d'interface graphique, juste quelques commandes, bref, votre système
GNU/Linux est un système d'exploitation complètement Libre et performant. Il est hautement
d'exploitation serait inexploitable, un comble, non ?
configurable. Il ne dépend pas d'une multinationale. Il est supporté par une grande communauté
C'est pour cela qu'existe des distributions Linux qui contiennent le noyau Linux, les outils GNU,
d'utilisateurs souvent prêts à vous aider. Quelque soit votre domaine de compétence, vous pouvez
plus un ensemble de logiciels qu'elles ont choisi de supporter. Ceux-ci sont testés et compilés pour
participer à l'amélioration de GNU/Linux pour que ce dernier évolue dans votre intérêt. Ce n'est
vous. La plupart d'entre elles contiennent un système d'installation de logiciel simplifié qui leur est
pas un simple logiciel gratuit, mais un Logiciel Libre. Ce qui garantit qu'il restera accessible et
– malheureusement – propre. Vous avez déjà dû voir qu'il existe de très nombreuses distributions
gratuit pour tous, sans discrimination.
: Mandriva, Red Hat Fedora, Debian, CentOS, Gentoo, OpenSuse, Ubuntu ...
Alors pourquoi autant de distributions ? En fait, chaque distribution a sa cible : certaines sont
orientées sur la facilité d'utilisation, d'autres sont pour les véritables applications, certaines sont
spécialisées pour l'utilisation dans le domaine scolaire ou musical, d'autres encore se veulent très
Linus Torvald légères et fonctionner sur des PC modestes. . . Vous voyez qu'il peut y avoir autant de
distributions que de cas d'utilisation !
Plus d’information sur le mouvement GNU sur le
site [Link] .
3
14/10/2018
PRÉSENTATION DE GNU/LINUX
Qu'est-ce que le mouvement GNU? INTRODUCTION A LINUX
Qu'est-ce qu'un logiciel libre ? FILIÈRE MECATRONIQUE AUTOMOBILE
INFORMATIQUE ENSA KENITRA
Linux, juste le noyau !
Qu'est ce qu'une distribution ? Presented by Pr A. BAJIT
À QUOI SERT UN SYSTÈME D'EXPLOITATION ?
SYSTÈME D'EXPLOITATION MULTIPLATEFORME?
II. Chapitre I. LINUX KERNEL NOYAU LINUX
Linux est multiplateforme.
Ce terme assez classique et veut tout simplement dire que Linux est disponible sur plusieurs types
de machines ou architecture de processeur. Ainsi, on va pouvoir trouver Linux sur une machine de AGENDA
type P.C. tel que vous connaissez et que vous utilisez certainement, mais aussi sur les Macintosh,
ou encore sur les super calculateurs.
Composants du noyau;
Voici les différentes architectures sur lesquels nous allons pouvoir installer notre Linux : Compilation d'un noyau;
I386 et x86_64 (notre P.C.)
POWERPC (Ancien Macintosh)
Mise à jour d'un noyau;
AMD64 Personnalisation, construction et
ARM
HPPA installation du noyau et de ses modules;
ALPHA
IA64
Gestion/interrogation du noyau et des
MIPS modules noyau en exécution.
MIPSEL
Et pour finir SPARC
Linux Kernel Configuration OBJECTIVES ARE COVERED IN THIS CHAPTER: ELEMENT I. DU MODULE INFORMATQUE EMBARQUEE
Kernel Components Structure générale des systèmes d’exploitation (Etude de cas Linux)
Compiling a kernel Mise en place d'un système Linux embarqué
Patching a kernel
Customize, build, and install a custom kernel and kernel modules ELEMENT II. SYSTEMES EMBARQUES
Manage/query kernel and kernel modules at runtime Plateforme de développement Embarquée
Développement d’applications pour systèmes embarqués
LPIC topic 1.103.6— Configuration du Noyau Linux LPIC topic 1.103.6— Modify process execution priorities 4. Personnalisation, construction et installation d'un noyau et des
Description Description modules noyau
• Composants du noyau; • Composants du noyau; – personnaliser et construire un noyau 2.6 pour des besoins
1. Composants du noyau
• Compilation d'un noyau; • Compilation d'un noyau; spécifiques du système, par la mise à jour, la compilation ou la
– identifier les versions d'un noyau stable ou en développement ;
• Mise à jour d'un noyau; • Mise à jour d'un noyau; modification des fichiers de configuration ;
– utiliser les composants du noyau qui sont nécessaires aux matériels
• Personnalisation, construction et installation du noyau et de ses modules; • Personnalisation, construction et installation du noyau et de ses modules; – construire et configurer les modules du noyau ;
spécifiques, pilotes, ressources et besoins du système ;
• Gestion/interrogation du noyau et des modules noyau en exécution. • Gestion/interrogation du noyau et des modules noyau en exécution. – créer une image d'initialisation système (initrd) et installer un
– identifier les différents types d'images du noyau.
nouveau noyau.
2.. Compilation du noyau
– personnaliser la configuration du noyau ;
– compiler un noyau Linux 2.6 en incluant ou désactivant des
composants spécifiques du noyau.
4
14/10/2018
5
14/10/2018
Maintenant que vous avez téléchargé et gravé votre distribution Linux sur un Linux est un système d'exploitation multi-utilisateurs.
cédérom, vous pouvez "booter" votre ordinateur sur le lecteur de cédérom. Définition : Multi-utilisateurs
En informatique, un système d'exploitation comme Unix ou Linux est conçu pour que plusieurs
utilisateurs puissent avoir accès au même ordinateur en même temps. Le système partage son temps
de travail en plusieurs processus n'ayant aucun lien entre eux, si ce n'est le même ordinateur.
Le terme opposé est mono-utilisateur qui est utilisé lorsque l'on parle de systèmes d'exploitation
utilisable par un seul utilisateur à la fois ou encore en référence à une licence de logiciel prévue pour un
utilisateur.
Linux is multiuser While many operating systems allow you to share resources to many people at
Multiuser does not always mean the same thing to different people. The real once or let more than one person log in at separate times, they are not true
meaning of a multiuser operating system is one that lets multiple people log multiuser systems. Examples of these are MS-DOS, Windows 9x, Windows NT
in and run processes on it at the same time. The OS distinguishes between (except Terminal Server), and MacOS. Many people think that Windows NT is
the different users to provide security and separation. Examples of multiuser multiuser, but it is not. Only one user can be interactively logged in to the local
operating systems are Linux, FreeBSD, SunOS, and many other UNIX-like system at any time. Terminal Server adds the ability to remotely log in to a
Détection du matériel en cours Lancement de l'interface graphique Lancement d’une session graphique. operating systems. console on the Windows NT server, but this is a separate product.
Linux est un système d'exploitation multi-utilisateurs. Vous aimez faire plusieurs choses en même temps sur votre ordinateur ? Par exemple, vous voulez
Définition : Multi-utilisateurs ouvrir : The Gimp pour modifier quelques photos, une fenêtre Jabber pour discuter avec vos amis, une
En informatique, un système d'exploitation comme Unix ou Linux est conçu pour que plusieurs fenêtre IRC pour discuter avec d'autres personnes, votre navigateur web, votre client email,
utilisateurs puissent avoir accès au même ordinateur en même temps. Le système partage son temps [Link] pour rédiger des documents. . . Ça commence vite à faire beaucoup, n'est ce pas ?
de travail en plusieurs processus n'ayant aucun lien entre eux, si ce n'est le même ordinateur. Alors, trions un peu les fenêtres, séparons-les par thème. . .
Le terme opposé est mono-utilisateur qui est utilisé lorsque l'on parle de systèmes d'exploitation Imaginez que vous ayez un bureau pour tout ce qui est internet, un autre pour la bureautique. Eh bien,
utilisable par un seul utilisateur à la fois ou encore en référence à une licence de logiciel prévue pour un c’est ce que vous permettent les bureaux virtuels.
utilisateur. Par défaut, sur la plupart des environnements , vous avez sur un de vos tableaux de bord un ensemble
de petits carrés ; cliquez sur chacun des ces carrés, qui représentent les bureaux, pour vous faire une
Linux is multitasking
idée.
Multitasking is commonplace on most modern operating systems. This allows
the system to run more than one job at the same time. Older operating Définition : Bureau virtuel
systems such as MS-DOS allowed only one application to run at a time. For Un bureau virtuel est un environnement graphique qui peut être démultiplié,
most server operating systems, this is not an option. afin de travailler à un seul type de tâche dans chaque bureau, au lieu d'avoir
While most current operating systems do multitask, they do not all multitask toutes les fenêtres réunies dans un seul. Par exemple, l'utilisateur choisira de
equally as well. Performance and stability sometimes suffer due to bad réserver un bureau aux tâches de retouches photographiques, un autre à
implementations or other requirements placed on the design. Fortunately, internet, un autre aux jeux, etc. Les fenêtres ne sont plus mélangées..
Linux has a very good multitasking system that is both stable and fast.
6
14/10/2018
La distribution Ubuntu que nous allons étudier ensemble, propose par défaut l'environnement graphique KDE se veut plus complet. L’application qui peut graver vos données est tout aussi capable de lire vos
"Gnome". Mais il existe un grand nombre d'autre gestionnaire de fenêtres. Les plus connus sont : vidéos et musiques ainsi que de redimensionner vos images. De plus, les applications sont beaucoup
Gnome se veut « simple d’utilisation », c’est à dire qu’une application fait une seule chose, mais la fait plus paramétrables par le biais des menus d’options, même si vous n’aurez certainement jamais à
bien. Les options paramétrables de chaque application restent limitées afin de ne pas noyer l'utilisateur toucher la plupart de celles-ci !
dans des réglages dont il n'aurait jamais à se soucier.
Vous pourrez également changer par la suite d’environnement graphique et en avoir plusieurs installés
simultanément. C'est la liberté de choix ! À l'écran déconnexion, vous pourrez choisir votre environnement
de bureau. Et tout cela repose, une fois encore, sur le serveur X – Xorg sur Ubuntu – qui se charge de
l'affichage. Au démarrage de votre interface graphique, Xorg démarre – et le curseur en forme de roue qui
tourne apparaît – en lisant la configuration qui se trouve dans le fichier texte brut /etc/X11/[Link], puis
GDM qui vous permet de choisir l'utilisateur et l'interface à utiliser. Vous pouvez alors choisir entre
plusieurs environnements, si vous les avez installés sur votre machine. Enfin, l'environnement de bureau
sélectionné se lance — Gnome, par exemple.
7
14/10/2018
8
14/10/2018
9
14/10/2018
10
14/10/2018
Notons qu’avec l’outil gconfig, une case cochée signifie que l'option sera intégrée au noyau, tandis qu'une ligne dans la case signifie
que l'option sera construite comme un module. Avec l’outil xconfig, une option intégrée comme un module est représentée par un
point dans une case.
11
14/10/2018
12
14/10/2018
13
14/10/2018
14
14/10/2018
15
14/10/2018
Pour que ces options soient prises en compte à chaque démarrage du système, on doit les ajouter dans les fichiers de configurations
/etc/[Link] ou /boot/grub/[Link], selon le chargeur de démarrage utilisé.
Pour indiquer à LILO de charger le noyau spécifié par l'étiquette « linux », d’utiliser la partition racine /dev/sda1 et de détecter deux cartes
Ethernet, on utilise la commande LILO suivante:
LILO: linux root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1
INTRODUCTION A LINUX
FILIÈRE MECATRONIQUE AUTOMOBILE
INFORMATIQUE ENSA KENITRA
Presented by Pr A. BAJIT
FIN
I. PRÉSENTATION DU SYSTEM GNU/LINUX
II. DÉCOUVERTE DU SYSTÈME D'EXPLOITATION
GNU/LINUX
III. CONFIGURATION DU SYSTEME GNU/LINUX
QUESTIONS
16