Provided by: kernel-package_11.015_all bug

NOMBRE

       make-kpkg  -  construye  paquetes  Debian  con  núcleos a partir de las
       fuentes

SINOPSIS

       make-kpkg [opciones] [objetivo [objetivo ...]]

DESCRIPCIÓN

       Esta página del manual explica la utilidad make-kpkg , usada para crear
       paquetes Debian relacionados con el núcleo. La utilidad debe ejecutarse
       desde el directorio superior de las fuentes del núcleo, 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
       .config  en el directorio actual, trata por todos los medios de obtener
       uno apropiado (generalmente un fichero de configuración  adaptado  para
       núcleos  Debian para esa arquitectura), y luego invoca a make oldconfig
       para  permitir  que  el  usuario  responda  cualquier  pregunta  nueva.
       Típicamente,  el programa se ejecuta como superusuario o bajo fakeroot,
       sino hay que indicar a make-kpkg como convertirse en superusuario,  por
       ejemplo:

            make-kpkg --rootcmd fakeroot kernel_image

       El  fichero  de  paquete  Debian  se  crea  en  el  directorio padre al
       directorio del directorio de fuentes del núcleo donde se  ejecute  esta
       orden.

       También,  tenga en cuenta que algunas versiones de gcc no interaccionan
       bien con las fuentes del núcleo (gcc 2.95 tiene problemas compilando el
       núcleo  sin  la  opción  -fno-strict-aliasing ).  Este asunto ha sido
       cuidado en los núcleos recientes (las series  2.2  y  2.4  están  bien)
       (Creo que puede necesitar editar el Makefile para núcleos anteriores, o
       alguna otra cosa). Puede controlar que  versión  de  gcc  se  usa  para
       compilar  el  núcleo  estableciendo  las  variables  CC  y HOSTCC en el
       Makefile principal del núcleo. Puede hacer esto simplemente con

         % MAKEFLAGS="CC=gcc-2.95" make-kpkg ...

       (por favor, lea el Makefile principal para saber que  variables  pueden
       establecerse).

       ADVERTENCIA:  No  utilice  la opción -j en MAKEFLAGS directamente, esto
       podría hacer que la compilación falle. Utilice  CONCURRENCY_LEVEL  como
       se especifíca a continuación.

