Académique Documents
Professionnel Documents
Culture Documents
Presented by Pr A. BAJIT
Presented by Pr A. BAJIT
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,
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
Samba fi le server, is in fact not technically part of Linux. Most such tools, including all three just mentioned, are available on many
other OSs, such as FreeBSD and Solaris.
Because the kernel handles low - level hardware and other critical tasks, its use and configuration are unusually important. This
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
in Chapter 1, “ System Startup and Advanced System Management ” ; however, the kernel is a complex enough piece of software,
with enough options, that it deserves special consideration. This chapter concludes with a look at kernel modules — pieces of the
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,
such as filesystems.
API
USER/SYSTEM
MODULES
DYNAMIC /lib
KERNEL
NOYAU LINUX
STATIC /boot
/proc: informations sur les processus en cours d’execution
/sys: les parametres système en cours d’utilisation
/dev: les peripheriques en cours d’utilisation
Chapter I. LINUX KERNEL
CONFIGURATION
LES OBJECTIFS SUIVANTS SONT COUVERTS DANS CE
CHAPITRE:
Version du Noyau
Configuration du noyau
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
LA MODIFICATION DYNAMIQUE DES PARAMÈTRES DU NOYAU
Le noyau peut être ajusté dynamiquement à travers des paramètres du système. Ces paramètres sont accessibles et modifiables à
partir des fichiers du répertoire /proc/sys.
EXEMPLE
Pour modifier le nombre maximal de fichiers que le système peut ouvrir simultanément, on peut modifier le fichier /proc/sys/fs/file-
max de la façon suivante : # echo 32768 > /proc/sys/fs/file-max
FICHIER DESCRIPTION
/proc/sys/fs/file-max Indique le nombre maximal de fichiers que le noyau peut manipuler
simultanément
/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
pour relancer le système correctement.
/proc/sys/net/ipv4/icmp_echo_ignore_all Bloque les réponses au ping.
/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.
make config
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
configuration. make config demande pour chaque fonction si elle doit ou non être activée, en proposant quatre choix possibles sous la
forme [Y / m / n /?] :
Y (« yes ») pour intégrer la fonction directement dans le noyau. C’est le choix par défaut qui va être intégrée dans la partie
STATIQUE de l’OS et être logée dans /boot, 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 et être intégrée dans la partie DYNAMIQUE de
l’OS et se placer sur le répertoire /lib/modules;
n (« no ») pour ne pas activer la fonction ;
? pour afficher un message décrivant la fonction.
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.
Une fois les modules installés correctement, l'image du nouveau noyau doit être aussi installée par la commande :
# make install
Maintenant, il faut appliquer les fichiers de patch dans le répertoire du noyau. On se place dans le répertoire linux-2.6.35.5 et on lance
la commande patch :
$ cd linux-2.6.35.5
$ patch -p1 < ../patch-2.6.35.5-6
patching file Makefile
patching file arch/alpha/kernel/err_marvel.c
patching file arch/alpha/kernel/proto.h
$ head Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 35
EXTRAVERSION = .7
NAME = Yokohama
Le fichier modules.dep doit être cohérent afin d'assurer le bon fonctionnement de la commande modprobe. Il est généralement régénéré
à chaque démarrage du système par la commande depmod -a placée dans les scripts de démarrage.
Le fichier /etc/modprobe.conf (ou les fichiers sous le répertoire /etc/modprobe.d) est le fichier de configuration de la commande
modprobe. Il sert à changer le comportement de modprobe lors du chargement d'un ou de plusieurs modules. Il est possible d'y définir
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.
Pour que ces options soient prises en compte à chaque démarrage du système, on doit les ajouter dans les fichiers de configurations
/etc/lilo.conf ou /boot/grub/grub.conf, 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
Pour que ces options soient prises en compte à chaque démarrage du système, on doit les ajouter dans les fichiers de configurations
/etc/lilo.conf ou /boot/grub/grub.conf, 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