0% ont trouvé ce document utile (0 vote)
43 vues16 pages

Introduction au Noyau Linux Embarqué

Transféré par

KENZA BENYAHIA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues16 pages

Introduction au Noyau Linux Embarqué

Transféré par

KENZA BENYAHIA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

14/10/2018

ON BOARD COMPUTING SYSTEM: FILIÈRE INGÉNIEUR MECATRONIQUE AUTOMOBILE


UNIVERSITY SEASON 2018-2019 AGENDA
INTRODUCTION Introduction
INTRODUCTION A LINUX I. PRÉSENTATION DU DECRIPTIF DU I. PRÉSENTATION DU DECRIPTIF DU MODULE
FILIÈRE MECATRONIQUE AUTOMOBILE MODULE INFORMATIQUE EMBARQUEE INFORMATIQUE EMARQUEE
INFORMATIQUE ENSA KENITRA MÉTHODOLOGIE D’EMBARQUEMENT D’UN SYSTÈME
D’EXPLOITATION
Presented by Pr A. BAJIT Structure générale des systèmes d’exploitation (Cas Linux) ;
Mise en place d'un système Linux embarqué
SYSTEMES EMBARQUES

INTRODUCTION TO LINUX OPERATING SYSTEM Plateforme de développement Embarquée


Développement d’applications pour systèmes embarqués

II. CHAPITRE I. II. Chapitre I. NOYAU LINUX


Versions du Noyau
AGENDA Configuration du Noyau et Modification de ses Paramètres: Au
I. PRÉSENTATION DU SYSTEM GNU/LINUX cours et après démarrage du système
II. DÉCOUVERTE DU SYSTÈME D'EXPLOITATION Construction et Mise a jour d’un Noyau
GNU/LINUX Gestion des Modules du Noyau
III. DESCRIPTION DES OBJECTIFIS DES COURs & TPs LINUX
CONCLUSION III. SYSTÈME d’EXPOITATION III. Chapitre I. APPLICATION
QUESTIONS
Pr. Abderrahim BAJIT EMBARQUEE Etude de cas d’un système LINUX DEBIAN
Téléchargement du code source, configuration et Installation du noyau
Associate Professor Researcher in Automotive and Avionic Embedded Systems Personnalisation des paramètres du noyau
Professor Intelligent Sensor Networks, Embedded Computing and embeded IoT.
Department of Electrical –GESE- & Automotive Mechatronics Engineering –GMA- Gestion des Modules du Noyau
National School of Applied Sciences -ENSA- of Kénitra Morocco.
CONCLUSION Conclusion
Pr. ABDERRAHIM BAJIT 1 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 2 INTRODUCTIONTOLINUXOPERATINGSYSTEM

ON BOARD COMPUTING SYSTEM: FILIÈRE INGÉNIEUR MECATRONIQUE AUTOMOBILE


UNIVERSITY SEASON 2018-2019

DESCRIPTIF. ELEMENT I. MODULE


INFORMATIQUE EMBARQUEE
INFORMATIQUE EMBARQUEE
FILIÈRE MECATRONIQUE AUTOMOBILE
INFORMATIQUE ENSA KENITRA ELEMENT I. MÉTHODOLOGIE D’EMBARQUEMENT D’UN SYSTÈME
D’EXPLOITATION
Presented by Pr A. BAJIT  Structure générale des systèmes d’exploitation (Etude de cas Linux)
 Mise en place d'un système Linux embarqué

ELEMENT II. SYSTEMES EMBARQUES


I. PRÉSENTATION DU DESCRIPTIF  Plateforme de développement Embarquée
 Développement d’applications pour systèmes embarqués

AGENDA  Structure générale des systèmes d’exploitation (Etude de cas Linux) ;


 Etudier la structure interne du noyau LINUX (statique et modulaire) ;
 MÉTHODOLOGIE D’EMBARQUEMENT D’UN  Etudier les principales fonctionnalités et composantes du noyau LINUX ;
SYSTÈME D’EXPLOITATION  Montrer les différentes manières de manipulations des paramètres du noyau (installation à partir de code source, configuration au
cours démarrage à partir du chargeur de démarrage GRUB, manipulation dynamique à base du système de ses systèmes de fichiers
 Structure générale des systèmes d’exploitation virtuels procfs, sysfs et udev et enfin gestion de ses modules en cours de fonctionnement du système) ;
(Etude de cas Linux) ;
 Mise en place d'un système Linux embarqué  Mise en place d'un système Linux embarqué
 SYSTEMES EMBARQUES  Introduire la structure les systèmes d’exploitation embarqués et leurs domaines d'application ;
 Etudier la structure du système Linux embarqué (Cas RASPBIAN/CARBIAN ou équivalent) ;
 Plateforme de développement Embarquée  Etudier l’approche de construction modulaire d’une distribution Linux embarquée répondant aux Exigences du cahier des charges
 Développement d’applications pour systèmes d’une application.
 Introduction aux systèmes embarqués automobiles et son architecture AUTOSAR ; Etude cas de la mise en place d’un système
embarqués
embarqué AUTOMOBILE répondant aux critères et exigences de l’architecture AUTOSAR ainsi que celles des parties prenantes du
marché automobile, de fournisseurs et de manufacturiers OEM.

Pr. ABDERRAHIM BAJIT 3 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 4 INTRODUCTIONTOLINUXOPERATINGSYSTEM

1
14/10/2018

DESCRIPTIF. ELEMENT II. MODULE I. PRÉSENTATION DE


INFORMATIQUE EMBARQUEE
GNU/LINUX
ELEMENT I. MÉTHODOLOGIE D’EMBARQUEMENT D’UN SYSTÈME
D’EXPLOITATION
 Structure générale des systèmes d’exploitation (Etude de cas Linux) Qu'est-ce que le mouvement GNU ?
 Mise en place d'un système Linux embarqué Qu'est-ce qu'un logiciel libre ?
ELEMENT II. SYSTEMES EMBARQUES
Linux, juste le noyau !
 Plateforme de développement Embarquée Qu'est ce qu'une distribution ?
 Développement d’applications pour systèmes embarqués À quoi sert vraiment un système d'exploitation ?
 Structure générale des systèmes d’exploitation (Etude de cas Linux) ;
Un système d'exploitation multiplateforme?
 Introduction sur la structure des machines virtuelles JRE, de génération de BYTECODE à base de l’outil JAVAC et son exécution par
l’outil JAVA ;
 Plateforme JAVA ME : machines virtuelles (JVM, KVM, DVM et ART), normes et spécifications ;
 Configuration : CLDC et CDC (Connected « Limited »/ Device Configuration) ;
 Profiles MIDP ou MEEP : normes et spécifications ;
 Packages d’API optionnelles : bluetooth, services web, sécurité, user interface… ; Avant d'entrer dans le vif du sujet une présentation de Linux de la philosophie en général
 Téléchargement d’outils nécessaires et prise en main d’environnement de développement intégré IDE tel que NETBEANS, ECLIPSE peut sembler nécessaire. En effet, malgré la médiatisation grandissante du mouvement du
