File: make-kpkg.es.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 (802 lines) | stat: -rw-r--r-- 31,070 bytes parent folder | download | duplicates (2)
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
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
.\" 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.es.8,v 1.3 2003/08/08 19:13:57 srivasta Exp $
.\"

.\" (c) 2003 Software in the Public Interest
.\" Esta traduccin ha sido realizada por Rubn Porras Campo <nahoo@inicia.es>
.\" Est basada en la pgina de manual original:
.\" versin 1.24 del CVS de
.\" /cvs/debian-doc/manpages/english/kernel-package/make-kpkg.8
.\" Revisada por Rudy Godoy <rudy@kernel-panik.org>

.TH MAKE\-KPKG 1 "14 noviembre de 2002" "Debian" "manual de Debian GNU/Linux"
.SH NOMBRE
make\-kpkg \- construye paquetes Debian con ncleos a partir de las fuentes
.SH SINOPSIS
.B make\-kpkg
.I [opciones]
\&[objetivo [objetivo ...]]
.SH DESCRIPCIN
Esta pgina del manual explica la utilidad
.B "make\-kpkg"
, usada para crear paquetes Debian relacionados con el ncleo. La utilidad debe
ejecutarse desde el directorio superior de las fuentes del ncleo, el cual ya
debe de haber sido configurado previamente (a menos que se use el objetivo
configure). Normalmente, si kernel\-package no encuentra un fichero
.I .config
en el directorio actual, trata por todos los medios de obtener uno
apropiado (generalmente un fichero de configuracin adaptado para
ncleos Debian para esa arquitectura), y luego invoca a
.B make oldconfig
para permitir que el usuario responda cualquier pregunta nueva.
Tpicamente, el programa se ejecuta como superusuario o bajo
.B fakeroot,
sino hay que indicar a
.B make\-kpkg
como convertirse en superusuario, por ejemplo:
.sp 1
.ti +5
make\-kpkg \-\-rootcmd fakeroot kernel_image
.sp 1
El fichero de paquete Debian se crea en el directorio padre al directorio del
directorio de fuentes del ncleo donde se ejecute esta orden.
.PP
Tambin, tenga en cuenta que algunas versiones de gcc no interaccionan bien con
las fuentes del ncleo (gcc 2.95 tiene problemas compilando el ncleo sin la
opcin
.I '\-fno\-strict\-aliasing' ).
Este asunto ha sido cuidado en los ncleos recientes (las series 2.2 y 2.4
estn bien) (Creo que puede necesitar editar el Makefile para ncleos
anteriores, o alguna otra cosa). Puede controlar que versin de gcc se usa para
compilar el ncleo estableciendo las variables CC y HOSTCC en el Makefile
principal del ncleo. Puede hacer esto simplemente con
.PP
  % MAKEFLAGS="CC=gcc\-2.95" make\-kpkg ...
