NOM
kernel-package - Un système pour créer des paquets liés aux noyaux
Le paquet kernel-package est né du désir d’automatiser les étapes du
processus requis pour compiler et installer un noyau personnalisé. Si
vous cherchez des informations sur la façon d’utiliser kernel-package,
jetez un coup d’oeil sur le manuel make-kpkg(1). Vous trouverez les
instructions de configuration dans kernel-pkg.conf(5).
Avantages de> l’utilisation de kernel-package
i) Le confort
Il est parfois habituel de compiler les noyaux à la main,
ce qui implique toute une série d’étapes à suivre dans
l’ordre ; kernel-package a été écrit afin de prendre en
charge toutes les étapes requises (il va plus loin
maintenant, mais c’est ce qu’il fait essentiellement). Ce
point est particulièrement important pour les débutants.
make-kpkg gère toutes les étapes nécessaires à la
compilation d’un noyau, et l’installation de noyaux
devient un jeu d’enfant.
ii) Gestion de multiples images
Vous pouvez maintenir de multiples versions d’images de
noyau sur votre machine sans soucis.
iii) Multiples saveurs de la même version du noyau
Vous pouvez maintenir plusieurs « saveurs » d’une même
version du noyau sur votre machine (vous pouvez avoir une
version 2.0.36 stable, et une version 2.0.36 patchée avec
les derniers pilotes, sans risque de contaminationdes
modules présents dans /lib/modules).
iv) Réglages par défaut inclus
Le paquet sait que certaines architectures utilisent
vmlinuz (plutôt que vmlinux), et d’autres zImage plutôt
que bzImage. Il appelle alors la bonne cible, et prend en
charge la copie du bon fichier au bon endroit.
v) Entrées pour les modules
Plusieurs autres paquets de modules sont intégrés dans
kernel-package, ce qui permet de façon transparente la
compilation (par exemple) des modules pcmcia pendant que
quelqu’un d’autre au même moment compile le noyau, tout
en ayant l’assurance que les modules ainsi compilés
seront compatibles avec ce noyau.
vi) Gestion par dpkg
Vous pouvez gérer les noyaux ainsi créés avec le système
de gestion des paquets, car un fichier .deb est créé, et
dpkg peut en prendre le contrôle. Cela facilite la tâche
des autres paquets qui dépendent des paquets du noyau.
vii) Suivi de configuration
Il garde une trace du fichier de configuration de chacune
des images du noyau dans /boot, fichier qui fait partie
du paquet. Les images du noyau et le fichier de
configuration sont, à partir de cet instant, toujours
associés.
viii) Multiples fichiers de configuration
Vous pouvez spécifier un répertoire de fichiers de
configuration, contenant des fichiers différents pour
chaque sous-architecture (et même différents fichiers de
configuration pour i386, i486, etc.). C’est très pratique
pour ceux qui ont besoin de compiler des noyaux pour une
grande variété de sous-architectures.
ix) Paquets .deb associés au noyau
Vous pouvez créer un paquet contenant les entêtes, ou les
sources, dans le format de fichier .deb, ce qui permet de
les placer sous le contrôle du système de gestion des
paquets (car parfois d’autres paquets ont besoin que le
système de gestion en connaisse l’existence).
x) Création de script du responsable
Lorsque le paquet image du noyau est un paquet Debian
complet, il est fourni avec les scripts du mainteneur, ce
qui permet à l’utilisateur l’ajout de scripts « hook »
à exécuter lorsque l’état du paquet est modifié.
xi) Gestion des sous-architectures
La multitude des sous-architectures qui ont fleuris à
l’ombre du m68k et du power-pc est gérée.
xii) Portable kernel images
Vous pouvez compiler un noyau pour un autre ordinateur,
en utilisant par exemple une machine rapide pour la
compilation d’un noyau à destination d’une machine plus
lente. C’est vraiment très pratique puisque les modules
sont inclus dans le fichier .deb, et que l’on n’a pas à
gérer les modules à la main.
xiii) runtime hooks
Les scripts de post-installations, de pré-suppression et
de post-suppression offrent à l’administrateur de la
machine locale la possibilité d’inclure un script
« hook » dans le déroulement de l’installation. Cela
permet, entre autres, aux utilisateurs du grub l’ajout ou
la suppression d’items pointant sur les noyaux dans le
menu de démarrage (des scripts d’exemple sont fournis
dans le paquet). Des paquets associés pourront déposer
des script dans certains répertoires sous /etc/kernel,
scripts qui seront exécutés par ceux desresponsables des
paquets créés par kernel-package. Avant l’exécution de
ces scripts, la variable d’environnement
KERNEL_PACKAGE_VERSION doit contenir la version de
kernel-package qui a crée le paquet.
xiv) Append descriptive bits to the kernel version
Vous pouvez ajouter un descriptif à la version du noyau
soit en ligne de commande, soit en définissant une
variable d’environnement. De cette façon, si votre noyau
s’appelle kernel-image-2.4.1Chez.Paulo, il a peu de
chances d’être effacé par le noyau 2.4.1 officiel,
puisqu’il ne s’agit pas de la même version.
Inconvénients de l’utilisation de make-kpkg
i) Automatisation
La fabrication de noyaux par cette méthode est une approche
prémachée, et il y a des gens qui préfèrent le brut de fonderie.
ii) Non traditionnel
Ce n’est pas l’usage hors du monde Debian. Cela rompt avec la
tradition. (D’un autre coté, cela devient une tradition Debian
de plus en plus répandue).
iii) Il faut être administrateur
Vous êtes obligé d’utiliser soit fakeroot, sudo, super, ou
d’être l’administrateur pour créer le fichier .deb de l’image du
noyau (ce n’est pas pire qu’avant, quand il n’y avait pas
fakeroot).
FICHIERS
/etc/kernel-pkg.conf. /etc/kernel-img.conf.
VOIR AUSSI
make-kpkg(1), make(1), le manuel GNU Make
BOGUES
Il n’y a pas d’erreur. Toute ressemblance avec un bogue est du délire.
Vraiment.
AUTEUR
Cette page a été écrite par Manoj Srivastava, <srivasta@debian.org>,
pour le système Debian GNU/Linux.