ou équivalent de modules électroniques embarqués tel que RSAPBERRY, GALLILEO, CARBERRY ou équivalent. Libre, de nombreuses personnes assimilent le Libre à la gratuité. Si vous pensez encore
que ces deux notions sont équivalentes, vous verrez qu’à la fin de ce chapitre, votre avis
 Développement d’applications pour systèmes embarqués aura changé et vous mesurerez plus précisément les différences entre Libre et
 Thème 1 : Connectivité, contrôle et gestion de base de données sécurisés d’un équipement embarqué à partir du web propriétaire, ainsi que les enjeux qui en découlent.
 Thème 2 : Echange de messagerie électronique
 Thème 3 : Système Embarqué des Accidents Routières SEAR (ON-ROAD ACCIDENT SYSTEM)
 Thème 4 : Interface Homme Machine dédié aux véhicules IHM.

Pr. ABDERRAHIM BAJIT 5 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 6 INTRODUCTIONTOLINUXOPERATINGSYSTEM

PRÉSENTATION DE GNU/LINUX PRÉSENTATION DE GNU/LINUX


QU'EST-CE QUE LE MOUVEMENT GNU ? Qu'est-ce que le mouvement gnu ?
Qu'est-ce qu'un logiciel libre ? QU'EST-CE QU'UN LOGICIEL LIBRE ?
Linux, juste le noyau ! Linux, juste le noyau !
Qu'est ce qu'une distribution ? Qu'est ce qu'une distribution ?
À quoi sert vraiment un système d'exploitation ? À quoi sert vraiment un système d'exploitation ?
Un système d'exploitation multiplateforme? Un système d'exploitation multiplateforme?

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] .

Pr. ABDERRAHIM BAJIT 7 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 8 INTRODUCTIONTOLINUXOPERATINGSYSTEM

2
14/10/2018

PRÉSENTATION DE GNU/LINUX PRÉSENTATION DE GNU/LINUX


Qu'est-ce que le mouvement GNU? Qu'est-ce que le mouvement GNU?
QU'EST-CE QU'UN LOGICIEL LIBRE ? Qu'est-ce qu'un logiciel libre ?
Linux, juste le noyau ! LINUX, JUSTE LE NOYAU !
Qu'est ce qu'une distribution ? Qu'est ce qu'une distribution ?
À quoi sert vraiment un système d'exploitation ? À quoi sert vraiment un système d'exploitation ?
Un système d'exploitation multiplateforme? Un système d'exploitation multiplateforme?

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] .

Pr. ABDERRAHIM BAJIT 9 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 10 INTRODUCTIONTOLINUXOPERATINGSYSTEM

PRÉSENTATION DE GNU/LINUX PRÉSENTATION DE GNU/LINUX


Qu'est-ce que le mouvement GNU? Qu'est-ce que le mouvement GNU?
Qu'est-ce qu'un logiciel libre ? Qu'est-ce qu'un logiciel libre ?
LINUX, JUSTE LE NOYAU ! Linux, juste le noyau !
Qu'est ce qu'une distribution ? QU'EST CE QU'UNE DISTRIBUTION ?
À quoi sert vraiment un système d'exploitation ? À quoi sert vraiment un système d'exploitation ?
Un système d'exploitation multiplateforme? Un système d'exploitation multiplateforme?

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] .

Pr. ABDERRAHIM BAJIT 11 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 12 INTRODUCTIONTOLINUXOPERATINGSYSTEM

3
14/10/2018

LINUX SYSTEM: FILIÈRE INGÉNIEUR INFORMATIQUE/MECATRONIQUE S7


UNIVERSITY SEASON 2018-2019

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

Pr. ABDERRAHIM BAJIT 13 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 14 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL Chapter I. LINUX KERNEL

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.

3.. Mise a jour du noyau


– appliquer les mises à jour du noyau Linux pour accueillir de nouveaux
périphériques ;
– désinstaller correctement des mises à jour.

Pr. ABDERRAHIM BAJIT 15 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 16 INTRODUCTIONTOLINUXOPERATINGSYSTEM

4
14/10/2018

Chapter I. LINUX KERNEL II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX
ELEMENT I. DU MODULE INFORMATQUE EMBARQUEE
 Structure générale des systèmes d’exploitation (Etude de cas Linux)
 Mise en place d'un système Linux embarqué Ou trouver votre distribution ?
Installation depuis un Live CD
ELEMENT II. SYSTEMES EMBARQUES
 Plateforme de développement Embarquée
Les sessions utilisateurs
 Développement d’applications pour systèmes embarqués Les Bureaux Virtuels
Présentation des gestionnaires de fenêtres
LPIC topic 1.103.6— Modify process execution priorities 5. Gestion/interrogation du noyau et des modules noyau en Exécution
Description gérer et interroger les modules du noyau 2.6.x ;
• Composants du noyau; – charger et décharger manuellement les modules du noyau.
• Compilation d'un noyau; Points importants – Fichiers de configuration de GRUB.
• Mise à jour d'un noyau; – Les cibles de la commande make pour le noyau 2.6.x.
• Personnalisation, construction et installation du noyau et de ses modules; – Les cibles de la commande make pour le noyau 2.6.x.
• Gestion/interrogation du noyau et des modules noyau en exécution. – Le fichier Makefile.
– Personnalisation de la configuration du noyau courant.
– Construction d'un nouveau noyau et des modules noyau appropriés.
– Installation d'un nouveau noyau et de tout module nécessaire.
- Localisation du chargeur de démarrage du nouveau noyau et des
fichiers associés.
– /usr/src/linux/
– Fichiers de configuration des modules.
– Utilisation des commandes de récupération des informations sur le
noyau et sur ses modules en cours d'exécution.
– Chargement et déchargement manuels des modules du noyau.
– Détermination des paramètres acceptés par le module.
Pr. ABDERRAHIM BAJIT 17 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 18 INTRODUCTIONTOLINUXOPERATINGSYSTEM

II. DÉCOUVERTE DU SYSTÈME II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX D'EXPLOITATION GNU/LINUX
OU TROUVER VOTRE DISTRIBUTION ? Ou trouver votre distribution ?
Installation depuis un Live CD INSTALLATION DEPUIS UN LIVE CD
Les sessions utilisateurs Les sessions utilisateurs
Les Bureaux Virtuels Les Bureaux Virtuels
Présentation des gestionnaires de fenêtres Présentation des gestionnaires de fenêtres
Les distributions préinstallées Maintenant que vous avez téléchargé et gravé votre distribution Linux sur un
Certains vendeurs équipent leurs ordinateurs directement avec l'OS GNU/Linux d'installé, on appelle ça cédérom, vous pouvez "booter" votre ordinateur sur le lecteur de cédérom.
des OEM (Original Equipment Manufacture)
Les distributions payantes en magasin
Certaines distributions de Linux peuvent être achetées en magasin:
 Mandriva, qui existe aussi en version gratuite et libre, mais qui propose des versions payantes