OPCIONES

       --help Muestra el modo de uso.

       --revision número
              Cambia  el  número  de  revisión  de  los  paquetes producidos a
              número.  Esto tiene algunas restricciones: la opción  --revision
              sólo  tiene  efecto  en  la  fase  de  configuración  (en  otras
              palabras, si existe un fichero llamado  stamp-configure  ,  esta
              opción  no  tiene  efecto  --  ejecute make-kpkg clean o elimine
              manualmente los ficheros stamp-configure y stamp-debian para que
              lo  tenga.  (Recomiendo  encarecidamente  que  ejecute make-kpkg
              clean a menos que sepa lo que está  haciendo).   Adicionalmente,
              los  paquetes  oficiales  con las fuentes proporcionan su propio
              número de versión y datos para las introducciones  oficiales,  y
              por  eso,  make-kpkg.   no modifica algunas cosas, incluyendo el
              número de revisión de Debian.  Si quiere cambiar  el  número  de
              revisión  de  unas  fuentes  oficiales  (esto implica que existe
              debian/official  y  no  está  vacío),  asegúrese   de   eliminar
              debian/official  antes de ejecutar make-kpkg clean para que esta
              opción tenga efecto.   Por  eso,  si  desea  volver  a  ejecutar
              make-kpkg   con  un  número  de  versión  diferente,  tiene  que
              asegurarse de hacer borrón y cuenta nueva. La versión sólo puede
              contener caracteres alfanuméricos y los caracteres ~ + . (tilde,
              punto y signo más) y debe de contener un  dígito.  Consulte  las
              Normas  de Debian (Debian Policy) para más detalles.  Realmente,
              esto es mentira: los  responsables  de  los  ncleos  y  mdulos
              oficiales  tienen permiso para usar guiones, pero está altamente
              desaconsejado para la mayoría de la gente, ya que no hay  ningún
              tipo  de  comprobación  del  número  de  versión, y dpkg y otros
              pueden atascar al final de la compilación a menos que  uno  sepa
              lo  que  está  haciendo.  Opcionalmente,  puede  anteponer  a la
              revisión un dígito seguido de dos puntos  (:).  Por  omisión  es
              10.00.Custom a menos que esté establecida la variable de entorno
              DEBIAN_REVISION_MANDATORY , en cuyo caso se genera un  error  si
              no  se  especifica  un  número  de  versión, bien en la línea de
              órdenes o bien en el fichero de configuración.

       --append-to-version tal

       --append_to_version tal
              Este argumento (  tal  )  se  añade  al  valor  de  la  variable
              EXTRAVERSION  presente  en  el  Makefile  del  núcleo.  Dado que
              EXTRAVERSION es un componente de la versión del núcleo,  también
              se añade al nombre del paquete, y, como tal, debe de cumplir las
              normas a las que están  sujetos  los  nombres  de  los  paquetes
              Debian.  Esto  quiere  decir  que sólo puede contener caracteres
              alfanuméricos en minúsculas y los caracteres ~  -  +  .  (tilde,
              guión,  signo  más  y  punto).  Las  normas  no  permiten letras
              mayúsculas en los paquetes nuevos. Si  la  variable  de  entorno
              IGNORE_UPPERCASE_VERSION  está  establecida,  make-kpkg pasará a
              minúsculas los números de versión en el Makefile o en el fichero
              localversion.   Esto  predomina  sobre  la  variable  de entorno
              APPEND_TO_VERSION.  Por favor,  tenga  en  cuenta  de  que  debe
              ejecutar  make-kpkg clean después de configurar el núcleo usando
              make   (x|menu)?config,   ya   que   esto   crea   el    fichero
              include/linux/version.h  sin  el  contenido de 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 núcleo final _no_ tendrá el contenido de  append_to_version
              en  su  número  de  versión,  esto hará que busque los módulos y
              símbolos en sitios incorrectos.  La  solución  mas  sencilla  es
              borrar  include/linux/version.h después de configurar y antes de
              compilar, o ejecutar make-kpkg clean  después  de  configurar  y
              antes  de  compilar.   Tenga  en  cuenta  de que una vez que use
              --append_to_version tal para configurar o  construir  la  imagen
              del  núcleo,  necesita  usar  la  misma  opción  en  ejecuciones
              posteriores de make-kpkg (por ejemplo,  para  construir  módulos
              independientes,  o  cualquier  cosa).   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 --append_to_version  cuando
              ya  existe  un fichero anterior, puede establecer la variable de
              entorno VERSION_H_OK que debería parar estos avisos.

       --added-modules tal

       --added_modules tal
              El argumento debe ser una lista de módulos añadidos separada por
              comas  (que no estén en el árbol principal del núcleo) que desea
              construir  cuando  invoque  el   objetivo   modules_blah.   Debe
              proporcionar  la  ruta completa del directorio donde residen los
              módulos, o sólo el nombre del módulo si se  puede  encontrar  en
              MODULE_LOC,  que  por  omisión  apunta  a /usr/src/modules.  Por
              omisión se compilan todos los módulos en MODULE_LOC,  cuando  se
              invocan los objetivos modules_blah.

       --added-patches tal

       --added_patches tal
              El argumento debe de ser una lista separada por comas de parches
              adicionales para el núcleo. Establece automáticamente la  opción
              de configuración del núcleo patch_the_kernel a YES.

              A  diferencia de con los módulos, sólo debe proporcionar la base
              del nombre (n.t.  del inglés basename) (no  el  nombre  completo
              del  fichero  con  el  parche).  Adicionalmente,  no  se soporta
              cualquier parche que intente cambiar el número de versión,  bien
              editando   el   fichero   Makefile,   o   añadiendo  un  fichero
              .localversion , e interrumpirá la compilación, debido a  que  el
              número de versión ya ha sido fijado en debian/changelog.

              Por  cada  fichero  <nombre_parche>  en  la  lista  se  sigue el
              siguiente proceso: Si el  fichero  se  puede  encontrar  en  los
              directorios  ALL_PATCH_DIR/{apply,unpatch}/, entonces el fichero
              ALL_PATCH_DIR/apply/<nombre_parche> se ejecutará durante la fase
              de  configuración  (y  presumiblemente esto aplicará el parche).
              Correspondientemente,                 el                 fichero
              ALL_PATCH_DIR/unpatch/<nombre_parche>  debe  de ejecutarse en la
              fase de borrado.  Por  omisión  todos  los  parches  se  aplican
              invocando los ficheros ejecutables en ALL_PATCH_DIR/apply/ si es
              requerido  (Bien  estableciendo  la  opción   de   configuración
              patch_the_kernel  o  la  variable  de entorno PATCH_THE_KERNEL a
              YES). Tenga en cuenta de que los parches son  DES-instalados  de
              las fuentes del núcleo cuando se ejecuta el objetivo clean. Esto
              se  puede  prevenir  estableciendo  la   variable   de   entorno
              NO_UNPATCH_BY_DEFAULT

              Arriba,   ALL_PATCH_DIR  es  por  omisión  un  subdirectorio  de
              /usr/src/kernel-patches/.

              Algunas veces puede ser conveniente aplicar los  parches  cuando
              uno  pide un parche específico usando esta opción, sin necesidad
              de tener que establecer explícitamente la variable  de  entorno.
              Puesto  que establecer la variable de entorno PATCH_THE_KERNEL a
              YES puede ser peligroso, (puede darse el caso de que se apliquen
              todos  los  parches  cuando  no  quería  aplicar  ninguno,  y no
              especificó la opción added_patches), también puede establecer la
              variable  PATCH_THE_KERNEL a AUTO, en cuyo caso PATCH_THE_KERNEL
              será   establecida   a   YES   por    usted    cuando    invoque
              --added-patches tal,  pero  no en otra situación.  Además, tenga
              en cuenta de que  si  algún  parche  instala  un  script  en  el
              directorio  ./debian/image.d/  ,  debe  de invocarse a run-parts
              sobre ese directorio nada más se construya la imagen del núcleo.
              El  lugar de la raíz del paquete con la imagen siendo construida
              debe  pasarse  en  la  variable  de  entorno  IMAGE_TOP,  y  las
              versiones  del  núcleo  se pasan mediante la variable de entorno
              version.  De esta forma es  posible,  por  ejemplo,  de  que  un
              parche inserte ficheros adicionales en la imagen.

              Algunos  de  los  paquetes  con parches también tienen en cuenta
              otras variables de entorno, esto se documenta en  el  directorio
              doc     apropiado     (por    ejemplo,    debería    mirar    en
              /usr/share/doc/kernel-patch-tal/README-kernelpatch.Debian     si
              quiere información adicional para sobre el parche tal).

       --arch tal
              Útil  para  establecer la arquitectura cuando se esté realizando
              compilación cruzada. La arquitectura se detecta  automáticamente
              si  no  está  realizando compilación cruzada. El mismo efecto se
              puede conseguir estableciendo la variable de entorno  KPKG_ARCH.
              El valor debería ser lo que contenga DEB_HOST_ARCH_CPU cuando se
              ejecute dpkg-architecture en el sistema objetivo,  o  puede  ser
              otra   arquitectura   en  un  entorno  multi-arquitectura  (como
              i386/amd64).

       --cross-compile tal

       --cross_compile tal
              Es útil para definir la cadena de caracteres del objetivo cuando
              se  esté  realizando  compilación 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  compilación  del  núcleo,  si  el
              compilador   por  omisión  que  se  utiliza  en  el  proceso  de
              compilación no  es  el  que  se  desea,  por  favor  espeficique
              explícitamente el que se debe utilizar.  CROSS_COMPILE

       --subarch tal
              Algunas  arquitecturas  (Alpha,  y  m68k)  requieren  un  núcleo
              diferente para cada sub-arquitectura. Esta opción proporciona un
              modo  de  especificarlo  como  argumento  de make-kpkg. Tenga en
              cuenta   de   que   se   necesita   soporte    adicional    para
              sub-arquitecturas  en las fuentes del núcleo para que esto tenga
              algún efecto. El mismo efecto se puede  conseguir  estableciendo
              la variable de entorno KPKG_SUBARCH

       --arch-in-name

       --arch_in_name
              Esta  opción  usa  un nombre extendido para la imagen del núcleo
              empaquetada, introduciendo la sub-arquitectura en el  nombre  de
              ésta,  de  este modo se pueden crear scripts que creen múltiples
              sub-aquitecturas, una después de otra. El mismo efecto se  puede
              conseguir  estableciendo  la  variable  de entorno ARCH_IN_NAME.
              Tenga en cuenta de que sólo afecta al nombre del paquete,  no  a
              la localización de los módulos y demás.

       --pgpsign nombre
              Establece  la cadena a usar para firmar el fichero de cambios de
              cada módulo externo en /usr/src/modules/ usando PGP. Esta opción
              no  tendrá  en  cuenta  el  comportamiento  predeterminado ni la
              configuración del sistema  guardada  en  /etc/kernel-pkg.conf  o
              ~/.kernel-pkg.conf.

       --config objetivo
              Cambia  el  tipo  de  configuración hecha desde el oldconfig por
              omisión.   objetivo  debe  ser   uno   de   oldconfig,   config,
              menuconfig,    gconfig,    xconfig,    randconfig,    defconfig,
              allmodconfig, allyesconfig, allnoconfig;  old, menu, g, o x.

              Esta   opción   es   particularmente   útil   cuando   se    usa
              PATCH_THE_KERNEL  por  si  alguno  de  los  parches  cambia  las
              opciones de configuración disponibles.  Note de que sin  embargo
              make-kpkg  busca  al  arrancar algunas opciones en el fichero de
              configuración, notablemente el hecho de que los módulos estén  o
              no  habilitados,  de  manera  que cambiar el estado durante esta
              configuración retrasada resulta en un error.  Si  es  necesario,
              cree  el  fichero  de  configuración lo más próximo a lo deseado
              antes de llamar a make-kpkg con esta opción.

       --targets
              Muestra  una  lista  de  objetivos  conocidos.  Lea  la  sección
              Objetivos más abajo.

       --noexec
              Pasa la opción -n a make de forma que las órdenes se muestran en
              pantalla pero no se ejecutan. Útil para depuración.

       --verbose
              Esto invoca make con la opción -V=1, que  llama  a  las  órdenes
              Make  de  nivel  superior,  también  es  útil  para ver que está
              ocurriendo.

       --initrd
              Si make-kpkg está generando un paquete del tipo  kernel-image  ,
              realizará cualquier acción necesaria para que el núcleo se pueda
              cargar usando initrd.   NOTA:  en  los  núcleos  antiguos,  esto
              requiere  un  parche (que no es estándar) cramfs de initrd a las
              fuentes del núcleo, (a menos que la configuración  del  mkinitrd
              se haya modificado para no usar cramfs) o se generará una imagen
              del núcleo imposible  de  arrancar.  El  parche  normalmente  se
              encontraba  en las fuentes del núcleo proporcionadas por Debian.
              Algunas arquitecturas todavía necesitan  parches  para  arreglar
              problemas  con  cramfs.  Esta opción puede implicar dependencias
              extra y modificaciones en los scripts del encargado del paquete.
              No  tiene  efecto  cuando make-kpkg no está generando un paquete
              kernel-image.  El mismo efecto se puede conseguir  estableciendo
              la variable de entorno INITRD a cualquier valor no nulo.

       --zimage
              Crea  una  imagen  del  núcleo del tipo zImage en vez de bzImage
              (predeterminada).  Útil para gente con problemas con los núcleos
              bzImage.

       --bzimage
              Crea  un  núcleo  bzImage.  Útil para gente que quiera un núcleo
              bzImage donde el núcleo predeterminado es un zImage.

        .B --mkimage
              Debe ser una orden  que  produzca  una  imagen  initrd  dado  un
              directorio.  Se  pasa a la opción -m del programa mkinitrd.  Por
              ejemplo, puede ser
               "genromfs -d %s -f %s" o
               "mkcramfs %s %s"

       --rootcmd tal
              La orden que proporciona acceso de  superusuario  (por  ejemplo,
              ‘sudo’   o   ‘fakeroot’),   necesitado   por  la  opción  -r  de
              dpkg-buildpackage.

       --us   Esta opción se pasa a dpkg-buildpackage,  indica  que  el
              paquete  no  debe  firmar  las fuentes. Sólo es relevante
              para el objetivo buildpackage.

       --stem tal
              Invoca a los paquetes tal-* en lugar de kernel-*. Esto es
              útil para facilitar la transición de invocar los paquetes
              kernel-* a linux-*, en preparación para núcleos distintos
              a  linux  en  la distribución. El valor predeterminado es
              linux.

       --us   Esta opción se pasa  a  dpkg-buildpackage  e  indica  qué
              paquete  no firma el fuente. Esto es únicamente relevante
              para el objetivo buildpackage.

       --uc   Esta opción se pasa a dpkg-buildpackage,  indica  que  el
              paquete no debe firmar el fichero de cambios (changelog).
              Sólo es relevante para el objetivo buildpackage.

       Las opciones pueden acortarse a  una  única  cadena  más  corta,
       pudiendo  introducirse  además  con el prefijo - o --, entre una
       opción y su valor se puede usar tanto un espacio como un símbolo
       ’=’. También puede usar la forma opción=valor; para más detalles
       sobre ésta y otras  variantes  soportadas,  lea  la  página  del
       manual Getopt::Long (3perl).

       CONCURRENCY_LEVEL
              Si  está  definida, esta variable de entorno establece el
              nivel de concurrencia usado por  make  para  compilar  el
              núcleo y el conjunto de módulos, usando la opción -j para
              el make del objetivo build de make-kpkg.  Si se usa  debe
              ser  un  entero (pequeño). Puede obtener el número actual
              de procesadores usando la orden:
               "grep -c  ’^processor’  /proc/cpuinfo"  ADVERTENCIA:  NO
              utilice  la  opción  -j  en  MAKEFLAGS directamente, esto
              podría hacer que falle la compilación.

OBJETIVOS

       clean  Elimina del directorio con las fuentes del  núcleo  todos
              los  ficheros  generados por el objetivo build, y ejecuta
              make distclean. (Véa en el Makefile del núcleo  de  Linux
              para  más  detalles).   Tenga  en  cuenta  que  aunque se
              preserva la lista de configuración del núcleo actual  del
              fichero    .config,    no    se   preserva   el   fichero
              include/linux/autoconf.h.    Este   objetivo   no    debe
              combinarse  con  otros,  ya  que  make-kpkg lee todos los
              datos 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.

       buildpackage
              Este objetivo ejecuta los objetivos clean, y binary, para
              producir el paquete completo usando dpkg-buildpackage

       binary Este  objetivo  produce los cuatro paquetes del núcleo de
              Debian   ejecutando   los   objetivos   binary-indep    y
              binary-arch.

       binary-indep
              Este  objetivo  produce los paquetes independientes de la
              arquitectura  ejecutando  los  objetivos   kernel_source,
              kernel_manual y kernel_doc.

       binary-arch
              Este  objetivo  produce  los  paquetes dependientes de la
              arquitectura ejecutando los  objetivos  kernel_headers  y
              kernel_image.

       kernel_source
              Este  objetivo  produce  un  paquete  debianizado  de las
              fuentes  del  núcleo.   Si   la   variable   de   entorno
              SOURCE_CLEAN_HOOK   apunta   a  un  ejecutable,  éste  se
              ejecutará desde el directorio temporal de las fuentes del
              núcleo       justo       antes      de      empaquetarlo,
              ./debian/tmp-source/usr/src/kernel-source-X.X.XX, de esta
              forma  puede  tomar  acciones  necesarias para ajustar el
              núcleo a sus necesidades (eliminar arquitecturas,  borrar
              los  directorios  de control de versiones, find . -type d
              -name CVS -prune -exec rm -rf {} ; etc). No tiene  efecto
              sobre  otra  cosa  que no sean las fuentes del núcleo que
              van  a  ser  empaquetadas  (si  el  script  opera  en  el
              directorio   actual   y  sus  descendientes  las  fuentes
              originales del núcleo deberían permanecer intactas).  Las
              variables  de  entorno HEADER_CLEAN_HOOK y DOC_CLEAN_HOOK
              son similares. Deberían apuntar a ejecutables,  éstos  se
              ejecutarán  respectivamente  desde el directorio temporal
              (tmp) de las cabeceras y documentación del  núcleo  justo
              antes de empaquetarlo, de esta forma puede tomar acciones
              necesarias para ajustar  el  núcleo  a  sus  necesidades.
              Sólo   tiene  efecto  sobre  las  fuentes  que  se  están
              empaquetando.

       kernel_headers
              Este objetivo produce una paquete Debian que contiene las
              cabeceras del núcleo de Linux.

       kernel_manual
              Este  objetivo  produce un paquete Debian que contiene la
              sección 9 de las páginas de manual incluidas en el núcleo
              Linux.  Tenga  en cuenta de que en realidad esto no es un
              objetivo independiente, al invocarlo también se invoca el
              objetivo  kernel_doc , y se crea un paquete kernel-doc al
              mismo tiempo.

       kernel_doc
              Este objetivo produce un paquete Debian que  contiene  la
              documentación  incluida  con  el núcleo de Linux. Éste se
              puede    invocar    independientemente    del    objetivo
              kernel_manual , pero no en al contrario.

       kernel_image
              Este objetivo produce un paquete Debian con la imagen del
              núcleo de Linux y  cualquier  módulo  configurado  en  el
              fichero  de  configuración del núcleo .config.  Si no hay
              ningún fichero .config en el directorio con  las  fuentes
              del  núcleo  se proporciona una configuración por omisión
              parecida a la  usada  para  crear  los  boot-floppies  de
              Debian.

              Si   existe   el   fichero   ./debian/post-install  y  es
              ejecutable, éste se  ejecuta  justo  antes  de  crear  el
              paquete con la imagen del núcleo. Además, tenga en cuenta
              de  que  si   hay   algún   script   en   el   directorio
              ./debian/image.d/  ,  se  debe  ejecutar run-parts en ese
              directorio justo antes construir el paquete con la imagen
              del núcleo. La localización de la raíz del paquete con la
              imagen que se está construyendo debe de pasarse  mediante
              la variable de entorno IMAGE_TOP, y la versión del núcleo
              se pasa a través de la variable de entorno  version  para
              todos los scripts.

              En  una  instalación  inicial,  el  paquete con la imagen
              actualiza los enlaces simbólicos en el directorio destino
              de  los  enlaces simbólicos (por omisión es el directorio
              raíz) para que apunten a la nueva imagen del núcleo en el
              directorio  de  las imágenes del núcleo que es /boot.  Si
              el enlace simbólico ya apunta  a  la  imagen  actual  del
              núcleo  no  se  hace  nada. Si existe un enlace simbólico
              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 simbólico acorde a la  nueva  situación  (la
              variable  minimal_swap  en  /etc/kernel-img.conf modifica
              este comportamiento). No se realiza ninguna actuación  en
              las actualizaciones.

              Por  favor,  lea  la documentación acerca de enganches en
              kernel-img.conf(5).  Estos enganches  son  variables  que
              pueden  apuntar a scripts que añadan o eliminen una línea
              a la lista del menú de  grub  durante  la  instalación  o
              desinstalación  del  núcleo.  Se  incluye  un  script  de
              ejemplo para añadir líneas al fichero de menú de grub  en
              el directorio /usr/share/doc/kernel-package/.

              Además  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
              /etc/kernel/preinst.d/,          /etc/kernel/postinst.d/,
              /etc/kernel/prerm.d/,      /etc/kernel/postrm.d/.       y
              /etc/kernel/preinst.d/<VERSIN>/,
              /etc/kernel/postinst.d/<VERSIN>/,
              /etc/kernel/prerm.d/<VERSIN>/,
              /etc/kernel/postrm.d/<VERSIN>/.  Si existen, el  paquete
              kernel-image  ejecutará  run-parts  sobre los directorios
              (incluyendo los que tengan un número de versión),  usando
              la  versión  a  instalar o eliminar como argumento, en la
              fase correspondiente de la instalación o  desinstalación.
              Antes  de  invocar  estos  script,  se  debe  definir  la
              variable de entorno STEM al valor del argumento --stem (o
              el  valor  predeterminado, Linux). Estos scripts se deben
              invocar con  dos  argumentos,  el  primero  debe  ser  la
              version  de  la imagen del núcleo, y el segundo argumento
              debe ser la localizacin de la propia imagen del  núcleo.
              Debido a que debconf es utilizado antes de que se invoque
              este script, éste no debe mostrar mensajes de diagnóstico
              a  stdout  (mientras postinst invoca db_stop , debconf no
              restaura stdout, por  lo  tanto  los  mensajes  a  stdout
              desaparecerán).

              Durante  la  instalación, también ofrece ejecutar LILO (o
              alternativas como loadlin,  SILO,  QUIK,  VMELILO,  ZIPL,
              yaboot,   PALO   o   GRUB   ),   creando  un  fichero  de
              configuración  para  los  gestores  de  arranque  si   es
              necesario.  En  ese momento también ofrece poner el nuevo
              núcleo en un disquete, dando formato al disquete si fuese
              necesario.  Cuando  se intente eliminar, se comprobará la
              versión del núcleo en ejecución, negándose a  desinstalar
              un  núcleo  en  ejecución.   grub  se  merece una mención
              especial,  aunque  no  necesite  ejecutarse  después   de
              instalar  la  imagen  del núcleo no está de más un cambio
              automático a su menú después de instalar o desinstalar un
              paquete con una imagen del núcleo.

       build  Este  objetivo,  es  usado por el objetivo kernel_image ,
              compila la imagen del núcleo de Linux.

       modules
              Este  objetivo  permite  construir  todos   los   módulos
              añadidos  y  paquetes  muy dependientes de la versión del
              núcleo para la que han sido compilados  al  mismo  tiempo
              que  se genera la imagen del núcleo. Este objetivo espera
              encontrar los módulos o paquetes  bajo  /usr/src/modules,
              y,  para  todos los subdirectorios, cambia a MODULE_LOC/x
              (MODULE_LOC de forma predeterminada  es  /usr/src/modules
              ),   y  ejecuta  la  regla  kdist  en  el  fichero  local
              debian.rules.  Este objetivo  debe  crear  uno  o  varios
              paquetes  Debian  con  los  módulos,  y quizá produzca un
              fichero tar comprimido, un fichero diff  comprimido,  con
              las  sumas  md5 guardadas en un fichero de cambios usando
              dpkg-genchanges.  El fichero  es  firmado  por  la  misma
              identidad que se usa para firmar los paquetes del núcleo.
              Esta opción es usada por los responsables  de  introducir
              los paquetes a los archivos de Debian.

       modules_config
              Este  objetivo  permite  configurar  todos  los  paquetes
              debajo de MODULE_LOC,  que  de  forma  predeterminada  es
              /usr/src/modules.   Esto  es  útil  si necesita modificar
              manualmente  algunos  aspectos  de  configuración,  o  si
              quiere compilar manualmente los módulos añadidos.

       modules_image
              Este objetivo permite construir todos los paquetes debajo
              de   MODULE_LOC,   que   de   forma   predeterminada   es
              /usr/src/modules, pero no crea las fuentes o los ficheros
              diff, tampoco crea ni firma el fichero de  cambios.  Ésta
              es  la  única  opción  relacionada  con  los  módulos que
              necesita  si  sólo  quiere  compilar  los  módulos   para
              instalarlos  en  una o más máquinas.  Generalmente se usa
              junto con kernel_image, especialmente si además se usa la
              opción  append_to_version (previene avisos espúreos).  No
              se debe invocar a menos de que  ya  tenga  un  directorio
              ./debian.

       modules_clean
              Este  objetivo  permite  limpiar  todos los paquetes bajo
              MODULE_LOC,    que    de    forma    predeterminada    es
              /usr/src/modules,  debería  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.

       configure
              Este objetivo ejecuta pronto la configuración (realmente,
              config_target,  establecido  por --config que por omisión
              es oldconfig ), de forma que pueda  editar  los  ficheros
              generados por make config en el directorio de las fuentes
              del núcleo  y  estar  seguro  de  que  make-kpkg  no  los
              sobreescribirá más tarde.

       debian Este   objetivo   crea   el   directorio   ./debian  ,  y
              opcionalmente aplica  algún  parche  a  las  fuentes.  Es
              invocado  por  el  objetivo configure.  Probablemente use
              este objetivo para aplicar algún parche a las  fuentes  y
              después ejecutar manualmente la fase de configuración.

       libc-kheaders
              Este  es  un  objetivo  especial  para  el responsable de
              libc-dev, puede  usarlo  para  crear  las  cabeceras  del
              núcleo  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 sabe que puede dañar sutilmente el sistema.  Lea
              /usr/share/kernel-package/README.headers     para     más
              detalles. Crear e instalar un  paquete  de  libc-kheaders
              personalizado  puede dañar el sistema y volverlo inusable
              a menos que sepa lo que está haciendo. Está avisado.

VARIABLES DE ENTORNO

       KPKG_DEBUG, si está definido, indica  a  make-kpkg  que  muestre
       mensajes  de  depuración  acerca  de  algunas funciones de shell
       ejecutadas internamente. Probablemente no sea  de  interés  para
       quienes   no   estén   depurando.    Las   siguientes  variables
       (documentadas      arriba)      afectan       a       make-kpkg:
       DEBIAN_REVISION_MANDATORY     APPEND_TO_VERSION     VERSION_H_OK
       PATCH_THE_KERNEL NO_UNPATCH_BY_DEFAULT  KPKG_ARCH  CROSS_COMPILE
       KPKG_SUBARCH  ARCH_IN_NAME  INITRD  SOURCE_CLEAN_HOOK MODULE_LOC
       INITRD_OK CONCURRENCY_LEVEL IGNORE_UPPERCASE_VERSION

FICHEROS

       Aparte de las opciones de  ejecución,  el  fichero  debian.rules
       ejecutado   por   make-kpkg   también   busca   el   fichero  de
       configuración  de  usuario   ~/.kernel-pkg.conf.    Si   no   lo
       encuentra,  busca el fichero de configuración global del sistema
       /etc/kernel-pkg.conf.  La configuración  predeterminada  permite
       que haya un predominio para el nombre completo y la dirección de
       correo electrónico de la persona  responsable  de  mantener  los
       paquetes  en  el  sitio, pero el fichero /etc/kernel-pkg.conf (o
       ~/.kernel-pkg.conf.  ) es  realmente  un  pequeño  Makefile,  se
       puede incluir cualquier directiva válida de make.  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  /usr/share/doc/kernel-package/Problems.gz  para
       ver  una  lista  de  problemas conocidos compilando imágenes del
       núcleo. También  puede  encontrar  un  tutorial  extensivo  como
       documentación  en  /usr/share/doc/kernel-package/README.gz  y es
       recomendable que lo lea antes de usar esta utilidad.

VÉASE TAMBIÉN

       kernel-pkg.conf(5),       kernel-img.conf(5),       mkinitrd(8),
       Getopt::Long(3perl),   dpkg-deb(1),   dpkg-source(1),   make(1),
       The Programmers manual,  El manual de GNU Make  y  la  extensiva
       documentación en el directorio /usr/share/doc/kernel-package

AUTOR

       Esta   página  del  manual  fue  escrita  por  Manoj  Srivastava
       <srivasta@debian.org>, para el sistema Debian GNU/Linux.

TRADUCTOR

       Traducción         de         Rubén         Porras         Campo
       <debian-l10n-spanish@lists.debian.org>   Actualización  de  Rudy
       Godoy <rudy@kernel-panik.org>