Il faut bien reconnaître que s'attaquer à toutes les options de
configuration du noyau Linux en partant de zéro est une tâche
particulièrement ardue. Pour rendre la démarche plus aisée, on se
propose de partir de la configuration fournie avec le paquet de la
distribution. En procédant par modifications élémentaires à partir
de cette configuration réputée sûre puisque permettant le
fonctionnement du système actuel, on limite ainsi les possibilités
d'erreurs.
Q9.
Quels sont les principaux canaux de
diffusion des sources du noyau Linux ?
Rechercher un site web, un dépôt de code en ligne et le nom du
paquet de la distribution.
Le site principal de publication des sources du noyau Linux est
à l'adresse http://www.kernel.org/.
Le développement du système de contrôle de version git a été initié par les développeurs du noyau
Linux. Depuis, des services en lignes ont été bâtis à partir de
git. Les branches de développement
du noyau sont disponibles sur le site GitHub à
l'adresse https://github.com/torvalds/linux.
La distribution Debian GNU/Linux propose des paquets contenant
les sources qui on servi à construire les paquets de noyau. Pour
identifier ces paquets, on effectue une recherche dans le catalogue
de la distribution.
$ aptitude search linux-source
p linux-source - Linux kernel source (meta-package)
p linux-source-4.12 - Linux kernel source for version 4.12 with Debian patches
Q10.
Donner un exemple de téléchargement des
sources du noyau sans passer par une interface graphique
?
Rechercher un outil permettant de lancer un téléchargement
HTTP(s).
Lorsque l'on utilise des serveurs qui ne possèdent ni écran ni
clavier, il est nécessaire d'effectuer les opérations sans recours
à une interface graphique. Les outils les plus courants dans ce
contexte sont url et wget.
Téléchargement à partir du site principal de publication
kernel.org.
$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.2.tar.xz
-- https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.2.tar.xz
Résolution de cdn.kernel.org (cdn.kernel.org)… 2a04:4e42:1d::432, 151.101.121.176
Connexion à cdn.kernel.org (cdn.kernel.org)|2a04:4e42:1d::432|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 100574388 (96M) [application/x-xz]
Sauvegarde en : « linux-4.13.2.tar.xz »
<snip/>
Téléchargement à partir du gestionnaire de paquets de la
distribution.
# aptitude install linux-source
Les NOUVEAUX paquets suivants vont être installés :
linux-source linux-source-4.12{a} make{a}
0 paquets mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 102 Mo d'archives. Après dépaquetage, 103 Mo
seront utilisés.
Voulez-vous continuer ? [Y/n/?]
Q11.
Quel est le groupe système qui permet de
compiler un noyau ou des modules ?
Rechercher le groupe consacré aux manipulations des sources dans
la liste des groupes système.
On cherche la chaîne src dans le
fichier /etc/group et on ajoute
l'utilisateur normal dans ce groupe.
# grep src /etc/group
src:x:40:
# adduser etu src
Ajout de l'utilisateur « etu » au groupe « src »...
Ajout de l'utilisateur etu au groupe src
Fait.
# id etu
uid=1000(etu) gid=1000(etu) groupes=1000(etu),24(cdrom),25(floppy),
29(audio),30(dip),40(src),44(video),46(plugdev)
Q12.
Quel est le répertoire du système dédié au
stockage des sources du noyau Linux ?
Pour traiter cette question, on utilise le fichier source obtenu
à l'aide du gestionnaire de paquets. D'après les documents de
référence on doit utiliser la séquence de commandes suivante.
$ cd /usr/src/
$ tar xf linux-source-4.12.tar.xz$ ln -s linux-source-4.12 linux$ cd linux
$ cp /boot/config-4.12.0-2-686-pae .config$ make menuconfig
Extraction de l'arborescence des sources du noyau.
Création d'un lien symbolique sur l'arborescence de travail.
L'utilisation de ce lien permet de conserver plusieurs
arborescences de sources. De cette façon, on peut travailler sur
plusieurs versions de noyau.
Copie du fichier de configuration fourni avec le paquet de
noyau. Ce fichier est réputé fiable puisqu'il correspond au noyau
en cours d'exécution et que le système est opérationnel.
Cette opération est optionnelle. En l'absence du fichier
.config dans l'arborescence des
sources du noyau, la commande suivante procède à la copie de la
configuration du noyau courant.
Lancement de l'interface des menus de configuration des options
du noyau Linux. C'est à ce niveau que les «choses sérieuses»
commencent.
La dernière commande n'est utilisable que si le paquet de
bibliothèques de développement ncurses est installé. aptitude install
libncurses-dev.