intégrant des pilotes propriétaires (nvidia, ati, wifi,..) et des codecs.
 Red Hat est comme Mandriva disponible en version payante ou gratuite et libre, cette dernière
s'intitulant Fedora Core
 Suse, qui a adopté la même méthode que les 2 autres: une version payante et une version gratuite
et libre: Open Suse
Par téléchargement
La plupart des distributions GNU/Linux sont disponibles en libre téléchargement (sauf les versions
payantes où il vous faudra évidemment mettre la main au portefeuille avant de pouvoir les télécharger
légalement) Vous trouverez le plus souvent les distributions téléchargeables sur leurs sites respectifs.
Avec de la documentation
Bien souvent, les magazines ayant pour thème Linux comportent des DVDs, comportant souvent des Écran de démarrage (en anglais !) Choisissez ici votre langue C'est mieux en français ?
distributions linux et des logiciels.
Pr. ABDERRAHIM BAJIT 19 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 20 INTRODUCTIONTOLINUXOPERATINGSYSTEM

5
14/10/2018

II. DÉCOUVERTE DU SYSTÈME II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX D'EXPLOITATION GNU/LINUX
Ou trouver votre distribution ? Ou trouver votre distribution ?
INSTALLATION DEPUIS UN LIVE CD Installation depuis un Live CD
Les sessions utilisateurs LES SESSIONS UTILISATEURS
Les Bureaux Virtuels Les Bureaux Virtuels
Présentation des gestionnaires de fenêtres Présentation des gestionnaires de fenêtres

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.

Pr. ABDERRAHIM BAJIT 21 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 22 INTRODUCTIONTOLINUXOPERATINGSYSTEM

II. DÉCOUVERTE DU SYSTÈME II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX D'EXPLOITATION GNU/LINUX
Ou trouver votre distribution ? Ou trouver votre distribution ?
Installation depuis un Live CD Installation depuis un Live CD
LES SESSIONS UTILISATEURS Les sessions utilisateurs
Les Bureaux Virtuels LES BUREAUX VIRTUELS
Présentation des gestionnaires de fenêtres Présentation des gestionnaires de fenêtres

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.

Pr. ABDERRAHIM BAJIT 23 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 24 INTRODUCTIONTOLINUXOPERATINGSYSTEM

6
14/10/2018

II. DÉCOUVERTE DU SYSTÈME II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX D'EXPLOITATION GNU/LINUX
Ou trouver votre distribution ? Ou trouver votre distribution ?
Installation depuis un Live CD Installation depuis un Live CD
Les sessions utilisateurs Les sessions utilisateurs
LES BUREAUX VIRTUELS LES BUREAUX VIRTUELS
Présentation des gestionnaires de fenêtres Présentation des gestionnaires de fenêtres

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.

Session Graphique GNOME Session Graphique GNOME


Pr. ABDERRAHIM BAJIT 25 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 26 INTRODUCTIONTOLINUXOPERATINGSYSTEM

II. DÉCOUVERTE DU SYSTÈME II. DÉCOUVERTE DU SYSTÈME


D'EXPLOITATION GNU/LINUX D'EXPLOITATION GNU/LINUX
Ou trouver votre distribution ? Ou trouver votre distribution ?
Installation depuis un Live CD Installation depuis un Live CD
Les sessions utilisateurs Les sessions utilisateurs
LES BUREAUX VIRTUELS Les bureaux virtuels
Présentation des gestionnaires de fenêtres PRÉSENTATION DES GESTIONNAIRES
DE FENÊTRES
Xfce, lui, se veut plus léger et peut tourner sur des configurations modestes comparées aux deux Et bien d'autre encore :
mastodontes précédents. FluxBox vise la même cible. WindowMaker, Enlightenment, BlackBox, Ion, FluxBox, AfterStep, IceWM, ...
Il existe des dizaines d'environnements de bureaux, et deux proposent même un environnement de
bureau complet – c'est à dire des applications spécifiquement à destination de cet environnement avec
une philosophie, des interactions et une présentation homogène – comme Gnome, interface par défaut
d'Ubuntu. Le choix de l'une ou l'autre des interfaces graphiques disponibles dépend uniquement de vos
goûts personnels. En effet, dès le système installé, vous pourrez utiliser les mêmes logiciels.

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.

Session Graphique GNOME


Pr. ABDERRAHIM BAJIT 27 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 28 INTRODUCTIONTOLINUXOPERATINGSYSTEM

7
14/10/2018

LINUX SYSTEM: FILIÈRE INGÉNIEUR INFORMATIQUE/MECATRONIQUE S7


UNIVERSITY SEASON 2018-2019

Chapter I. LINUX KERNEL CONFIGURATION


INTRODUCTION A LINUX LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
FILIÈRE MECATRONIQUE AUTOMOBILE
CHAPITRE:
INFORMATIQUE ENSA KENITRA  VERSION DU NOYAU
 Configuration du noyau
Presented by Pr A. BAJIT  Modification dynamique des paramètres du noyau
 Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage
CHAPITRE I. CONFIGURATION DU NOYAU LINUX
Modern operating systems are built up in layers, starting from the kernel — a piece of software that serves as a gatekeeper
between the hardware and other software, that doles out memory and CPU time, that manages filesystems and network access,
AGENDA and that otherwise performs critical low - level tasks. On a Linux computer, the kernel is known as Linux — technically, that word
applies only to the kernel. Everything else you might think of as being part of Linux, such as bash , the X Window System, or the
 VERSION DU NOYAU Samba fi le server, is in fact not technically part of Linux. Most such tools, including all three just mentioned, are available on many
 CONFIGURATION DU NOYAU other OSs, such as FreeBSD and Solaris.
 MODIFICATION DYNAMIQUE DES PARAMETRES DU Because the kernel handles low - level hardware and other critical tasks, its use and configuration are unusually important. This
NOYAU chapter covers these tasks, starting with obtaining and installing updated precompiled kernels. Linux ’ s open source nature
enables you to compile your own kernel from source code. This task is similar to compiling other programs ’ binaries, as described
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR in Chapter 1, “ System Startup and Advanced System Management ” ; however, the kernel is a complex enough piece of software,
DU NOYAU with enough options, that it deserves special consideration. This chapter concludes with a look at kernel modules — pieces of the
 MODULES DU NOYAU kernel that can be loaded and unloaded on a running system. Many Linux hardware drivers take the form of kernel modules.
Managing modules enables you to adjust how Linux treats your hardware and the availability of other kernel - level features,
 PASSAGE DE PARAMÈTRES AU NOYAU À PARTIR DU such as filesystems.
CHARGEUR DE DÉMARRAGE