.PP
(por favor, lea el Makefile principal para saber que variables pueden establecerse).
.PP
.B ADVERTENCIA:
No utilice la opcin \-j en MAKEFLAGS directamente, esto podra hacer
que la compilacin falle. Utilice CONCURRENCY_LEVEL como se especifca a
continuacin.
.SH OPCIONES
.B \-\-help
Muestra el modo de uso.
.TP
.BR \-\-revision " nmero"
Cambia el nmero de revisin de los paquetes producidos a
.BR nmero.
Esto tiene algunas restricciones: la opcin \-\-revision slo tiene efecto en la
fase de configuracin (en otras palabras, si existe un fichero llamado
.I stamp\-configure
, esta opcin no tiene efecto \-\- ejecute 
.B make\-kpkg clean 
o elimine manualmente los ficheros
.I stamp\-configure 
y
.I stamp\-debian
para que lo tenga. (Recomiendo encarecidamente que ejecute
.B make\-kpkg clean 
a menos que sepa lo que est haciendo).
Adicionalmente, los paquetes oficiales con las fuentes proporcionan su propio
nmero de versin y datos para las introducciones oficiales, y por eso,
.B make\-kpkg.
no modifica algunas cosas, incluyendo el nmero de revisin de
.B Debian.
Si quiere cambiar el nmero de revisin de unas fuentes oficiales (esto implica
que existe
.I debian/official
y no est vaco), asegrese de eliminar
.I debian/official
antes de ejecutar
.B make\-kpkg clean 
para que esta opcin tenga efecto.
Por eso, si desea volver a ejecutar
.B make\-kpkg 
con un nmero de versin diferente, tiene que asegurarse de hacer borrn y
cuenta nueva. La versin slo puede contener caracteres alfanumricos y los
caracteres ~ + . (tilde, punto y signo ms) y debe de contener un dgito. Consulte las
Normas de Debian (Debian Policy) para ms detalles.
.I Realmente, esto es mentira: los responsables de los ncleos y mdulos
oficiales tienen permiso para usar guiones, pero est altamente desaconsejado
para la mayora de la gente, ya que no hay ningn tipo de comprobacin del nmero
de versin, y dpkg y otros pueden atascar al final de la compilacin a menos que
uno sepa lo que est haciendo. Opcionalmente, puede anteponer a la revisin un
dgito seguido de dos puntos (:). Por omisin es
.B 10.00.Custom
a menos que est establecida la variable de entorno
.B DEBIAN_REVISION_MANDATORY
, en cuyo caso se genera un error si no se especifica un nmero de versin, bien
en la lnea de rdenes o bien en el fichero de configuracin.
.TP
.BR \-\-append\-to\-version " tal"
.TP
.BR \-\-append_to_version " tal"
Este argumento (
.B tal
) se aade al valor de la variable EXTRAVERSION presente en el Makefile del
ncleo. Dado que EXTRAVERSION es un componente de la versin del ncleo, tambin
se aade al nombre del paquete, y, como tal, debe de cumplir las normas a las
que estn sujetos los nombres de los paquetes Debian. Esto quiere decir que slo
puede contener caracteres alfanumricos en
.B  minsculas
y los caracteres ~ \- + . (tilde, guin, signo ms y punto). Las normas no permiten
letras maysculas en los paquetes nuevos. Si la variable de entorno
.B IGNORE_UPPERCASE_VERSION
est establecida, make\-kpkg pasar a minsculas los nmeros de versin en el
Makefile o en el fichero
.I localversion.
Esto predomina sobre la variable de entorno
.B APPEND_TO_VERSION.
Por favor, tenga en cuenta de que \fB\s-1debe\s0\fR ejecutar
.B make\-kpkg 
.I clean
despus de configurar el ncleo usando
.I make (x|menu)?config, 
ya que esto crea el fichero
.I include/linux/version.h
.B sin
el contenido de
.I append_to_version
(tal). Este fichero no ser actualizado por make\-kpkg (make\-kpkg
crea version.h si ste no existe, pero no lo toca si ya existe),
y el ncleo final _no_ tendr el contenido de append_to_version en su nmero de
versin, esto har que busque los mdulos y smbolos en sitios incorrectos. La
solucin mas sencilla es borrar include/linux/version.h despus de configurar y
antes de compilar, o ejecutar
.B make\-kpkg clean
despus de configurar y antes de compilar.
.B Tenga en cuenta
de que una vez que use
.BR \-\-append_to_version " tal"
para configurar o construir la imagen del ncleo, necesita usar la misma opcin
en ejecuciones posteriores de make\-kpkg (por ejemplo, para construir mdulos
independientes, o cualquier cosa).
.B make\-kpkg
no recuerda el argumento tal entre ejecuciones (esto es diferente con el
argumento \-\-revision, que si se recuerda). Si le molesta que make\-kpkg se queje
acerca del uso de
.BR \-\-append_to_version 
cuando ya existe un fichero
.T version.h
anterior, puede establecer la variable de entorno
.B VERSION_H_OK
que debera parar estos avisos.
.TP
.BR \-\-added\-modules\ tal
.TP
.BR \-\-added_modules\ tal
El argumento debe ser una lista de mdulos aadidos separada por comas (que no
estn en el rbol principal del ncleo) que desea construir cuando invoque el
objetivo modules_blah. Debe proporcionar la ruta completa del directorio donde
residen los mdulos, o slo el nombre del mdulo si se puede encontrar en
.B MODULE_LOC,
que por omisin apunta a
.I /usr/src/modules.
Por omisin se compilan todos los mdulos en
.B MODULE_LOC,
cuando se invocan los objetivos modules_blah.
.TP
.BR \-\-added\-patches\ tal
.TP
.BR \-\-added_patches\ tal
El argumento debe de ser una lista separada por comas de parches adicionales
para el ncleo. Establece automticamente la opcin de configuracin del ncleo
.I patch_the_kernel
a YES. 
.IP
A diferencia de con los mdulos, slo debe proporcionar la base del nombre (n.t.
del ingls basename) (no el nombre completo del fichero con el parche). Adicionalmente,
no se soporta cualquier parche que intente cambiar el nmero de versin, bien editando el fichero
.B Makefile,
o aadiendo un fichero
.B .localversion
, e interrumpir la compilacin, debido a que el nmero de versin ya ha sido
fijado en
.I debian/changelog.
.IP
Por cada fichero <nombre_parche> en la lista se sigue el siguiente proceso: Si el fichero
se puede encontrar en los directorios
.B ALL_PATCH_DIR/{apply,unpatch}/,
entonces el fichero
.B ALL_PATCH_DIR/apply/<nombre_parche>
se ejecutar durante la fase de configuracin (y presumiblemente esto aplicar
el parche). Correspondientemente, el fichero
.B ALL_PATCH_DIR/unpatch/<nombre_parche> 
debe de ejecutarse en la fase de borrado. Por omisin todos los parches se
aplican invocando los ficheros ejecutables en
.B ALL_PATCH_DIR/apply/
si es requerido (Bien estableciendo la opcin de configuracin
.B patch_the_kernel
o la variable de entorno
.B PATCH_THE_KERNEL
a YES). Tenga en cuenta de que los parches son DES\-instalados de las fuentes del
ncleo cuando se ejecuta el objetivo clean. Esto se puede prevenir estableciendo
la variable de entorno
.B NO_UNPATCH_BY_DEFAULT
.IP
Arriba, 
.B ALL_PATCH_DIR
es por omisin un subdirectorio de
.I /usr/src/kernel\-patches/.
.IP
Algunas veces puede ser conveniente aplicar los parches cuando uno pide un
parche especfico usando esta opcin, sin necesidad de tener que establecer
explcitamente la variable de entorno. Puesto que establecer la variable de
entorno
.B PATCH_THE_KERNEL
a YES puede ser peligroso, (puede darse el caso de que se apliquen todos los
parches cuando no quera aplicar ninguno, y no especific la opcin
added_patches), tambin puede establecer la variable PATCH_THE_KERNEL a
.I AUTO,
en cuyo caso PATCH_THE_KERNEL ser establecida a YES por usted cuando invoque
.BR \-\-added\-patches\ tal, 
pero no en otra situacin.
Adems, tenga en cuenta de que si algn parche instala un script en el directorio
.I ./debian/image.d/
, debe de invocarse a 
.B run\-parts
sobre ese directorio nada ms se construya la imagen del ncleo. El lugar de
la raz del paquete con la imagen siendo construida debe pasarse en la variable
de entorno
.B IMAGE_TOP,
y las versiones del ncleo se pasan mediante la variable de entorno
.B version.
De esta forma es posible, por ejemplo, de que un parche inserte ficheros adicionales en la
imagen.
.IP
Algunos de los paquetes con parches tambin tienen en cuenta otras variables de
entorno, esto se documenta en el directorio doc apropiado (por ejemplo, debera
mirar en
.I /usr/share/doc/kernel-patch-tal/README-kernelpatch.Debian
si quiere informacin adicional para sobre el parche tal).
.TP
.BR \-\-arch\ tal
til para establecer la arquitectura cuando se est realizando compilacin
cruzada. La arquitectura se detecta automticamente si no est realizando
compilacin cruzada. El mismo efecto se puede conseguir estableciendo la
variable de entorno
.B KPKG_ARCH.
El valor debera ser lo que contenga
.B DEB_HOST_ARCH_CPU
cuando se ejecute
.I dpkg\-architecture
en el sistema objetivo, o puede ser otra arquitectura en un entorno 
multi\-arquitectura (como i386/amd64).
.TP
.BR \-\-cross\-compile\ tal
.TP
.BR \-\-cross_compile\ tal
Es til para definir la cadena de caracteres del objetivo cuando se est
realizando compilacin cruzada. Use el objetivo falso "\-" si est
compilando para otras arquitecturas de un entorno multiarquitectura,
como i386/amd64. El mismo efecto se puede conseguir estableciendo
la variable de entorno. Por favor tenga en cuenta de que esto de
ninguna manera define el compilador que deber usar el proceso de compilacin
del ncleo, si el compilador por omisin que se utiliza en el proceso de compilacin
no es el que se desea, por favor espeficique explcitamente el que se debe
utilizar.
.B CROSS_COMPILE
.TP
.BR \-\-subarch\ tal
Algunas arquitecturas (Alpha, y m68k) requieren un ncleo diferente para cada
sub\-arquitectura. Esta opcin proporciona un modo de especificarlo como
argumento de \fBmake\-kpkg\fR. \fBTenga en cuenta\fR de que se necesita soporte
adicional para sub\-arquitecturas en las fuentes del ncleo para que esto tenga
algn efecto. El mismo efecto se puede conseguir estableciendo la variable de entorno
.B KPKG_SUBARCH
.TP
.BR \-\-arch\-in\-name
.TP
.BR \-\-arch_in_name
Esta opcin usa un nombre extendido para la imagen del ncleo empaquetada,
introduciendo la sub\-arquitectura en el nombre de sta, de este modo se pueden
crear scripts que creen mltiples sub\-aquitecturas, una despus de otra. El
mismo efecto se puede conseguir estableciendo la variable de entorno
.B ARCH_IN_NAME. 
\fBTenga en cuenta\fR de que slo afecta al
.I nombre
del paquete, no a la localizacin de los mdulos y dems.
.TP
.BR \-\-pgpsign " nombre"
Establece la cadena a usar para firmar el fichero de
.B cambios
de cada mdulo externo en
.IR /usr/src/modules/
usando PGP. Esta opcin no tendr en cuenta el comportamiento predeterminado ni
la configuracin del sistema guardada en
.IR /etc/kernel\-pkg.conf
o
.IR ~/.kernel\-pkg.conf.
.TP
.BR \-\-config " objetivo"
Cambia el tipo de configuracin hecha desde el \f(CWoldconfig\fR por omisin.
\fIobjetivo\fR debe ser uno de \f(CWoldconfig\fR, \f(CWconfig\fR, 
\f(CWmenuconfig\fR, \f(CWgconfig\fR, \f(CWxconfig\fR, \f(CWrandconfig\fR, 
\f(CWdefconfig\fR, \f(CWallmodconfig\fR, \f(CWallyesconfig\fR,
\f(CWallnoconfig\fR;  \f(CWold\fR,
\f(CWmenu\fR, \f(CWg\fR, o \f(CWx\fR.
.sp
Esta opcin es particularmente til cuando se usa \s-1PATCH_THE_KERNEL\s0 por si
alguno de los parches cambia las opciones de configuracin disponibles.
.B Note de que
sin embargo
.BR make\-kpkg
busca al arrancar algunas opciones en el fichero de configuracin, notablemente
el hecho de que los mdulos estn o no habilitados, de manera que cambiar el
estado durante esta configuracin retrasada resulta en un error. Si es
necesario, cree el fichero de configuracin lo ms prximo a lo deseado antes de
llamar a make\-kpkg con esta opcin.
.TP
.B \-\-targets
Muestra una lista de objetivos conocidos. Lea la seccin
.B Objetivos
ms abajo.
.TP
.B \-\-noexec
Pasa la opcin 
.B \-n
a
.I make
de forma que las rdenes se muestran en pantalla pero no se ejecutan. til para
depuracin.
.TP
.B \-\-verbose
Esto invoca
.I make
con la opcin \-V=1, que llama a las rdenes Make de nivel superior,
tambin es til para ver que est ocurriendo.
.TP 
.B \-\-initrd
Si 
.B make\-kpkg 
est generando un paquete del tipo
.I kernel\-image 
, realizar cualquier accin necesaria para que el ncleo se pueda cargar usando
.B initrd.  
.B NOTA:
en los ncleos antiguos, esto requiere un parche (que no es estndar) cramfs de
initrd a las fuentes del ncleo, (a menos que la configuracin del mkinitrd se
haya modificado para no usar cramfs) o se generar una imagen del ncleo
imposible de arrancar. El parche normalmente se encontraba en las fuentes del
ncleo proporcionadas por Debian. Algunas arquitecturas todava necesitan
parches para arreglar problemas con cramfs. Esta opcin puede implicar
dependencias extra y modificaciones en los scripts del encargado del paquete. No
tiene efecto cuando 
.B make\-kpkg no est generando un paquete 
.I kernel\-image.
El mismo efecto se puede conseguir estableciendo la
variable de entorno
.B INITRD
a cualquier valor no nulo. 
.TP
.B \-\-zimage
Crea una imagen del ncleo del tipo zImage en vez de bzImage (predeterminada).
til para gente con problemas con los ncleos bzImage. 
.TP
.B \-\-bzimage
Crea un ncleo bzImage. til para gente que quiera un ncleo bzImage donde el
ncleo predeterminado es un zImage. 
.TP
 .B \-\-mkimage
Debe ser una orden que produzca una imagen initrd dado un directorio. Se pasa a
la opcin
.I \-m
del programa
.I mkinitrd.
Por ejemplo, puede ser
 "genromfs \-d %s \-f %s"
o
 "mkcramfs %s %s"
.TP
.B \-\-rootcmd tal
La orden que proporciona acceso de superusuario (por ejemplo, `sudo' o
`fakeroot'), necesitado por la opcin \-r de dpkg\-buildpackage.
.TP
.TP
.B \-\-us
Esta opcin se pasa a dpkg\-buildpackage, indica que el paquete no debe firmar
las fuentes. Slo es relevante para el objetivo buildpackage.
.TP
.B \-\-stem tal
Invoca a los paquetes tal\-* en lugar de kernel\-*. Esto es til para
facilitar la transicin de invocar los paquetes kernel\-* a linux\-*,
en preparacin para ncleos distintos a linux en la distribucin. El
valor predeterminado es linux.
.TP
.B \-\-us
Esta opcin se pasa a dpkg\-buildpackage e indica qu paquete no
firma el fuente. Esto es nicamente relevante para el objetivo
buildpackage.
.TP
.B \-\-uc
Esta opcin se pasa a dpkg\-buildpackage, indica que el paquete no debe firmar el
fichero de cambios (changelog). Slo es relevante para el objetivo buildpackage.
.PP
Las opciones pueden acortarse a una nica cadena ms corta, pudiendo
introducirse adems con el prefijo \- o \-\-, entre una opcin y su valor se
puede usar tanto un espacio como un smbolo '='. Tambin puede usar la forma
opcin=valor; para ms detalles sobre sta y otras variantes soportadas, lea la
pgina del manual Getopt::Long (3perl).
.TP
.B CONCURRENCY_LEVEL
Si est definida, esta variable de entorno establece el nivel de concurrencia
usado por make para compilar el ncleo y el conjunto de mdulos, usando la
opcin
.I \-j
para el make del objetivo
.B build
de
.B make\-kpkg.
Si se usa debe ser un entero (pequeo). Puede obtener el nmero actual de
procesadores usando la orden:
 "grep -c '^processor' /proc/cpuinfo"
.B ADVERTENCIA:
NO utilice la opcin \-j en MAKEFLAGS directamente, esto podra hacer que
falle la compilacin.
.SH OBJETIVOS
.TP
.B clean
Elimina del directorio con las fuentes del ncleo todos los ficheros generados
por el objetivo
.B build,
y ejecuta make distclean. (Va en el Makefile del ncleo de Linux para ms
detalles).
Tenga en cuenta que aunque se preserva la lista de configuracin del ncleo actual
del fichero
.I .config,
no se preserva el fichero
.I include/linux/autoconf.h.
Este objetivo no debe combinarse con otros, ya que
.B make\-kpkg
lee todos los datos
.I antes
de ejecutar cualquier objetivo, lo que hace que los objetivos siguientes se
ejecuten con los datos viejos, algo que probablemente no es lo que desea.
.TP
.B buildpackage
Este objetivo ejecuta los objetivos
.B clean, 
y
.B binary,
para producir el paquete completo usando
.B dpkg\-buildpackage
.TP
.B binary
Este objetivo produce los cuatro paquetes del ncleo de Debian ejecutando los
objetivos
.B binary\-indep
y
.B binary\-arch.
.TP
.B binary-indep
Este objetivo produce los paquetes independientes de la arquitectura ejecutando
los objetivos
.B kernel_source,
.B kernel_manual
y
.B kernel_doc.
.TP
.B binary\-arch
Este objetivo produce los paquetes dependientes de la arquitectura ejecutando
los objetivos
.B kernel_headers
y
.B kernel_image.
.TP
.B kernel_source
Este objetivo produce un paquete debianizado de las fuentes del ncleo. Si la
variable de entorno 
.B SOURCE_CLEAN_HOOK
apunta a un ejecutable, ste se ejecutar desde el directorio temporal de las
fuentes del ncleo justo antes de empaquetarlo,
.I ./debian/tmp\-source/usr/src/kernel\-source\-X.X.XX,
de esta forma puede tomar acciones necesarias para ajustar el ncleo a sus
necesidades (eliminar arquitecturas, borrar los directorios de control de
versiones, 
.I find . \-type d \-name CVS \-prune \-exec rm \-rf {} \\;
etc). No tiene efecto sobre otra cosa que no sean las fuentes del ncleo que van
a ser empaquetadas (si el script opera en el directorio actual y sus
descendientes las fuentes originales del ncleo deberan permanecer
intactas). Las variables de entorno
.B HEADER_CLEAN_HOOK
y
.B DOC_CLEAN_HOOK
son similares. Deberan apuntar a ejecutables, stos se ejecutarn
respectivamente desde el directorio temporal (tmp) de las cabeceras y 
documentacin del ncleo justo antes de empaquetarlo, de esta forma puede 
tomar acciones necesarias para ajustar el ncleo a sus necesidades. 
Slo tiene efecto sobre las fuentes que se estn empaquetando.
.TP
.B kernel_headers
Este objetivo produce una paquete Debian que contiene las cabeceras del ncleo
de Linux.
.TP
.B kernel_manual
Este objetivo produce un paquete Debian que contiene la seccin 9
de las pginas de manual incluidas en el ncleo Linux. Tenga en cuenta de
que en realidad esto no es un objetivo independiente, al invocarlo
tambin se invoca el objetivo
.I kernel_doc
, y se crea un paquete kernel\-doc al mismo tiempo.
.TP
.B kernel_doc
Este objetivo produce un paquete Debian que contiene la documentacin incluida
con el ncleo de Linux. ste se puede invocar independientemente del objetivo
.I kernel_manual
, pero no en al contrario.
.TP
.B kernel_image
Este objetivo produce un paquete Debian con la imagen del ncleo de Linux y
cualquier mdulo configurado en el fichero de configuracin del ncleo
.I .config.
Si no hay ningn fichero
.I .config
en el directorio con las fuentes del ncleo se proporciona una configuracin por
omisin parecida a la usada para crear los boot\-floppies de
.B Debian.
.IP
Si existe el fichero
.I ./debian/post\-install
y es ejecutable, ste se ejecuta justo antes de crear el paquete con la imagen
del ncleo. Adems, tenga en cuenta de que si hay algn script en el directorio
.I ./debian/image.d/
, se debe ejecutar
.B run\-parts 
en ese directorio justo antes construir el paquete con la
imagen del ncleo. La localizacin de la raz del paquete con la imagen que se
est construyendo debe de pasarse mediante la variable de entorno
.B IMAGE_TOP,
y la versin del ncleo se pasa a travs de la variable de entorno
.B version
para todos los scripts.
.IP
En una instalacin inicial, el paquete con la imagen actualiza los enlaces
simblicos en el directorio destino de los enlaces simblicos (por omisin es
el directorio raz) para que apunten a la nueva imagen del ncleo en el
directorio de las imgenes del ncleo que es 
.I /boot.
Si el enlace simblico ya apunta a la imagen actual del ncleo no se hace
nada. Si existe un enlace simblico anterior, ste se mueve a un fichero con el
mismo nombre pero con el sufijo .old, y se instala en su lugar un nuevo enlace
simblico acorde a la nueva situacin (la variable minimal_swap en 
.I /etc/kernel\-img.conf
modifica este comportamiento). No se realiza ninguna actuacin en las
actualizaciones.
.IP
Por favor, lea la documentacin acerca de enganches en
.B kernel\-img.conf(5).
Estos enganches son variables que pueden apuntar a scripts que aadan o eliminen
una lnea a la lista del men de grub durante la instalacin o desinstalacin
del ncleo. Se incluye un script de ejemplo para aadir lneas al fichero de
men de grub en el directorio
.I /usr/share/doc/kernel\-package/.
.IP
Adems de las variables de enganche que pueda establecer el administrador local,
hay una serie de directorios en los que los paquetes, o el administrador local,
pueden colocar scripts. Los directorios son
.I /etc/kernel/preinst.d/,
.I /etc/kernel/postinst.d/,
.I /etc/kernel/prerm.d/,
.I /etc/kernel/postrm.d/.
y
.I /etc/kernel/preinst.d/<VERSIN>/,
.I /etc/kernel/postinst.d/<VERSIN>/,
.I /etc/kernel/prerm.d/<VERSIN>/,
.I /etc/kernel/postrm.d/<VERSIN>/.
Si existen, el paquete kernel-image ejecutar
.B run-parts
sobre los directorios (incluyendo los que tengan un nmero de versin), usando
la versin a instalar o eliminar como argumento, en la fase correspondiente de
la instalacin o desinstalacin. Antes de invocar estos script, se debe
definir la variable de entorno
.B STEM
al valor del argumento
.I \-\-stem
(o el valor predeterminado, Linux). Estos scripts se deben invocar con dos
argumentos, el primero debe ser la
.I version
de la imagen del ncleo, y el segundo argumento debe ser la
.I localizacin
de la propia imagen del ncleo. Debido a que debconf es utilizado antes
de que se invoque este script, ste no debe mostrar mensajes de
diagnstico a stdout (mientras postinst invoca
.B db_stop
, debconf no restaura stdout, por lo tanto los mensajes a stdout
desaparecern).
.IP
Durante la instalacin, tambin ofrece ejecutar
.I LILO
(o alternativas como 
.I loadlin, SILO, QUIK, VMELILO, ZIPL, yaboot, PALO 
o 
.I GRUB
), creando un fichero de configuracin para los gestores de arranque si es
necesario. En ese momento tambin ofrece poner el nuevo ncleo en un disquete,
dando formato al disquete si fuese necesario. Cuando se intente eliminar, se
comprobar la versin del ncleo en ejecucin, negndose a desinstalar un ncleo
en ejecucin.
.I grub
se merece una mencin especial, aunque no necesite ejecutarse despus de
instalar la imagen del ncleo no est de ms un cambio automtico a su men
despus de instalar o desinstalar un paquete con una imagen del ncleo.
.TP
.B build
Este objetivo, es usado por el objetivo
.B kernel_image
, compila la imagen del ncleo de
Linux.
.TP
.B modules
Este objetivo permite construir todos los mdulos aadidos y paquetes muy
dependientes de la versin del ncleo para la que han sido compilados al mismo
tiempo que se genera la imagen del ncleo. Este objetivo espera encontrar los
mdulos o paquetes bajo /usr/src/modules, y, para todos los subdirectorios,
cambia a MODULE_LOC/x (MODULE_LOC de forma predeterminada es
.I /usr/src/modules
), y ejecuta la regla
.B kdist
en el fichero local 
.I debian.rules.
Este objetivo debe crear uno o varios paquetes
.B Debian
con los mdulos, y quiz produzca un fichero tar comprimido, un fichero diff
comprimido, con las sumas
.I md5
guardadas en un fichero de cambios usando
.B dpkg\-genchanges.
El fichero es firmado por la misma identidad que se usa para firmar los paquetes
del ncleo. Esta opcin es usada por los responsables de introducir los paquetes a
los archivos de Debian.
.TP
.B modules_config
Este objetivo permite configurar todos los paquetes debajo de
.B MODULE_LOC,
que de forma predeterminada es
.B /usr/src/modules.
Esto es til si necesita modificar manualmente algunos aspectos de
configuracin, o si quiere compilar manualmente los mdulos aadidos.
.TP
.B modules_image
Este objetivo permite construir todos los paquetes debajo de
.B MODULE_LOC,
que de forma predeterminada es
.B /usr/src/modules,
pero no crea las fuentes o los ficheros diff, tampoco crea ni firma el fichero
de cambios. sta es la nica opcin relacionada con los mdulos que necesita si
slo quiere compilar los mdulos para instalarlos en una o ms mquinas.
Generalmente se usa junto con 
.B kernel_image,
especialmente si adems se usa la opcin
.B append_to_version
(previene avisos espreos).
No se debe invocar a menos de que ya tenga un directorio ./debian.
.TP
.B modules_clean
Este objetivo permite limpiar todos los paquetes bajo
.B MODULE_LOC,
que de forma predeterminada es
.B /usr/src/modules,
debera de ser todo lo necesario para deshacer el efecto de cualquiera de los
otros objetivos modules_. No se debe invocar a menos de que ya tenga un directorio ./debian.
.TP
.B configure
Este objetivo ejecuta pronto la configuracin (realmente,
.B config_target,
establecido por 
.B \-\-config 
que por omisin es
.I oldconfig
), de forma que pueda editar los ficheros generados por
.B make config
en el directorio de las fuentes del ncleo y estar seguro de que
.B make\-kpkg 
no los sobreescribir ms tarde.
.TP
.B debian
Este objetivo crea el directorio
.I ./debian
, y opcionalmente aplica algn parche a las fuentes. Es invocado por el objetivo
.B configure.
Probablemente use este objetivo para aplicar algn parche a las fuentes y
despus ejecutar manualmente la fase de configuracin.
.TP
.B libc\-kheaders
Este es un objetivo especial para el responsable de libc\-dev, puede usarlo para
crear las cabeceras del ncleo que necesita libc. Por favor, tenga en cuenta de que
es peligroso crear un paquete libc\-kheaders que sea diferente de las cabeceras
con las que fue compilado libc, se
.B sabe
que puede daar sutilmente el sistema. Lea 
.I /usr/share/kernel\-package/README.headers
para ms detalles. Crear e instalar un paquete de libc\-kheaders personalizado
puede daar el sistema y volverlo inusable a menos que sepa lo que est
haciendo. Est avisado.
.SH "VARIABLES DE ENTORNO"
.I KPKG_DEBUG,
si est definido, indica a make\-kpkg que muestre mensajes de depuracin
acerca de algunas funciones de shell ejecutadas internamente. Probablemente
no sea de inters para quienes no estn depurando.
Las siguientes variables (documentadas arriba) afectan a 
.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 FICHEROS
Aparte de las opciones de ejecucin, el fichero 
.I debian.rules
ejecutado por
.B make\-kpkg
tambin busca el fichero de configuracin de usuario
.I ~/.kernel\-pkg.conf.
Si no lo encuentra, busca el fichero de configuracin global del sistema
.I /etc/kernel\-pkg.conf.
La configuracin predeterminada permite que haya un predominio para el
nombre completo y la direccin de correo electrnico de la persona responsable
de mantener los paquetes en el sitio, pero el fichero
.I /etc/kernel\-pkg.conf
(o
.I ~/.kernel\-pkg.conf.
) es realmente un pequeo Makefile, se puede incluir cualquier directiva vlida
de make.  
.B Nota:
Se debe de tener mucho cuidado con este fichero, usted puede cambiar totalmente
el modo en que se ejecuta make editando este fichero. Por favor, lea
.I /usr/share/doc/kernel\-package/Problems.gz
para ver una lista de problemas conocidos compilando imgenes del ncleo. Tambin
puede encontrar un tutorial extensivo como documentacin en
.I /usr/share/doc/kernel\-package/README.gz
y es recomendable que lo lea antes de usar esta utilidad.
.SH "VASE TAMBIN"
.BR kernel\-pkg.conf (5),
.BR kernel\-img.conf (5),
.BR mkinitrd (8),
.BR Getopt::Long (3perl),
.BR dpkg\-deb (1),
.BR dpkg\-source (1),
.BR make (1),
.BR The\ Programmers\ manual, 
.BR El\ manual\ de\ GNU\ Make\,
y la extensiva documentacin en el directorio
.B /usr/share/doc/kernel\-package
.SH AUTOR
Esta pgina del manual fue escrita por Manoj Srivastava <srivasta@debian.org>,
para el sistema Debian GNU/Linux.
.SH TRADUCTOR
Traduccin de Rubn Porras Campo <debian\-l10n\-spanish@lists.debian.org>
Actualizacin de Rudy Godoy <rudy@kernel\-panik.org>