NOM¶
kernel-pkg.conf - Fichier de configuration pour make-kpkg
SYNOPSIS¶
/etc/kernel-pkg.conf ou
~/.kernel-pkg.conf
DESCRIPTION¶
Les fichiers
/etc/kernel-pkg.conf ou
~/.kernel-pkg.conf sont en
fait des morceaux de code de type
Makefile inclus dans le processus de
construction du paquet du noyau. Vous pourrez inclure de la sorte n'importe
quelle directive de Makefile dans ce fichier (vérifiez simplement que
vous savez vraiment ce que vous faites). S'il existe un fichier de
configuration utilisateur
~/.kernel-pkg.conf, il sera prioritaire sur
le fichier de configuration du système
/etc/kernel-pkg.conf.
Toutes les variables ont des valeurs raisonnables par défaut, et peuvent
être outrepassées ponctuellement ou sur la base de choix de
l'utilisateur grâce aux variables d'environnement. Certaines de ces
variables peuvent de plus être modifiées grâce à des
options de
make-kpkg.
Les variables actuellement modifiables par l'utilisateur sont les
suivantes :
- maintainer
- Responsable local des paquets kernel-* (image,
entêtes, documentations, etc.) Défini lors de
l'installation du paquet par le script de post-installation. Il est
possible de l'outrepasser grâce à la variable d'environnement
KPKG_MAINTAINER. Veuillez noter que tout signe de type
« ' » doit être protégé, comme dans
maintainer = John O'\”Brien. Oui, ce n'est pas terrible, mais
ça marche.
- email
- L'adresse électronique de cette personne. Définie
lors de l'installation du paquet par le script de
post-installation. Il est possible de l'outrepasser grâce
à la variable d'environnement KPKG_EMAIL.
- pgp
- La clef d'identification à utiliser pour signer le
paquet. En général fournie à dpkg-buildpackage
grâce à l'option -k, ainsi qu'aux modules de tierces
parties par la variable d'environnement KMAINT, si ces modules
séparés (tels que pcmcia, etc.) sont construits dans le
$MODULE_PATH. Il est possible de l'outrepasser grâce à la
variable d'environnement PGP_SIGNATURE, et il peut être
(à nouveau) outrepassé par l'option --pgpsign de
make-kpkg. Valeur par défaut : maintainer.
(Optionnel)
- debian
- Version des paquets du noyau, incluant aussi les versions
officielles (upstream) et les modifications de Debian. Modifiable par la
variable d’environnement DEBIAN_REVISION, puis (encore)
modifiable par l’option --revision de make-kpkg.
Réglée par défaut à
<VERSION>-10.0.0.Custom. (Optionnel)
- debian_revision_mandatory
- Habituellement non définie. Si elle, ou la variable
d'environnement DEBIAN_REVISION_MANDATORY, sont définies,
alors l'absence de numéro de révision Debian entraînera une
erreur (et make-kpkg ne fournira pas la valeur par défaut
« 10.0.0.Custom »).
- kimage
- Type d'image du noyau (zImage ou bzImage par exemple). Il
est possible de l'outrepasser grâce à la variable
d'environnement IMAGE_TYPE, et il est possible de l'outrepasser (de
nouveau) grâce aux options --zimage ou --bzimage de
make-kpkg. Valeur par défaut : bzImage.
(Optionnel)
- config_target
- Choix du type de configuration à exécuter. Par
défaut, c'est « oldconfig », ce qui est pratique
pour les lancements non interactifs (ou aux interactions réduites au
minimum). (La variable d'environnement CONFIG_TARGET outrepasse ce
choix). Si la valeur de config_target est inconnue, elle est alors
réinitialisée à oldconfig.
- use_saved_config
- Variable réservée seulement aux experts. Si elle
est réglée à « NO » (la variable
d'environnement USE_SAVED_CONFIG outrepasse cela), le fichier
.config.save du répertoire au sommet de l'arborescence est
ignoré.
- root_cmd
- C'est une variable dont le but est d'être transmise
à dpkg-buildpackage dans la cible buildpackage. Elle
doit fournir un moyen d'obtenir les droits d'accès du
superutilisateur ( « sudo » ou
« fakeroot » par exemple), un peu à la
façon de l'option -r de dpkg-buildpackage. La variable
d'environnement ROOT_CMD a priorité sur celle-ci. La variable
d'environnement UNSIGN_SOURCE fournit à cette commande
l'option qui force dpkg-buildpackage à ne pas signer la source, et de
la même façon, la variable d'environnement
UNSIGN_CHANGELOG fournit à cette commande l'option qui force
dpkg-buildpackage à ne pas signer le changelog. Là encore, cette
variable n'est utile que pour la cible buildpackage. Réglez la
variable d'environnement ROOT_CMD si vous voulez juste construire l'image
du noyau, par exemple.
- delete_build_link
- Si elle est définie à
« YES », supprime le lien symbolique
/lib/modules/$VERSION/build pointant sur le paquet .deb. La
variable d'environnement DELETE_BUILD_LINK a priorité sur
cette option. Par défaut, elle n'est pas définie. Notez qu'elle
est sensible à la casse, yes ne fonctionnant pas.
- do_clean
- Si elle est définie à
« YES », un make clean sera lancé sur
l'arborescence des sources du noyau après la construction du paquet
de l'image du noyau. La variable d'environnement CLEAN_SOURCE a
priorité sur cette option. Par défaut, elle n'est pas
définie. Notez qu'elle est sensible à la casse, yes ne
fonctionnant pas.
- install_vmlinux
- Si elle est définie à
« YES », l'image non compressée du noyau au
format ELF sera installée en plus de l'image compressé
(vmlinuz). Par défaut, elle n'est pas définie. Notez qu'elle est
sensible à la casse, yes ne fonctionnant pas.
- image_clean_hook
- Lorsqu'elle correspond à un programme, celui-ci est
alors exécuté sur la racine (temporaire) de l'arborescence du
noyau avant l'empaquetage des sources. Cela n'a aucun effet sur quoi que
ce soit d'autre que les sources en cours d'empaquetage. Si le script agit
sur le répertoire actuel et ses sous-répertoires, l'arborescence
originale des sources demeure inchangée. Utile pour faciliter le
modelage de l'image du noyau en cours d'empaquetage.
- source_clean_hook
- Lorsqu'elle correspond à un programme, celui-ci est
alors lancé sur la racine des répertoires des en-têtes du
noyau avant leur empaquetage,
./debian/tmp-source/usr/src/kernel-source-X.X.XX. Cela n'a aucun
effet sur quoi que ce soit d'autre que les sources en cours d'empaquetage.
Si le script agit sur le répertoire actuel et ses
sous-répertoires, l'arborescence originale des sources demeure
inchangée. Utile pour faciliter le modelage des sources du noyau en
cours d'empaquetage (en supprimant par exemple les répertoires de
contrôle de version, ou en se débarrassant des architectures non
désirées).
- header_clean_hook
- Lorsqu'elle correspond à un programme, celui-ci est
alors lancé sur la racine des répertoires des en-têtes du
noyau avant leur empaquetage. Cela n'a aucun effet sur quoi que ce soit
d'autre que les sources en cours d'empaquetage. Si le script agit sur le
répertoire actuel et ses sous-répertoires, l'arborescence
originale des sources demeure inchangée. Utile pour faciliter la cure
d'amaigrissement des en-têtes du noyau en cours d'empaquetage (en
supprimant par exemple les répertoires de contrôle de version,
ou en se débarrassant des architectures non désirées).
- doc_clean_hook
- Lorsqu'elle correspond à un programme, celui-ci est
alors exécuté sur la racine de l'arborescence de la
documentation avant son empaquetage. Cela n'a aucun effet sur quoi que
soit d'autre que la documentation en cours d'empaquetage. Si le script
agit sur le répertoire actuel et ses sous-répertoires,
l'arborescence originale demeure inchangée. Utile pour faciliter le
modelage de la documentation du noyau en cours d'empaquetage (en
supprimant par exemple les répertoires de contrôle de version,
ou en se débarrassant des architectures non désirées).
- extra_docs
- Cette variable pourra contenir le chemin vers toute
documentation supplémentaire qui sera alors installée dans le
répertoire /usr/share/doc/kernel-image-X.X.XX/. Il n'y a pas
de détection de conflit de noms, et les fichiers ne sont pas
compressés. De ce fait, si vous voulez que ces fichiers soient
compressés, compressez-les et indiquez alors le chemin vers le
fichier compressé. La variable d'environnement EXTRA_DOCS a
priorité sur cette option, et indiquera certainement la manière
de spécifier la documentation supplémentaire.
- kpkg_follow_symlinks_in_src
- Cette option est particulièrement utile à ceux
qui se servent d'un ensemble de liens symboliques pour compiler leurs
noyaux. Avec cette option, les paquets kernel-source et kernel-header ne
seront pas une simple collection de liens morts, car les liens symboliques
auront été suivis. Notez bien que tout lien symbolique
présent dans les sources du noyau sera résolu. La variable
d'environnement KPKG_FOLLOW_SYMLINKS_IN_SRC a priorité sur
cette option. Par défaut, elle est n'est pas définie.
- make_libc_headers
- Variable pour le responsable de la libc6 qui,
lorsqu'il compile la libc6, empaquette aussi les en-têtes
correspondants. N'Y TOUCHEZ PAS à moins de savoir ce que vous
faites, car une différence entre les en-têtes que vous
empaquetez et la libc6 peut vraiment déclencher de subtiles
instabilités dans tous les codes compilés sur votre machine.
Vous êtes prévenu. La variable d'environnement
MAKE_LIBC_HEADERS a priorité sur cette option. Par
défaut, elle n'est pas définie.
- CONCURRENCY_LEVEL
- Si elle est définie, cette variable règle le
nombre de processus concurrents qu'utilisera make pour compiler le noyau
et les modules, grâce à l'option -j de la commande make
lancée par la cible build de make-kpkg. Doit être,
si elle est définie, un (petit) entier.
- ARCH_IN_NAME
- Si elle est définie, cette variable force
make-kpkg à utiliser un nom rallongé pour le paquet de
l'image du noyau, en intégrant la sous-architecture dans le nom de
l'image ; ainsi, on peut écrire des scripts pour créer de
multiples sous-architectures, l'une après l'autre. Notez bien
que seul le nom du paquet est changé, pas l'emplacement des
modules, etc.
- CONFDIR
- Cette variable, qu'elle soit dans d'environnement ou dans
le fichier de configuration, pourra pointer sur un répertoire
contenant les fichiers .config spécifiques aux
différentes architectures (consultez
/usr/share/kernel-package/Config pour voir des exemples). Pratique
pour ceux qui ont besoin de compiler pour plusieurs architectures. Pointe
par défaut sur /usr/share/kernel-package/Config.
- IMAGEDIR
- Si vous voulez que l'image soit stockée ailleurs que
dans /boot, définissez le répertoire de destination dans
cette variable. Cela pourra être utile aux utilisateurs de
loadlin. Pointe par défaut sur /boot.
- MODULE_LOC
- Réglez cette variable, soit dans votre environnement,
soit dans le fichier de configuration, afin qu'elle pointe sur l'endroit
où sont situés les modules additionnels. Pointe par défaut
sur /usr/src/modules.
Le contenu d'une variable est définie de la façon suivante :
- a)
- Les valeurs par défaut sont présentes dans le
fichier « rules ». Ces valeurs sont utilisées si
aucun réglage n'est fait.
- b)
- Les variables peuvent être réglées dans le
fichier de configuration /etc/kernel-pkg.conf. Ces valeurs ont
priorité sur les valeurs par défaut.
- c)
- Les variables peuvent aussi être définies en
donnant une valeur à la variable d'environnement correspondante. Ces
valeurs ont priorité sur le fichier de configuration et sur les
valeurs par défaut.
- d)
- Par l'utilisation des options de make-kpkg, ou,
lorsqu'on utilise directement les fichiers « rules »,
sur la ligne de commande.
# xxx/rules DEBIAN_REVISION=2.0a kernel_image
Cette commande a priorité sur toutes les méthodes décrites
ci-dessus.
FICHIERS¶
Le fichier ici décrit est
/etc/kernel-pkg.conf ou
~/.kernel-pkg.conf.
VOIR AUSSI¶
make(1),
make-kpkg(1),
kernel-img.conf(5),
le manuel de
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.