Pr. ABDERRAHIM BAJIT 29 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 30 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 VERSION DU NOYAU  VERSION DU NOYAU
 Configuration du noyau  Configuration du noyau
 Modification dynamique des paramètres du noyau  Modification dynamique des paramètres du noyau
 Construction d’un nouveau noyau, mise a jour du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage

Pr. ABDERRAHIM BAJIT 31 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 32 INTRODUCTIONTOLINUXOPERATINGSYSTEM

8
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 VERSION DU NOYAU  VERSION DU NOYAU
 Configuration du noyau  Configuration du noyau
 Modification dynamique des paramètres du noyau  Modification dynamique des paramètres du noyau
 Construction d’un nouveau noyau, mise a jou du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
INTRODUCTION DU NOYAU LES VERSIONS DU NOYAU
Le premier noyau Linux a été créé en 1991 par Linus Torvalds. Il a évolué au cours de temps et évolue encore. Jusqu’à la version En 2004, après la publication de la version 2.6.0 du noyau Linux, les développeurs du noyau décident d'abandonner ce modèle de
2.6, les différentes versions du noyau Linux sont désignées par un numéro composé de trois séquences de chiffres délimitées par numérotation stable/développement. Ils estiment en effet que le noyau 2.6 est suffisamment mature et stable et que les
un point : nouvelles fonctionnalités, qui risqueraient de le déstabiliser, sont inutiles. Les numéros mineurs pairs ou impairs n’ont donc plus
 la première séquence est le numéro de la version majeure. Ce numéro a été modifié uniquement pour des changements de signification particulière. La série des noyaux 2.6 est prolongée et l'introduction de la série des noyaux 2.7 en développement
majeurs dans le code et le concept du noyau, en 1994 (version 1.0) et en 1996 (version 2.0) ; abandonnée. Le cycle de développement de chaque révision 2.6 est plus rapide, chaque version comportant une série de mini-
 la deuxième séquence est le numéro de la version mineure. Un nombre pair indique qu’il s’agit d’un noyau stable, un nombre développements.
impair qu’il s’agit d’un noyau en développement. Ainsi, les versions 2.2 et 2.4 sont des versions stables, les versions 2.3 et 2.5
Depuis lors, les numéros de versions sont composés de la façon suivante :
des versions en développement. Les versions stables sont destinées à être déployées dans des environnements de production. – les deux premiers numéros, « 2.6 », sont restés inchangés depuis 2003 ;
Elles sont livrées pour fournir des corrections ou des nouveaux pilotes de périphériques. Les versions en développement sont – le troisième numéro est la version courante du noyau ;
destinées aux tests de nouvelles fonctionnalités ;
– les développeurs du noyau ont ensuite introduit une quatrième séquence, le numéro de la version stable. Sa première
 la troisième séquence est le numéro de révision. Ce numéro est incrémenté chaque fois qu’une utilisation date de la version du noyau 2.6.8, quand une grave erreur, qui exigeait une correction immédiate, a été identifiée dans
nouvelle version du noyau est diffusée, que ce soit pour des correctifs de sécurité, des corrections de l'implémentation du protocole NFS. Comme il n’y avait pas assez de changements pour justifier la publication d'une nouvelle
bogues, l’ajout de nouvelles fonctionnalités ou de nouveaux pilotes. version du noyau (qui aurait été la 2.6.9), la version [Link] a été publiée, avec pour seul changement le correctif de cette erreur.
À partir de la version 2.6.11, cette quatrième séquence a été officiellement adoptée dans la nomenclature des versions du noyau
Linux pour indiquer que des corrections d’erreurs et des correctifs de sécurité ont été apportés à la version de base du noyau.
Le 29 mai 2011, Linus Torvalds annonça la version 3.0 du noyau, en l'honneur du 20e anniversaire de Linux. Cette version 3.0
n'est qu'une simple évolution de la 2.6.39.

Pr. ABDERRAHIM BAJIT 33 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 34 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 CONFIGURATION DU NOYAU  Configuration du noyau
 Modification dynamique des paramètres du noyau  MODIFICATION DYNAMIQUE DES PARAMÈTRES DU NOYAU
 Construction d’un nouveau noyau, mise a jou du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
MODIFICATION ET CONFIGURATION DU NOYAU LA MODIFICATION DYNAMIQUE DES PARAMÈTRES DU NOYAU
Le noyau Linux est diffusé avec une configuration générique conçue pour supporter n'importe quelle application sur n'importe quel Le noyau peut être ajusté dynamiquement à travers des paramètres du système. Ces paramètres sont accessibles et modifiables à
matériel. Cette configuration générique comprend de nombreux pilotes de périphériques, mais aussi des paramètres pour le partir des fichiers du répertoire /proc/sys.
noyau. On peut modifier ces paramètres afin d'adapter le noyau à des besoins spécifiques, augmenter les performances, renforcer EXEMPLE
la sécurité, ou encore la fiabilité du système. Pour modifier le nombre maximal de fichiers que le système peut ouvrir simultanément, on peut modifier le fichier /proc/sys/fs/file-
Dans certains cas, la modification du noyau est nécessaire afin d’ajouter de nouveaux pilotes de périphériques. Le code source du max de la façon suivante : # echo 32768 > /proc/sys/fs/file-max
pilote ajouté doit être intégré dans les structures de données du noyau. Ceci peut exiger la recompilation du noyau.
Il existe quatre méthodes pour intervenir sur la configuration d’un noyau Linux : FICHIER DESCRIPTION
/proc/sys/fs/file-max Indique le nombre maximal de fichiers que le noyau peut manipuler
– modification dynamique des paramètres de configuration du noyau ;
simultanément
– construction d'un noyau à partir de zéro (compilation du code source, avec éventuellement des modifications et des ajouts) ;
– chargement de modules dans un noyau existant, à la volée ; /proc/sys/kernel/ctrl-alt-del Contrôle la gestion de la séquence Ctrl-Alt-Supp du clavier. S'il contient
la valeur zéro, Ctrl-Alt-Supp est capturé et envoyé au programme init
– passage de paramètres en utilisant le chargeur de démarrage : LILO ou GRUB.
pour relancer le système correctement.
Ces méthodes sont applicables dans des situations différentes. La modification dynamique des paramètres est la plus facile et la /proc/sys/net/ipv4/icmp_echo_ignore_all Bloque les réponses au ping.
plus courante, tandis que la construction d'un noyau à partir des fichiers sources est la plus difficile et la moins souvent nécessaire. /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts Ignore les messages de diffusion ICMP (Internet Control Message Protocol)
/proc/sys/net/ipv4/ip_forward Active ou désactive le relayage (forwarding) entre les cartes réseaux.
Activer le relayage est nécessaire pour faire fonctionner le système comme
un routeur.
/proc/sys/kernel/hostname Permet de changer le nom de la machine.

Pr. ABDERRAHIM BAJIT 35 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 36 INTRODUCTIONTOLINUXOPERATINGSYSTEM

