File: make-kpkg.fr.8

package info (click to toggle)
kernel-package 10.067
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,552 kB
  • ctags: 789
  • sloc: perl: 3,283; sh: 602; makefile: 176
file content (706 lines) | stat: -rw-r--r-- 27,586 bytes parent folder | download
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.