1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
|
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Copyright (c) 1997 Manoj Srivastava <srivasta@debian.org>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\"
.\" $Id: make-kpkg.8,v 1.76 2003/09/28 01:16:52 srivasta Exp $
.\"
.TH MAKE\-KPKG 1 "14 Nov 2002" "Debian" "Manuel Debian GNU/Linux"
.SH NOM
make\-kpkg \- construit des paquets Debian du noyau partir des sources du noyau Linux
.SH SYNOPSIS
.B make\-kpkg
.I [options]
\&[cible [cible ...]]
.SH DESCRIPTION
Cette page de manuel dcrit l'utilitaire Debian
.B "make\-kpkg",
utilis pour crer les paquets Debian concernant le noyau. Cet
utilitaire doit tre lanc partir du rpertoire racine des sources du
noyau Linux, qui doit avoir t pralablement configur ( moins que vous
n'utilisiez la cible \ configure\ ). Typiquement, vous excutez cette commande
en tant que root, avec
.B fakeroot,
ou bien en indiquant
.B make\-kpkg
comment devenir root, comme ceci :
.sp 1
.ti +5
make\-kpkg \-\-rootcmd fakeroot kernel_image
.sp 1
Le paquet Debian sera cr dans le rpertoire pre de celui des sources
du noyau depuis lequel la commande a t lance.
.PP
De plus, sachez que certaines versions de gcc ne fonctionnent pas trs bien
avec les sources du noyau (gcc 2.95 rencontre des problmes de compilation
du noyau si on n'utilise pas l'option de compilation
.I '\-fno\-strict\-aliasing').
Ce problme a t rgl pour les noyaux rcents (les sries 2.2 et 2.4)
(je crois que, pour les noyaux plus anciens, vous risquez d'avoir modifier
le makefile).
Vous pouvez indiquer la version de gcc utiliser pour la compilation du
noyau en dfinissant les variables CC et HOSTCC du Makefile (le Makefile
du premier niveau). Cela se fait tout simplement grce :
.PP
% MAKEFLAGS="CC=gcc\-2.95" make\-kpkg ...
.PP
(Consultez le Makefile de premier niveau pour connatre les variables qui
peuvent tre dfinies).
.SH OPTIONS
.B \-\-help
Affiche un message d'aide.
.TP
.BR \-\-revision " numro"
Modifie le numro de rvision Debian des paquets crs avec ce
.BR numro.
Il y a quelques contraintes d'utilisation : l'option \-\-revision n'a d'effets
que pendant la phase de configuration. En d'autres termes, si le fichier
.I stamp\-configure
existe, cette option n'aura pas d'effet. Excutez
.B make\-kpkg clean
ou supprimez vous-mme
.I stamp\-configure
et
.I stamp\-debian
afin que l'option fonctionne. Je vous recommande avec insistance
d'utiliser
.B make\-kpkg clean
sauf si vous tes sr de ce que vous faites.
De plus, les responsables officiels des paquets des sources fournissent leurs
propres numros de versions et donnes pour leurs envois officiels dans
l'archive Debian,
ce qui entrane qu'un certain nombre de choses, dont le numro de rvision
.B Debian
, ne seront pas modifis par
.B make\-kpkg.
S'il vous arrive d'avoir une source officielle, (il y a alors un fichier
.I debian/official
qui ne doit pas tre vide), et que vous voulez utiliser votre propre numro
de rvision, pensez bien supprimer
.I debian/official
avant de lancer
.B make\-kpkg clean
si vous voulez que cette option fasse effet.
Par consquent, si vous voulez relancer
.B make\-kpkg
avec un numro de rvision diffrent, assurez-vous de commencer avec une
structure propre. Ensuite, le numro de version doit tre compos
uniquement de caractres alphanumriques, des caractres + et . (plus et
point),
et doit imprativement comporter un chiffre (consultez la charte Debian pour
plus d'informations).
.I En fait, c'est un mensonge.
Les responsables officiels du noyau et des
modules ont une dispense spciale qui leur permet l'usage du trait d'union,
mais cela est fortement dconseill la plupart des gens, puisqu'aucune
correction du numro de version n'est faite, et dpkg et autres risquent de
planter en fin de compilation sans qu'on sache trs bien d'o cela vient.
Enfin, vous pouvez prfixer la version d'un chiffre suivi de deux
points (:). La valeur par dfaut est
.B 1.0.0.Custom
moins que la variable d'environnement
.B DEBIAN_REVISION_MANDATORY
ne soit active, auquel cas une erreur est gnre si le numro de version
est omis dans la ligne de commande ou le fichier de configuration.
.TP
.BR \-\-append\-to\-version " toto"
.TP
.BR \-\-append_to_version " toto"
Cet argument (
.B toto
) est ajout la valeur de la variable EXTRAVERSION du Makefile du noyau.
Puisqu'EXTRAVERSION est un des composants du numro de version du noyau, il
est aussi ajout au nom du paquet Debian, et en tant que tel, doit rpondre
aux contraintes de la charte concernant les noms de paquets. Ce qui veut dire
qu'il ne doit contenir que des caractres alphanumriques
.B minuscules
et les caractres -, + et . (trait d'union, plus et point). Les lettres
majuscules ne sont pas autorises par la Charte pour un nouveau paquet. Si la
variable d'environnement
.B IGNORE_UPPERCASE_VERSION
est dfinie, make-kpkg crira le numro de version dfini dans le Makefile ou
dans le fichier
.I localversion
en minuscules. Cet argument a priorit
sur la variable d'environnement
.B APPEND_TO_VERSION.
Notez bien que vous \fB\s-1devez\s0\fR lancer
.B make\-kpkg
.I clean
aprs avoir configur le noyau avec
.I make (x|menu)?config,
puisque celui-ci gnre le fichier
.I include/linux/version.h
.B sans
la valeur
.I append_to_version
(toto). Ce fichier ne sera pas modifi par le lancement de make\-kpkg
(make\-kpkg cre version.h s'il n'existe pas, mais ne le modifie pas s'il
existe), et donc le noyau final n'aura pas la valeur append_to_version dans
son numro de version, et ira chercher les modules et les symboles aux mauvais
endroits. Le plus simple est soit de supprimer include/linux/version.h aprs
la configuration et avant la compilation, soit de lancer
.B make\-kpkg clean
aprs la configuration, et avant la compilation.
.B Notez
aussi qu'une fois que vous avez utilis
.BR \-\-append_to_version " toto"
pour la configuration ou la construction du kernel\-image, vous devez aussi
utiliser la mme option lors de lancements ultrieurs de make\-kpkg (par
exemple, pour construire des modules indpendants, ou autres).
.B make\-kpkg
ne se souvient pas de l'argument toto chacun des lancements de la commande (ce
comportement est diffrent de \-\-revision, qui est lui persistant lors
des diffrents lancements). Si vous en avez assez de voir make\-kpkg se
plaindre de l'utilisation de
.BR \-\-append_to_version
alors qu'il y a dj un fichier cr prcdemment
.T version.h
, vous pouvez dfinir la variable d'environnement
.B VERSION_H_OK
ce qui fera cesser cet avertissement.
.TP
.BR \-\-added\-modules\ toto
.TP
.BR \-\-added_modules\ toto
Cet argument se prsente sous la forme d'une liste de modules additionnels
spars par des virgules (modules non inclus dans l'arborescence principale
du noyau) que vous souhaitez construire lorsque vous invoquez les cibles
modules_truc. Vous devez indiquer le chemin complet des rpertoires
contenant les modules, ou simplement le nom du module s'il peut tre
trouv dans
.B MODULE_LOC,
qui pointe par dfaut sur
.I /usr/src/modules.
Le comportement par dfaut compile tous les modules qui sont dans
.B MODULE_LOC,
quand les cibles modules_truc sont demandes.
.TP
.BR \-\-added\-patches\ truc
.TP
.BR \-\-added_patches\ truc
Cet argument (truc) doit tre une liste de patches additionnels pour les sources
du noyau spars par des virgules. L'option de configuration
.I patch_the_kernel
sera alors automatiquement rgle YES.
.IP
Contrairement la gestion des modules, vous pouvez n'indiquer que le nom
du fichier de patch (et pas le chemin complet du fichier). Pour chaque fichier
<nom_patch> de la liste, l'algorithme suivant est appliqu : si ce fichier
est trouv dans les rpertoires
.B ALL_PATCH_DIR/{apply,unpatch}/,
alors le fichier
.B ALL_PATCH_DIR/apply/<nom_patch>
sera appliqu pendant la phase de configuration (on prsume que cela appliquera
le patch). De la mme faon, le fichier
.B ALL_PATCH_DIR/unpatch/<nom_patch>
sera excut pendant la phase \ clean\ .
Par dfaut, tous les patches sont appliqus en lanant tous les excutables
contenus dans
.B ALL_PATCH_DIR/apply/
si la demande en est faite (que ce soit par l'option de configuration
.B patch_the_kernel
ou par la mise YES de la variable d'environnement
.B PATCH_THE_KERNEL.
Notez bien que les patches sont DS-INSTALLS des sources quand vous lancez
la cible \ clean\ . Ce nettoyage peut tre dsactiv par la dfinition de
la variable d'environnement
.B NO_UNPATCH_BY_DEFAULT.
.IP
Dans ce qui prcde,
.B ALL_PATCH_DIR
pointe par dfaut vers un sous rpertoire de
.I /usr/src/kernel\-patches/.
.IP
Parfois, il serait pratique de voir les patches s'appliquer quand quelqu'un
demande un patch spcifique grce cette option, sans tre oblig de dfinir
explicitement la variable d'environnement. Mais puisque rgler la variable
d'environnement
.B PATCH_THE_KERNEL
YES peut tre dangereux (en ce sens o tous les patches seraient installs
quand vous n'en vouliez aucun, puisque vous n'avez pas spcifi l'option
added_patches), vous pouvez rgler la variable PATCH_THE_KERNEL
.I AUTO,
et dans ce cas, PATCH_THE_KERNEL sera rgl YES quand vous demanderez
.BR \-\-added\-patches\ truc,
et pas dans le cas inverse.
De plus, notez que si un quelconque patch installe un script dans le rpertoire
.I ./debian/image.d/,
.B run\-parts
sera lanc sur ce rpertoire juste avant la construction du paquet de l'image
du noyau. L'emplacement de la racine du paquet en cours de construction sera
dfini dans la variable d'environnement
.B IMAGE_TOP,
et la version du noyau sera transmise par la variable d'environnement
.B version.
C'est un des systmes utiliss par le patch pour insrer, par exemple, des
fichiers supplmentaires dans l'image.
.TP
.BR \-\-arch\ truc
Pratique pour dfinir l'architecture quand vous utilisez la compilation
croise.
Si vous ne faites pas de compilation croise, l'architecture est
automatiquement dtermine. On peut obtenir le mme rsultat en rglant la
variable d'environnement
.B KPKG_ARCH
.TP
.BR \-\-cross\-compile\ truc
.TP
.BR \-\-cross_compile\ truc
Pratique pour dfinir la cible quand vous faites de la compilation croise.
On peut obtenir le mme rsultat en rglant la variable d'environnement
.B CROSS_COMPILE
.TP
.BR \-\-subarch\ truc
Certaines architectures (comme Alpha, ou m68k) ont besoin de noyaux diffrents
pour chacune des sous\-architectures. Cette option offre un moyen de le
spcifier en tant qu'argument de \fBmake\-kpkg\fR. \fBNotez bien\fR
qu'une gestion de ces sous\-architectures doit tre prsente dans
les sources du noyaux afin que cette option serve quelque chose. On peut
obtenir le mme rsultat en rglant la variable d'environnement
.B KPKG_SUBARCH
.TP
.BR \-\-arch\-in\-name
.TP
.BR \-\-arch_in_name
Cette option rallonge le nom du paquet de l'image du noyau
en intgrant la sous\-architecture dans le nom de l'image\ ;\ ainsi on peut
crire des scripts pour crer de multiples sous\-architectures, l'une aprs
l'autre. On peut faire la mme chose en rglant la variable
d'environnement
.B ARCH_IN_NAME.
\fBNotez bien\fR que seul le
.I nom
du paquet est chang, pas l'emplacement des modules, etc.
.TP
.BR \-\-pgpsign " nom"
Dfinit la chane utilise pour signer le fichier des modifications
.B (changes)
pour les modules externes rangs dans
.IR /usr/src/modules/
et qui utilisent PGP. Cette option prendra le pas sur le comportement par dfaut
et sur les prfrences gnrales qui se trouvent dans le fichier
.IR /etc/kernel\-pkg.conf
ou
.IR ~/.kernel\-pkg.conf.
.TP
.BR \-\-config " cible"
Modifie le type de configuration utilise, par dfaut \f(CWoldconfig\fR.
\fIcible\fR doit prendre une des valeurs suivantes \f(CWoldconfig\fR,
\f(CWconfig\fR, \f(CWmenuconfig\fR, \f(CWgconfig\fR, \f(CWxconfig\fR;
\f(CWold\fR, \f(CWmenu\fR, \f(CWg\fR, ou \f(CWx\fR.
.Sp
Cette option est particulirement utile lors de l'utilisation de
\s-1PATCH_THE_KERNEL\s0 lorsque certains patches modifient les options de
configuration offertes.
.B Notez
cependant que
.BR make\-kpkg
explore au dmarrage le fichier de configuration la recherche de certaines
options, notamment l'activation ou non des modules, et que la modification
de ce choix plus tard dans la configuration engendrera une erreur. Si
ncessaire, crez un fichier de configuration le plus proche possible de celui
dsir avant d'appeler make\-kpkg avec cette option.
.TP
.B \-\-targets
Affiche la liste des cibles connues. Voir la section
.B Cibles
plus loin.
.TP
.B \-\-noexec
Passe l'option
.B \-n
au processus
.I make
afin que les commandes soient simplement affiches l'cran mais pas rellement
excutes. C'est trs pratique pour le debogage.
.TP
.B \-\-initrd
Si
.B make\-kpkg
gnre un paquet
.I kernel\-image
, gnre toutes les actions ncessaires lors du chargement d'un noyau utilisant
.B initrd.
.B NOTE :
Ncessite un patch non standard des sources du noyau pour initrd et cramfs,
( moins que la configuration de mkinitrd n'ait t modifie afin de ne pas
utiliser cramfs), sans lequel vous risquez d'obtenir un noyau non amorable.
Ce patch est gnralement prsent dans les sources du noyau fournies par
Debian, mais pas dans les sources originales du noyau. Cette option peut
entraner des dpendances additionnelles, et des modifications des scripts
du responsable. Elle n'a pas d'effet quand
.B make\-kpkg ne gnre pas de paquet
.I kernel\-image.
Le mme rsultat peut tre obtenu en donnant la variable d'environnement
.B INITRD
une valeur non vide. Cette option entranera un avertissement, qu'on pourra viter
en donnant la variable d'environnement
.B INITRD_OK
une valeur non nulle.
Pour viter l'avertissement lors de l'installation, consultez kernel\-img.conf(5),
et ajoutez une directive
.I warn_initrd
ce fichier.
.TP
.B \-\-zimage
Gnre un noyau en zImage plutt qu'en bzImage (comportement par dfaut).
C'est utile pour ceux qui ont des problmes avec les noyaux bzImage.
.TP
.B \-\-bzimage
Gnre un noyau en bzImage. C'est utile pour ceux qui veulent un noyau bzImage
sur les systmes o le rglage par dfaut est zImage.
.TP
.B \-\-mkimage commande
Ce doit tre une commande qui produit une image initrd partir d'un rpertoire.
Elle sera passe au programme
.I mkinitrd
grce l'option
.I \-m .
Ce peut tre
"genromfs -d %s -f %s" ou
"mkcramfs %s %s",
par exemple.
.TP
.B \-\-rootcmd commande
La commande qui offre la possibilit d'obtenir l'accs super-utilisateur (Par
exemple, \ sudo\ ou \ fakeroot\ ). Cet accs est ncessaire pour l'option
\-r de dpkg\-buildpackage.
.TP
.B \-\-us
Cette option est transmise dpkg\-buildpackage et demande de ne pas signer
la source. Elle n'a de sens que pour la cible buildpackage.
.TP
.B \-\-uc
Cette option est transmise dpkg\-buildpackage, et demande de ne pas signer
le changelog. Elle n'a de sens que pour la cible buildpackage.
.PP
Les options peuvent tre raccourcies en la plus petite chane de caractres
non quivoque et peuvent tre invoques indiffremment avec les prfixes \-
ou \-\-\ ;\ Vous pouvez mettre un espace ou un symbole\ =\ entre une option et
sa valeur. Vous pouvez aussi utiliser la forme option=valeur\ ;\ Pour plus
d'informations sur ces variantes et d'autres qui sont reconnues, consultez la
page de manuel Getopt::Long (3perl).
.TP
.B CONCURRENCY_LEVEL
Si elle est dfinie, cette variable rgle le nombre de processus concurrents
qu'utilisera make pour compiler le noyau et les modules, grce l'utilisation
de l'option
.I -j
de la commande make lance par la cible
.B build
de
.B make\-kpkg.
Doit tre, s'il est dfini, un (petit) entier.
.SH CIBLES
.TP
.B clean
Efface tous les fichiers crs dans le rpertoire des sources du noyau par la
cible
.B build,
et lance un make distclean. (Consultez le Makefile du noyau Linux pour plus
d'informations). Notez que malgr l'attention que nous portons aux rglages
du noyau courant contenus dans le fichier
.I .config,
le fichier
.I include/linux/autoconf.h
ne sera pas gard. Cette cible ne doit pas tre combine avec une autre, puisque
.B make\-kpkg
lit toutes les donnes
.I avant
de lancer une quelconque cible, donc les autres cibles seront excutes avec les
anciennes donnes, ce qui n'est srement pas ce que vous dsirez.
.TP
.B buildpackage
Cette cible lance les cibles
.B clean,
et
.B binary,
et gnre le paquet complet grce
.B dpkg\-buildpackage
.TP
.B binary
Cette cible gnre les quatre paquets Debian en lanant les cibles
.B kernel_source, kernel_headers, kernel_doc
et
.B kernel_image.
.TP
.B kernel_source
Cette cible gnre un paquet Debian des sources du noyau Linux.
Si la variable d'environnement
.B SOURCE_CLEAN_HOOK
pointe sur un excutable, alors cet excutable sera lanc, juste avant de
faire le paquet, sur le rpertoire racine temporaire des sources du noyau,
.I ./debian/tmp\-source/usr/src/kernel\-source\-X.X.XX,
de faon ce qu'on puisse lancer toute commande approprie (supprimer des arborescences lies des architectures, ter les
rpertoires de contrle de version,
.I find . \-type d \-name CVS \-prune \-exec rm \-rf {} \\;
etc.). Cela ne concerne que les sources du noyau qui sont en cours
d'empaquetage. Si cette action porte sur le rpertoire courant et ses
rpertoires fils, l'arborescence originale qui contient les sources reste,
elle, inchange.
Les variables d'environnement
.B HEADER_CLEAN_HOOK
et
.B DOC_CLEAN_HOOK
sont semblables. Elles doivent pointer sur des excutables, ces excutables
seront appliqus sur la racine temporaire des en-ttes du noyau et de la
documentation juste avant la gnration des paquets respectifs, de faon
ce que vous puissiez lancer toute action qui vous semble adquate. De mme, ne
sont touches que les sources qui sont en cours d'empaquetage.
.TP
.B kernel_headers
Cette cible gnre le paquet Debian contenant les fichiers d'en-ttes
contenu dans le noyau Linux.
.TP
.B kernel_doc
Cette cible gnre un paquet Debian contenant la documentation contenue
dans le noyau Linux.
.TP
.B kernel_image
Cette cible gnre un paquet Debian contenant un noyau Linux, et tous les modules
dfinis dans le fichier de configuration du noyau
.I .config.
S'il n'y a pas de fichier
.I .config
dans les rpertoires des sources du noyau, une configuration par dfaut est
utilis, identique celle utilis pour crer les disquettes de dmarrage
.B Debian.
.IP
Si le fichier
.I ./debian/post\-install
existe, et qu'il s'agit d'un excutable, il est lanc juste avant la cration
du paquet de l'image du noyau. De mme, notez que si des scripts existent
dans le rpertoire
.I ./debian/image.d/
,
.B run\-parts
sera lanc sur ce rpertoire juste avant la cration du paquet de l'image du
noyau. L'emplacement de la racine de l'image pour le paquet en cours de
construction peut tre dfini par la variable d'environnement
.B IMAGE_TOP,
et la version du noyau est dfinie grce la variable d'environnement
.B version
pour tous ces scripts.
.IP
Lors de l'installation initiale, le paquet image met jour le lien symbolique
contenu dans le rpertoire destination (la racine, par dfaut) afin qu'il pointe
sur la nouvelle image du noyau dans le rpertoire des images, qui est
.I /boot.
Si le lien symbolique pointe dj sur l'image du noyau jour, rien ne se
passe. Si le lien pointe une version prcdente, il y a permutation avec
le suffixe .old, et un nouveau lien symbolique, correctement mis jour,
prend sa place (la variable minimal_swap dans
.I /etc/kernel\-img.conf
modifie ce comportement). Rien n'est fait lors de mises jour.
.IP
Consultez la documentation propos des variables de type \ hook\ dans
.B kernel\-img.conf(5).
Ces variables peuvent indiquer des scripts qui
ajoutent ou suppriment une ligne dans le menu du grub l'installation ou la
suppression de l'image du noyau. Un exemple de script pour ajouter des lignes
au menu du grub est fourni dans le rpertoire
.I /usr/share/doc/kernel\-package/.
.IP
En dehors de ces variables de type \ hook\ que l'administrateur peut dfinir,
il existe un ensemble de rpertoires dans lesquels des paquets, ou
l'administrateur, peuvent dposer des scripts. Ces rpertoires sont
.I /etc/kernel/preinst.d/,
.I /etc/kernel/postinst.d/,
.I /etc/kernel/prerm.d/,
et
.I /etc/kernel/postrm.d/.
Si ces rpertoires existent, le paquet kernel-image lancera le programme
.B run-parts
sur ceux-ci, en passant la version en cours d'installation ou de suppression
en tant qu'argument, durant la phase correspondante d'installation ou de
suppression.
.IP
l'installation, vous aurez la possibilit de lancer le chargeur de dmarrage
.I LILO
(ou des quivalents tels que
.I loadlin, SILO, QUIK, VMELILO, ZIPL, yaboot, PALO
ou
.I GRUB
), en crant un fichier de configuration pour ces programmes de dmarrage, si
ncessaire. ce moment, vous aurez aussi la possibilit de mettre ce nouveau
noyau sur une disquette, en formatant la disquette si ncessaire.
En cas de suppression, le paquet vrifie la version du noyau en cours
d'excution, et refuse alors d'effacer le noyau en cours d'utilisation.
.I grub
mrite une mention particulire ici, puisque grub n'a pas besoin d'tre
relanc aprs l'installation d'une image de noyau, et qu'une modification
automatise du contenu du menu est suffisante pour l'installation ou la
suppression d'une image d'un noyau.
.TP
.B build
Cette cible, utilise par la cible
.B kernel_image
ci-dessus, compile le noyau Linux.
.TP
.B modules
Cette cible vous permet de gnrer tous les modules et paquets additionnels qui
dpendent fortement de la version du noyau pour laquelle ils ont t compils,
en mme temps que vous construisez votre image du noyau. Cette cible s'attend
trouver les modules et paquets sous /usr/src/modules, et, pour chacun de ces
rpertoires, s'y dplacera et lancera la rgle
.B kdist
du fichier
.I debian.rules
qui s'y trouve. Cette cible crera le(s) paquet(s)
.B Debian
de(s) module(s), ainsi qu'un fichier tar compress et un fichier diff compress,
les
.I md5sums
correspondants, gnrs par
.B dpkg\-genchanges,
seront enregistrs dans un fichier des modifications (changes).
Ce fichier sera sign avec la mme identit que celle utilise pour signer le
paquet du noyau. Cette option est utilise par les responsables qui dploient
les paquets dans les archives de Debian.
.TP
.B modules_config
Cette cible permet de configurer tous les paquets de
.B MODULE_LOC,
qui pointe par dfaut sur
.B /usr/src/modules.
utiliser si vous avez besoin de modifier manuellement certains points de
la configuration, ou si vous voulez compiler manuellement tous les modules
additionnels.
.TP
.B modules_image
Cette cible vous permet de construire tous les paquets de
.B MODULE_LOC,
qui pointe par dfaut sur
.B /usr/src/modules,
mais elle ne cre pas les fichiers sources ou diffs, ni ne cre ni ne signe un
fichier des modifications (un fichier \ changes\ ). C'est la seule option
lie aux modules dont vous aurez besoin si vous voulez juste compiler les
modules additionnels pour leur installation sur une ou plusieurs machines.
Utilise en gnral en conjonction avec
.B kernel_image,
notamment si vous invoquez aussi l'option
.B append_to_version
(afin d'viter de faux messages d'avertissement).
.TP
.B modules_clean
Cette cible vous permet de nettoyer tous les paquets de
.B MODULE_LOC,
qui pointe par dfaut sur
.B /usr/src/modules,
ce qui devrait tre suffisant pour dfaire tout ce qu'ont pu faire toutes les
autres cibles modules_truc.
.TP
.B configure
Cette cible lance configure (en fait
.B config_target,
dfini par
.B --config
qui pointe par dfaut sur
.I oldconfig
) assez tt, de sorte que vous puissiez diter les fichiers crs par
.B make config
dans le rpertoire des sources du noyau, sans que
.B make\-kpkg
ne les crase.
.TP
.B debian
Cette cible cre le rpertoire
.I ./debian,
et patche ventuellement le source. Cette cible est appele par la cible
.B configure.
Vous utiliserez cette cible pour patcher les sources, puis vous lancerez
l'tape de configuration manuellement.
.TP
.B libc\-kheaders
C'est une cible spciale pour les responsables de libc\-dev, qui peuvent
s'en servir pour crer les paquets d'en-ttes dont la libc a besoin. Notez
qu'il est dangereux de crer un paquet de libc\-kheaders qui est diffrent
des en-ttes avec lesquels la libc a t compile. C'est une cause
.B connue
d'arrts brutaux du systme. Consultez
.I /usr/share/kernel\-package/README.headers
pour plus d'informations. Crer et installer votre propre paquet libc\-kheaders
peut endommager votre systme, moins que vous ne soyez sr de ce vous faites.
Vous tes prvenus.
.SH "VARIABLES D'ENVIRONNEMENT"
Les variables suivantes (dcrites plus haut) affectent
.B make\-kpkg:
.I DEBIAN_REVISION_MANDATORY
.I APPEND_TO_VERSION
.I VERSION_H_OK
.I PATCH_THE_KERNEL
.I NO_UNPATCH_BY_DEFAULT
.I KPKG_ARCH
.I CROSS_COMPILE
.I KPKG_SUBARCH
.I ARCH_IN_NAME
.I INITRD
.I SOURCE_CLEAN_HOOK
.I MODULE_LOC
.I INITRD_OK
.I CONCURRENCY_LEVEL
.I IGNORE_UPPERCASE_VERSION
.SH FICHIERS
Outre les options de lancement, le fichier
.I debian.rules
lanc par
.B make\-kpkg
recherche galement un fichier de configuration propre l'utilisateur
.I ~/.kernel\-pkg.conf.
En cas d'absence de ce fichier, il recherche un rglage par dfaut pour
tout le systme dans le fichier
.I /etc/kernel\-pkg.conf.
La configuration par dfaut permet le remplacement pour tout le systme du
nom complet et du courriel de la personne responsable de la maintenance des
paquets du noyau sur le site, mais les fichiers
.I /etc/kernel\-pkg.conf
(ou
.I ~/.kernel\-pkg.conf.
) sont en fait des bribes de Makefile, et toute directive valide
peut y tre incluse.
.B Note :
La prudence est de mise avec ce fichier, puisque vous pouvez changer
compltement le comportement du make en modifiant son
contenu. Consultez le fichier
.I /usr/share/doc/kernel\-package/Problems.gz
pour connatre la liste des problmes recenss lors de la compilation des
images du noyau. Un tutoriel exhaustif et une documentation sont aussi
disponibles dans
.I /usr/share/doc/kernel\-package/README.gz
et leurs lectures sont recommandes avant l'utilisation de cet utilitaire.
.SH "VOIR AUSSI"
.BR kernel\-pkg.conf (5),
.BR kernel\-img.conf (5),
.BR Getopt::Long (3perl),
.BR dpkg\-deb (1),
.BR dpkg\-source (1),
.BR make (1),
.BR Le\ manuel\ des\ Programmeurs
.BR Le\ manuel\ du\ make\ du\ GNU
et la documentation complte du rpertoire
.B /usr/share/doc/kernel\-package
.SH AUTEUR
Cette page de manuel a t crite par Manoj Srivastava <srivasta@debian.org>,
pour le systme Debian GNU/Linux.
.SH TRADUCTION
Sylvain Cherrier <sylvain.cherrier@free.fr> Octobre 2004.
|