9
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du noyau  Configuration du noyau
 MODIFICATION DYNAMIQUE DES PARAMÈTRES DU NOYAU  Modification dynamique des parartres du Noya
 Construction d’un nouveau noyau, mise a jou du noyau  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
LA MODIFICATION DYNAMIQUE DES PARAMÈTRES DU CONSTRUCTION D'UN NOYAU LINUX
NOYAU On peut être amené à compiler et installer un nouveau noyau Linux pour intégrer des correctifs (patchs), des pilotes de périphériques
Puisque le système de fichiers /proc est virtuel et n'a d'existence ou de nouvelles fonctionnalités. Le code source et les correctifs des noyaux Linux sont disponibles sur le site [Link].
qu’au niveau de la mémoire centrale, la modification des fichiers qu’il On doit peser les besoins et les risques lors de la planification des améliorations et des correctifs du noyau. Bien sûr, la nouvelle version
contient est temporaire, et sera perdue lors du redémarrage du peut apporter des fonctionnalités attrayantes, mais est-elle aussi stable que la version courante ? Une bonne règle est de mettre à jour
système. le noyau ou d’appliquer les correctifs lorsque des gains en terme de productivité (souvent mesurés en terme de fiabilité et de
Pour mémoriser les paramètres à appliquer au démarrage du performance) dépassent l'effort et la perte de temps nécessaires pour effectuer ces mises à jour. Si on rencontre des difficultés à
système, on utilise le fichier /etc/[Link]. quantifier ce gain, c'est signe que le correctif peut attendre un autre jour.
Si le fichier /etc/[Link] contient la ligne : EXEMPLE
net.ipv4.ip_forward = 0 Dans l'exemple ci-dessous, le code source du noyau 2.6.35 a été téléchargé, à partir du lien [Link]/pub/linux/kernel/v2.6,
alors au démarrage du système le paramètre ip_forward aura pour sous forme d'une archive nommée tar.bz2. Le répertoire linux-[Link]/ est créé à l'issue de la décompression et de l'extraction de cet
valeur 0, donc le relayage ne sera pas activé. archive par la commande tar xjfv linux-[Link].tar.bz2. À l'intérieur de ce répertoire se trouve l'arborescence du code source du
noyau Linux 2.6.35.
En cours d’exécution, les paramètres du noyau peuvent aussi être $ tar xjfv linux-[Link].tar.bz2
modifiés par la commande sysctl : $ cd linux-[Link]/
# sysctl –w net.ipv4.ip_forward=1 $ ls
arch COPYING crypto drivers fs init Kbuild lib Makefile net REPORTING-BUGS scripts sound usr
Cette commande donne au paramètre ip_forward la valeur 1, ce qui a
pour effet d’activer le relayage. block CREDITS Documentation firmware include ipc kernel MAINTAINERS mm README samples security tools virt

Pr. ABDERRAHIM BAJIT 37 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 38 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 CONFIGURATION DU NOYAU  CONFIGURATION DU NOYAU
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 Construction d’un nouveau noyau, mise a jou du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
CONFIGURATION DU NOYAU LINUX CONFIGURATION DU NOYAU LINUX
Les informations sur la configuration du noyau sont stockées dans le fichier .config situé à la racine du répertoire source du noyau. make oldconfig
Il est déconseillé de modifier ce fichier manuellement. Linux offre plusieurs outils permettant de configurer le noyau et d’écrire le Le noyau contient près de deux mille options de configuration, et répondre à toutes les questions prend beaucoup de temps.
résultat dans le fichier .config.( make config, make oldconfig, make menuconfig, make config, make gconfig, make xconfig) Heureusement, il y a un moyen plus rapide de configurer le noyau : utiliser l'outil make oldconfig qui construit une configuration basée
sur une configuration pré-construite.
make config EXEMPLE
L'outil le plus élémentaire est make config. Il s'exécute en mode console. L'utilisateur doit ensuite spécifier toutes les options de On va construire une configuration pour le nouveau noyau [Link] à partir de la configuration pré-construite pour le noyau courant
configuration. make config demande pour chaque fonction si elle doit ou non être activée, en proposant quatre choix possibles sous la (version [Link]) :
forme [Y / m / n /?] :
 Y (« yes ») pour intégrer la fonction directement dans le noyau. C’est le choix par défaut, il peut être sélectionné en appuyant
simplement sur la touche [Entrée] ;
 m (« module ») pour construire un module qui va être chargé de façon dynamique ;
 n (« no ») pour ne pas activer la fonction ;
 ? pour afficher un message décrivant la fonction.

Pr. ABDERRAHIM BAJIT 39 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 40 INTRODUCTIONTOLINUXOPERATINGSYSTEM

10
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 CONFIGURATION DU NOYAU  CONFIGURATION DU NOYAU
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 Construction d’un nouveau noyau, mise a jou du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
CONFIGURATION DU NOYAU LINUX CONFIGURATION DU NOYAU LINUX
make menuconfig make gconfig, make xconfig
Il existe trois autres outils interactifs pour la configuration du noyau. Le premier outil est make menuconfig, il permet une Les deux autres outils, make gconfig et make xconfig, utilisent des interfaces graphiques permettant de modifier la configuration du
configuration en mode console, la navigation entre les options de configuration est faite à l'aide des touches fléchées du clavier. noyau. Ces deux méthodes sont presque identiques, la seule différence est la bibliothèque d’outils graphiques avec laquelle elles
La console de l'outil make menuconfig est subdivisée en plusieurs sections. Chaque section contient des options qui correspondent à sont écrites. L'outil make gconfig est écrit avec GTK+ et l'outil make xconfig est écrit avec QT.
un thème spécifique. Par exemple la section Device Drivers contient des options concernant les pilotes des périphériques. Pour ces deux outils on utilise la souris pour naviguer dans les menus et sélectionner des options. Par exemple, la figure 2 illustre la
fenêtre « xconfig Generic Driver Options » de la section Device Drivers.

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.

Pr. ABDERRAHIM BAJIT 41 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 42 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 CONFIGURATION DU NOYAU  CONFIGURATION DU NOYAU
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 Construction d’un nouveau noyau, mise a jou du noyau  Construction d’un nouveau noyau, mise a jou du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
CONFIGURATION DU NOYAU LINUX CONFIGURATION DU NOYAU LINUX
make gconfig, make xconfig make gconfig, make xconfig

Pr. ABDERRAHIM BAJIT 43 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 44 INTRODUCTIONTOLINUXOPERATINGSYSTEM

