Avant d'attaquer la compilation d'un nouveau noyau à partir de ses sources, on doit identifier et localiser les différents composants du noyau en cours d'exécution sur le système.
Le jeu de questions ci-dessous suppose que la configuration système est directement issue de l'installation de la distribution Debian GNU/Linux. Le noyau courant exécuté est fourni via un paquet de la distribution.
Q1. |
Quelle est la commande Effectuer une recherche dans les pages de manuels des commandes
installées sur le système avec une requête du type : |
C'est la commande uname qui identifie le noyau courant. Pour interroger les pages de manuels à l'aide de la commande apropos, il faut que les paquets correspondant soient installés et que l'index de recherche soit construit. Pour interroger les pages de manuels, on contrôle la liste des paquets correspondants installés et on lance manuellement la construction de l'index de recherche :
Pour obtenir la version courante du noyau exécuté :
|
|
Q2. |
Où est placée l'image de la partie monolithique du noyau courant ? Repérer le paquet Debian correspondant au noyau et retrouver l'image dans la liste des fichiers de ce paquet. |
Une fois la version courante du noyau identifiée à l'aide de la commande uname, on peut faire la correspondance avec les paquets de noyau installés.
Connaissant le nom du paquet de noyau installé on peut lister les fichiers qu'il contient. À partir de cette liste on peut localiser la partie monolithique du noyau ainsi que ses modules dans l'arborescence du système de fichiers. C'est dans le répertoire
|
|
Q3. |
Où sont placés les fichiers des modules correspondant au noyau courant ? Comme dans le cas précédent, la liste des fichiers du paquet permet de retrouver l'arborescence de stockage des modules. |
On peut parcourir la liste des fichiers contenus dans le paquet de noyau et effectuer des recherches par mots clés en utilisant la commande suivante :
La liste ci-dessus montre que les modules du noyau sont placés
dans le répertoire |
|
Q4. |
Dans quel cas de figure utilise-t-on l'arborescence ou le disque RAM ? Il faut bien différencier l'utilisation du disque RAM
|
Le fichier image du disque RAM d'initialisation a déjà été identifié ci-dessus. Ce fichier est utilisé lors du lancement du système
d'exploitation. Il est reconnu par le gestionnaire de démarrage de
la même façon que la partie monolithique du noyau. Une fois le
système complètement initialisé, les opérations de
(chargement|déchargement) des modules utilisent l'arborescence du
dique dur : |
|
Q5. |
Que contiennent les arborescences
Consulter les documents ressource sysfs et Linux Filesystem Hierarchy |
L'arborescence L'arborescence |
|
Q6. |
Quelle est la commande qui permet de lister les modules chargés en mémoire ? À quel paquet appartient elle ? Rechercher dans la base de données des paquets de la distribution les informations relatives aux manipulations sur les modules. |
aptitude search '?description("modules du noyau Linux")' i A kmod - outils pour gérer les modules du noyau Linux Le paquet
|
|
Q7. |
Quelles sont les commandes qui permettent de charger un module en mémoire «manuellement» ? Identifier celle qui traite automatiquement les dépendances entre modules. Rechercher les informations dans la liste des fichiers du paquet ainsi que dans les pages de manuels des commandes. |
On dispose de deux commandes : insmod et modprobe. Seule la commande modprobe traite les dépendances au (chargement|déchargement) d'un module. Illustration avec un module de gestion des dispositifs de stockage sur le bus USB.
|
|
Q8. |
Quelles sont les commandes qui permettent de retirer un module de la mémoire «manuellement» ? Identifier les options de la commande qui traite automatiquement les dépendances entre modules. Rechercher les informations dans les pages de manuels des commandes. |
Comme dans le cas précédent, c'est la commande modprobe qui retire de la mémoire les modules associés au déchargement.
|