11
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOU DU NOYAU  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOU DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
COMPILATION DU NOYAU LINUX INSTALLATION DU NOYAU LINUX
Une fois que la configuration du noyau est créée, on peut compiler le noyau en utilisant la commande make : Maintenant que le noyau est sous forme d'un fichier binaire, ainsi que les modules que le noyau va utiliser de façon dynamique, il est
$ make temps d'installer le nouveau noyau et d’essayer de le démarrer.
CHK include/linux/version.h Dans cette étape, à la différence des étapes précédentes, toutes les commandes doivent être exécutées avec les droits root.
UPD include/linux/version.h L'installation du nouveau noyau peut être réalisée soit en utilisant des scripts offerts par la distribution installée, soit de façon
CHK include/generated/utsrelease.h manuelle.
UPD include/generated/utsrelease.h
CC kernel/bounds.s
GEN include/generated/bounds.h Utilisation des scripts d'installation d'une distribution
CC arch/x86/kernel/asm-offsets.s La plupart des distributions Linux sont livrées avec un script appelé install kernel qui peut être utilisé lors de l'installation d’un nouveau
GEN include/generated/asm-offsets.h noyau compilé. Ce script permet de copier le nouveau noyau dans le répertoire approprié et de modifier le chargeur de démarrage afin
CALL scripts/[Link] que ce nouveau noyau puisse être sélectionné lors du démarrage du système.
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.c Si on a choisi d'utiliser des modules externes dynamiques, on doit d'abord les installer avec la commande :
SHIPPED scripts/genksyms/parse.h # make modules_install
SHIPPED scripts/genksyms/keywords.c
Ceci permet de placer tous les modules compilés dans le répertoire approprié dans l'arborescence standard Linux, où le noyau pourra
Cette commande a pour effet de compiler le noyau avec la configuration définie dans l'étape précédente, ainsi que tous les modules les retrouver en cas de besoin. Dans notre exemple les modules dynamiques sont placés dans le répertoire /lib/modules/[Link].
nécessaires à cette configuration. Lors de la compilation du noyau, chaque fichier source compilé est affiché individuellement, avec des
messages d'avertissement ou d'erreur éventuels. Si la compilation du noyau se termine sans erreur, le résultat est un fichier binaire – le Une fois les modules installés correctement, l'image du nouveau noyau doit être aussi installée par la commande :
fichier image du noyau – qui doit être installé avant qu'on puisse l'utiliser au démarrage de la machine. # make install

Pr. ABDERRAHIM BAJIT 45 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 46 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOU DU NOYAU  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOU DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
INSTALLATION DU NOYAU LINUX INSTALLATION DU NOYAU LINUX
Une fois les modules installés correctement, l'image du nouveau noyau doit être aussi installée par la commande : INSTALLATION MANUELLE
# make install Si la distribution ne dispose pas du script install kernel, ou si l’on souhaite tout simplement faire l'installation manuellement, on doit
procéder de la manière suivante :
Cette commande déclenche le processus suivant :
Installer les modules :
 1. Vérification de la bonne construction du nouveau noyau.
 2. Installation de la partie statique du noyau dans le répertoire /boot # make modules_install
 3. Création de toutes les images RAM Disk nécessaires1, en utilisant les modules installés lors de l’exécution de la commande Le noyau doit être copié dans le répertoire /boot. Pour un noyau basé sur l'architecture 386, on exécute la commande :
make modules_install. # cp arch/i386/boot/bzImage /boot/vmlinuz-[Link]
 4. Ajout d’une entrée dans le fichier de configuration du chargeur de démarrage pour le nouveau noyau. # cp [Link] /boot/[Link]-[Link]
Une fois ce processus terminé, le noyau est installé avec succès, on peut donc redémarrer et tester la nouvelle image du noyau. Notons On doit ensuite modifier le fichier de configuration du chargeur de démarrage afin qu'il puisse reconnaître le nouveau noyau.
ici que cette installation n'écrase pas l'ancienne image du noyau. Si un problème survient on peut y revenir au moment du Si le processus de démarrage ne fonctionne pas correctement, c'est généralement parce qu'une image initrd est nécessaire.
démarrage. initrd est une abréviation de Initial RAM Disk (disque virtuel initial). Cette image initrd est utilisée par le noyau pour charger les pilotes
avant le démarrage du système. Le but est de permettre aux utilisateurs de construire des noyaux modulaires. Ceci permet par
exemple de démarrer à partir de n'importe quel disque SCSI avec des noyaux ne contenant pas tous les pilotes des contrôleurs SCSI.
Dans ce cas, l'image initrd contient les pilotes SCSI nécessaires et tous les autres pilotes nécessaires pour le démarrage du système.

Pr. ABDERRAHIM BAJIT 47 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 48 INTRODUCTIONTOLINUXOPERATINGSYSTEM

12
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOU DU NOYAU  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
INSTALLATION DU NOYAU LINUX MISE A JOUR DU NOYAU LINUX
INSTALLATION MANUELLE On peut être confronté à la question de mise à niveau d'un noyau personnalisé suite à la correction de quelques bugs dans la dernière
Une image initrd est généralement construite par la commande mkinitrd. Pour la distribution Red Hat et ses dérivées on exécute la version du noyau, un problème de sécurité corrigé, ou autre. On ne veut pas perdre le temps déjà déployé pour la personnalisation et
commande : la compilation du noyau.
mkinitrd -v /boot/initrd-[Link].img [Link]
Il est facile de mettre à jour un noyau d'une version ancienne tout en conservant toutes les options de la configuration précédente.
Pour la distribution Debian et ses dérivées on exécute la commande : Tout d'abord, dans le répertoire source du noyau on sauvegarde le fichier .config. On a consacré du temps des efforts à sa création, il
mkinitrd -o /boot/initrd-[Link].img /lib/modules/[Link] est important de pouvoir disposer d’une sauvegarde en cas de problème.
$ cd linux-[Link]
$ cp .config ../good_config
Cinq étapes sont nécessaires pour mettre à niveau un noyau déjà compilé et installé :
 1. Obtenir le nouveau code source.
 2. Appliquer les modifications sur l'ancienne arborescence du code source du noyau pour le mettre à niveau.
 3. Reconfigurer le nouveau noyau en se basant sur la configuration précédente.
 4. Compiler le nouveau noyau.
 5. Installer le nouveau noyau.
Les trois dernières étapes sont identiques à celles décrites précédemment, seules les deux premières sont donc présentées ici.
La version [Link] du noyau de Linux est déjà compilée et installée. Il s’agit maintenant de mettre à jour ce noyau vers la version
[Link]. Un fichier de patch, ou « patch », est appliqué sur l’arborescence du code source existant, créant ainsi une nouvelle
arborescence. Le patch contient les changements à apporter aux anciens fichiers, et de nouveaux fichiers.
Pr. ABDERRAHIM BAJIT 49 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 50 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des paramètres du Noyau  Modification dynamique des paramètres du Noyau
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
MISE A DU NOYAU LINUX MISE A DU NOYAU LINUX
Voici comment les patchs peuvent être appliqués : EXEMPLE
– les patchs du noyau stable peuvent être appliqués sur une version de base du noyau, par exemple le patch [Link] peut être On veut passer de la version [Link] à la version [Link]. On a donc besoin de télécharger deux patchs : un patch pour passer de la
appliqué seulement sur la version 2.6.35 du noyau. Ainsi, il ne peut pas être appliqué sur la précédente version du noyau (version version [Link] à la version [Link], puis un autre patch pour passer de la version [Link] à la version [Link].
[Link]) ; On les trouve à la page [Link]/pub/linux/kernel/v2.6/incr/. Comme ils sont compressés, la première chose à faire est de les
– un patch d'une version de base ne peut être appliqué que sur un noyau de la version de base précédente. Cela signifie que le patch décompresser avec la commande bzip2 :
2.6.36 ne s'applique qu'à la version 2.6.35 du noyau. Il ne s'appliquera pas à la dernière version stable du noyau 2.6.35.y ni à toute $ bzip2 -dv patch-[Link]-6.bz2
autre version ; patch-[Link]-10.bz2: done
– les patchs incrémentaux permettent la mise à niveau d’une version donnée vers la version qui la suit immédiatement. Ainsi les $ bzip2 -dv patch-[Link]-7.bz2
développeurs ne sont pas obligés de télécharger un noyau, puis de le mettre à jour, juste pour passer d’une version stable à la suivante
(on rappelle que les patchs d'une version stable ne s'appliquent que sur une version de base du noyau, et non sur la précédente Maintenant, il faut appliquer les fichiers de patch dans le répertoire du noyau. On se place dans le répertoire linux-[Link] et on lance
version stable). la commande patch :
$ cd linux-[Link]
EXEMPLE
$ patch -p1 < ../patch-[Link]-6
On veut passer de la version [Link] à la version [Link]. On a donc besoin de télécharger deux patchs : un patch pour passer de la
patching file Makefile
version [Link] à la version [Link], puis un autre patch pour passer de la version [Link] à la version [Link].
On les trouve à la page [Link]/pub/linux/kernel/v2.6/incr/. Comme ils sont compressés, la première chose à faire est de les patching file arch/alpha/kernel/err_marvel.c
décompresser avec la commande bzip2 : patching file arch/alpha/kernel/proto.h
$ bzip2 -dv patch-[Link]-6.bz2

Pr. ABDERRAHIM BAJIT 51 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 52 INTRODUCTIONTOLINUXOPERATINGSYSTEM

13
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des paramètres du Noyau  Modification dynamique des parametres du Noyau
 CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU  CONSTRUCTION D’UN NOUVEAU NOYAU, MISE A JOUR DU NOYAU
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
MISE A DU NOYAU LINUX MISE A DU NOYAU LINUX
EXEMPLE EXEMPLE
On peut examiner le fichier Makefile pour voir le changement de version du noyau : On utilise à nouveau la commande patch pour passer de la version [Link] à la version [Link] :
$ head Makefile $ patch -p1 < ../patch-[Link]-7
VERSION = 2 patching file Makefile
PATCHLEVEL = 6 patching file drivers/xen/events.c
SUBLEVEL = 35
EXTRAVERSION = .6 $ head Makefile
NAME = Sheep on Meth VERSION = 2
# *DOCUMENTATION* PATCHLEVEL = 6
# To see a list of typical targets execute "make help" SUBLEVEL = 35
# More info can be located in ./README EXTRAVERSION = .7
# Comments in this file are targeted only to the developer, do not NAME = Yokohama

Pr. ABDERRAHIM BAJIT 53 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 54 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des parametres du Noyau  Modification dynamique des parametres du Noyau
 Construction d’un nouveau noyau, mise a jour du noyau  Construction d’un nouveau noyau, mise a jour du noyau
 MODULES DU NOYAU  MODULES DU NOYAU
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
Le noyau Linux supporte un chargement dynamique des modules : il est possible de les charger ou de les supprimer quand le noyau est en La commande insmod permet de charger manuellement un module du noyau. Dans l'exemple suivant on ajoute le module msdos :
cours d’exécution. Les modules du noyau sont stockés dans le répertoire /lib/modules/version_noyau, où version_noyau est la version # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/[Link]
du noyau Linux en cours (retournée par la commande uname - r). On peut lister les modules présents avec la commande lsmod : insmod: error inserting '/lib/modules/2.6.35-22-
$ lsmod generic/kernel/fs/fat/[Link]': -1 Unknown symbol in module
Module Size Used by La commande a retourné une erreur indiquant qu'un symbole n'est pas résolu. En effet lors du chargement de ce module des variables ou
nls_utf8 1069 0 des fonctions n'ont pas été retrouvées. Ce module dépend nécessairement d'autres modules et on peut voir cette dépendance par la
isofs 29250 0 commande modinfo :
nls_iso8859_1 3249 2 # modinfo /lib/modules/2.6.35-22-generic/kernel/fs/fat/[Link]
nls_cp437 4919 2 filename: /lib/modules/2.6.35-22-generic/kernel/fs/fat/[Link]
vfat 8933 2 description: MS-DOS filesystem support
fat 47767 1 vfat author: Werner Almesberger
usb_storage 39425 2 license: GPL
binfmt_misc 6587 1 srcversion: 44046DD818C31AAF3D90191
ppdev 5259 0 depends: fat
vboxnetadp 6326 0 vermagic: 2.6.35-22-generic SMP mod_unload modversions 686
vboxnetflt 15280 0
vboxdrv 190594 2 vboxnetadp,vboxnetflt Ainsi le module msdos dépend du module fat qu'il faut donc charger en premier :
joydev 8708 0 # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/[Link]
snd_hda_codec_atihdmi 2367 1
Et maintenant le module msdos peut être chargé :
snd_hda_codec_conexant 22641 1
snd_hda_intel 21941 4 # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/[Link]
# lsmod | grep fat
Pr. ABDERRAHIM BAJIT 55 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT fat 48240 1 msdos 56 INTRODUCTIONTOLINUXOPERATINGSYSTEM

14
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des parartres du Noyau  Modification dynamique des parartres du Noya
 Construction d’un nouveau noyau, mise a jour du noyau  Construction d’un nouveau noyau, mise A jour du noyau
 MODULES DU NOYAU  MODULES DU NOYAU
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
La commande rmmod est utilisée pour supprimer des modules du noyau en cours d'exécution. Par exemple :
# rmmod fat $ grep msdos /lib/modules/[Link]/[Link]
ERROR: Module fat is in use by msdos kernel/fs/fat/[Link]: kernel/fs/fat/[Link]
Le message d’erreur indique que la suppression du module fat échoue parce qu'il est en cours d'utilisation par le module msdos. Il faut
donc commencer par supprimer le module msdos : Le fichier [Link] doit être cohérent afin d'assurer le bon fonctionnement de la commande modprobe. Il est généralement régénéré
# rmmod msdos à chaque démarrage du système par la commande depmod -a placée dans les scripts de démarrage.
# rmmod fat
Le fichier /etc/[Link] (ou les fichiers sous le répertoire /etc/modprobe.d) est le fichier de configuration de la commande
Le message d’erreur indique que la suppression du module fat échoue parce qu'il est en cours d'utilisation par le module msdos. Il faut
donc commencer par supprimer le module msdos : modprobe. Il sert à changer le comportement de modprobe lors du chargement d'un ou de plusieurs modules. Il est possible d'y définir
# rmmod msdos des alias pour les noms de modules, les options des modules ou encore de lancer des commandes au lieu de charger ou décharger un
module.
# rmmod fat
La commande modprobe peut déterminer les dépendances entre les modules et installer automatiquement les modules nécessaires.
Pour ce faire, modprobe examine le fichier /lib/modules/version_noyau/[Link].
# modprobe msdos
# lsmod | grep fat
fat 48240 1 msdos
Les lignes dans le fichier [Link] sont sous la forme : nom_module.ko :
dependance1 dependance2 ….
Pr. ABDERRAHIM BAJIT 57 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 58 INTRODUCTIONTOLINUXOPERATINGSYSTEM

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des parartres du Noya  Modification dynamique des parartres du Noya
 Construction d’un nouveau noyau, mise A jour du noyau  Construction d’un nouveau noyau, mise A jour du noyau
 Modules du noyau  Modules du noyau
 PASSAGE DE PARAMÈTRES AU NOYAU À PARTIR DU CHARGEUR DE DÉMARRAGE  Passage de paramètres au noyau à partir du chargeur de démarrage
On peut avoir besoin de passer quelques options au noyau Linux lors du démarrage du système, telles que la partition racine qu'il doit TUTORIAL: MANAGING KERNEL MODULES
utiliser ou les cartes Ethernet multiples qu’il doit détecter. Le chargeur de démarrage (LILO ou GRUB) est responsable du transfert de To learn about kernel modules, it ’ s helpful to experiment. This exercise will give you some hands - on experience. It assumes you have a computer in which
ces options au noyau. the cdrom driver is compiled as a module. If your computer ’ s optical disc drivers are built directly into the kernel, or if you have no optical disc drive, you
may have to select a different module for experimentation. Before you begin, you should locate a data disc. Any data disc (CD - ROM, CD - R, DVD, or Blu -
Pour que ces options soient prises en compte à chaque démarrage du système, on doit les ajouter dans les fichiers de configurations Ray, depending on your hardware ’ s capabilities) will do. Music CDs will not work with this procedure as written. With the disc in hand, follow these steps:
/etc/[Link] ou /boot/grub/[Link], selon le chargeur de démarrage utilisé. 1. Insert the disc in the drive and wait for the access light to go out.
2. Acquire root privileges by logging in as root or by typing su and entering the root password. You must type all the following commands as root .
On peut aussi utiliser l'invite de commandes du chargeur de démarrage. 3. Mount the disc by typing mount /dev/cdrom /mnt/cdrom as root . You may need to change the device fi lename or mount point, depending on your
EXEMPLE computer ’ s configuration. Also, some Linux systems are confi gured to auto - mount optical discs, so this step may be unnecessary.
4. Type lsmod | grep cdrom to view the lsmod output related to the cdrom module, which should be in use unless the driver was compiled into the main
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 kernel fi le. This command will also reveal the bus - specifi c driver associated with the optical disc device — typically sr_mod or ide_cd_mod .
Ethernet, on utilise la commande LILO suivante: 5. Type rmmod cdrom . The program will reply that cdrom is in use by the bus - specifi c driver.
LILO: linux root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1 6. Type rmmod sr_mod (or change sr_mod to ide_cd_mod or whatever module was identified in step #5). The program will reply that the module is in use,
but it won ’ t say by what. This is because the module is in use by a non - module subsystem.
Pour indiquer la même chose à GRUB on utilise la commande : 7. Type umount /mnt/cdrom (changing the mount point, if necessary).
grub> kernel /vmlinuz root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1 8. Repeat steps #5 and #6. This time, step #6 will succeed. You can then type rmmod cdrom to unload that module, and it will succeed. This step illustrates
grub> boot removing a module stack the long way, by using rmmod on each individual module.
9. Type modprobe - v sr_mod to load the optical disc module stack again. (Change sr_mod ,
if necessary, for your system.) Both the sr_mod and cdrom modules will be loaded, as revealed by the output that the - v option generates.
10. Mount your optical disc again and check its contents with ls to verify that it ’ s
Pr. ABDERRAHIM BAJIT 59 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 60 INTRODUCTIONTOLINUXOPERATINGSYSTEM

15
14/10/2018

Chapter I. LINUX KERNEL CONFIGURATION Chapter I. LINUX KERNEL CONFIGURATION


LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE: CHAPITRE:
 Version du Noyau  Version du Noyau
 Configuration du Noyau  Configuration du Noyau
 Modification dynamique des parartres du Noya  Modification dynamique des parartres du Noya
 Construction d’un nouveau noyau, mise A jour du noyau  Construction d’un nouveau noyau, mise A jour du noyau
 Modules du noyau  Modules du noyau
 Passage de paramètres au noyau à partir du chargeur de démarrage  Passage de paramètres au noyau à partir du chargeur de démarrage
On peut avoir besoin de passer quelques options au noyau Linux lors du démarrage du système, telles que la partition racine qu'il doit
utiliser ou les cartes Ethernet multiples qu’il doit détecter. Le chargeur de démarrage (LILO ou GRUB) est responsable du transfert de
ces options au noyau.

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é.

On peut aussi utiliser l'invite de commandes du chargeur de démarrage.


EXEMPLE

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

Pour indiquer la même chose à GRUB on utilise la commande :


grub> kernel /vmlinuz root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1
grub> boot

Pr. ABDERRAHIM BAJIT 61 INTRODUCTIONTOLINUXOPERATINGSYSTEM Pr. ABDERRAHIM BAJIT 62 INTRODUCTIONTOLINUXOPERATINGSYSTEM

LINUX SYSTEM: FILIÈRE INGÉNIEUR INFORMATIQUE/MECATRONIQUE S7


UNIVERSITY SEASON 2018-2019

INTRODUCTION A LINUX
FILIÈRE MECATRONIQUE AUTOMOBILE
INFORMATIQUE ENSA KENITRA

Presented by Pr A. BAJIT

INTRODUCTION TO LINUX OPERATING SYSTEM

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

Pr. Abderrahim BAJIT


Associate Professor Researcher in Automotive and Avionic Embedded Systems
Professor Intelligent Sensor Networks, Embedded Computing and embeded IoT.
Department of Electrical –GESE- & Automotive Mechatronics Engineering –GMA-
National School of Applied Sciences -ENSA- of Kénitra Morocco.

Pr. ABDERRAHIM BAJIT 63 INTRODUCTIONTOLINUXOPERATINGSYSTEM

16

Vous aimerez peut-être aussi