Man Linux: Main Page and Category List

NAME

       kernel-pkg.conf - configuration file for make-kpkg

SYNOPSIS

       /etc/kernel-pkg.conf or ~/.kernel-pkg.conf

DESCRIPTION

       The  file  /etc/kernel-pkg.conf  or  ~/.kernel-pkg.conf  is  actually a
       Makefile snippet included during the kernel packages build process, and
       hence  you may put any legal Makefile directive in that file (just make
       very sure you know what you are doing).  If the per user  configuration
       file  ~/.kernel-pkg.conf  exists,  it  is loaded in favor of the system
       wide configuration file /etc/kernel-pkg.conf.

       All the variables have reasonable default values, and maybe  overridden
       on  a per run or a per individual basis by using environment variables.
       Some  of  the  variables  can  further  be  overridden  by  options  to
       make-kpkg.

       At the moment, the user modifiable variables supported are:

       maintainer
              Local  kernel  (image, header, doc, etc) package maintainer. Set
              up at package installation by the postinst.  Can  be  overridden
              by  the  environment variable KPKG_MAINTAINER.  Please note that
              any apostrophes "’" shall have to be quoted like so:  maintainer
              = John O’\’’Brien. Yes, this is ugly, but this works.

       email  The   email   address   of  that  person.   Set  up  at  package
              installation  by  the  postinst.   Can  be  overridden  by   the
              environment variable KPKG_EMAIL.

       pgp    A  key-ID  to use when signing packages. Usually passed along to
              dpkg-buildpackage using the -k  option,  and  also  third  party
              modules  in the KMAINT environment variable, if separate modules
              (like pcmcia etc) are  being  built  in  $MODULE_PATH.   Can  be
              overridden  by  the  environment  variable PGP_SIGNATURE, and is
              overridden  (again)  by  the  --pgpsign  option  of   make-kpkg.
              Defaults to maintainer.  (Optional)

       debian The  version  of the kernel packages, includes both the upstream
              version and the  Debian  revision.  Can  be  overridden  by  the
              environment  variable DEBIAN_REVISION, and is overridden (again)
              by  the   --revision   option   of   make-kpkg.    Defaults   to
              <VERSION>-10.0.0.Custom (Optional)

       debian_revision_mandatory
              Normally   unset.   If   this,   or   the  environment  variable
              DEBIAN_REVISION_MANDATORY are set, then not providing  a  debian
              revision  results in an error (and make-kpkg shall not provide a
              default value of 10.0.0.Custom)

       kimage The  kernel  image  type  (i.e.  zImage  or  bzImage).  Can   be
              overridden  from  the  environment  variable  IMAGE_TYPE, and is
              overridden (again) by  the  options  --zimage  or  --bzimage  of
              make-kpkg.  Defaults to bzImage.  (Optional)

       config_target
              What type of configure step to do.  Defaults to oldconfig, which
              is good for non-interactive  (or  minimally  interactive)  runs.
              (ENV  variable  CONFIG_TARGET  overrides  this setting.)  If the
              value of config_target is not recognized, then it  is  reset  to
              oldconfig.

       use_saved_config
              This  is  an  experts  only variable. If set to NO (ENV variable
              USE_SAVED_CONFIG overrides this), the file .config.save  in  the
              top level directory is ignored.

       root_cmd
              This is a variable meant to be passed on to dpkg-buildpackage in
              the buildpackage target.  This should  be  set  to  a  means  of
              gaining  superuser access (for example, sudo or fakeroot) as
              needed  by  dpkg-buildpackages’  -r  option.   The   environment
              variable  ROOT_CMD  overrides this. Use the environment variable
              UNSIGN_SOURCE to pass an option to dpkg-buildpackage to not sign
              the    source;   similarly,   use   the   environment   variable
              UNSIGN_CHANGELOG to pass an option to dpkg-buildpackage  to  not
              sign  the changelog. Again, this variable is only useful for the
              buildpackage target. Set the  environment variable  ROOT_CMD  if
              you just wish to build the kernel image, for instance.

       delete_build_link
              If  set  to  YES,  the symbolic link /lib/modules/$VERSION/build
              shall  be  removed  from  the  resulting  .deb   package.    The
              environment   variable  DELETE_BUILD_LINK  overrides  this.  The
              default is unset. Note that this is case  sensitive,  yes  shall
              not work.

       do_clean
              Set  to  YES,  this  causes a make clean to be run in the kernel
              source  tree  after  building  the  kernel  image  package.  The
              environment  variable  CLEAN_SOURCE overrides this.  The default
              is unset. Note that this is case sensitive, yes shall not  work.

       install_vmlinux
              Set  to  YES  to install the uncompressed kernel ELF image along
              with  the  bootable  compressed  kernel  image  (vmlinuz).   The
              default  is  unset.  Note that this is case sensitive, yes shall
              not work.

       image_clean_hook
              Set to point to an executable, this shall cause that  executable
              to  run  from the top level of the (temporary) kernel image tree
              before the kernel image is  packaged.  This  has  no  effect  on
              anything  other  than the image that is being packaged -- if the
              script operates on the current directory and its  children,  the
              original   source   tree  should  remain  intact.   This  is  to
              facilitate massaging of the kernel image that is packaged.

       source_clean_hook
              Set to point to an executable, this shall cause that  executable
              to  run from the top level of the (temporary) kernel source tree
              before         the         sources         are         packaged,
              ./debian/tmp-source/usr/src/kernel-source-X.X.XX.   This  has no
              effect on  anything  other  than  the  sources  that  are  being
              packaged  -- if the script operates on the current directory and
              its children, the original source  tree  should  remain  intact.
              This  is  to facilitate massaging of the kernel sources that are
              packaged (for example, to remove version control directories, or
              to prune away unwanted architectures).

       header_clean_hook
              Set  to point to an executable, this shall cause that executable
              to run from the top level  of  the  kernel  headers  before  the
              headers  are packaged. This has no effect on anything other than
              the sources that are being packaged -- if the script operates on
              the current directory and its children, the original source tree
              should remain intact. This is to  facilitate  massaging  of  the
              kernel headers that are packaged (for example, to remove version
              control directories, or to prune away unwanted architectures).

       doc_clean_hook
              Set to point to an executable, this shall cause that  executable
              to  run  from  the  top  of the documentation tree before kernel
              documentation is packaged.  This has no effect on anything other
              than  the  documentation that is being packaged -- if the script
              operates on the current directory and its children, the original
              source   tree  should  remain  intact.  This  is  to  facilitate
              massaging of the kernel  documentation  that  is  packaged  (for
              example, to remove version control directories, or to prune away
              unwanted architectures).

       extra_docs
              This  variable  should  be  set  to  the  path  of   any   extra
              documentation      that      should      be     installed     in
              /usr/share/doc/kernel-image-X.X.XX/  directory.  There   is   no
              checking  for  name conflicts, and the files are not compressed.
              Hence,  if  you  want  the  files  to  be   compressed,   please
              precompress it and provide the path of the compressed file.  The
              environment variable EXTRA_DOCS overrides this, and  would  most
              likely be how extra documentation is specified.

       kpkg_follow_symlinks_in_src
              This  option  is  especially  useful  for people who use symlink
              farms to compile kernels. With this  option,  kernel-source  and
              kernel-header  packages  shall  not  be  just  full  of dangling
              symlinks, instead, the symbolic links shall be followed.  Please
              note  that  any  symbolic  links  in the kernel sources would be
              flattened     as     well.      The     environment     variable
              KPKG_FOLLOW_SYMLINKS_IN_SRC  overrides  this.   The  default  is
              unset.

       make_libc_headers
              This is meant to be  used  by  the  libc6  maintainer,  when  he
              compiles  libc6,  to  also package up the corresponding headers.
              DO NOT SET THIS unless you know what  you  are  doing,  since  a
              mismatch  between  the  headers  you  package and libc6 may well
              create a  subtle  instability  in  all  code  compiled  on  your
              machine.   You   have  been  warned.  The  environment  variable
              MAKE_LIBC_HEADERS overrides this.  The default is unset.

       CONCURRENCY_LEVEL
              If defined, this variable sets the  concurrency  level  of  make
              used to compile the kernel and the modules set using -j flags to
              the sub make in the build target  of  make-kpkg.   Should  be  a
              (small) integer, if used.

       ARCH_IN_NAME
              If  defined,  this  variable causes make-kpkg to use an extended
              name  for  the   kernel   image   package   by   embedding   the
              subarchitecture   in the image name, so one could write a script
              to  create  multiple  subarchitectures  one  after  the   other.
              Please  note  that   only   the  package name is  affected,  not
              module locations etc.

       CONFDIR
              Set this variable, either in the environment or  in  the  config
              file, to point to the location where the kernel config files are
              located. These are architecture specific .config files (look  at
              /usr/share/kernel-package/Config  for  examples). This is useful
              for people  who  need  to  compile  for  several  architectures.
              Defaults to /usr/share/kernel-package/Config

       IMAGEDIR
              If you want the image to be stored elsewhere than /boot set this
              variable to the dir where you want the image.  This  may  be  of
              help to loadlin users. Defaults to /boot.

       MODULE_LOC
              Set  this  variable,  either in the environment or in the config
              file, to point to the location  where  the  add-on  modules  are
              located. Defaults to /usr/src/modules

              The value of a variable can be set so:

       a)     Defaults  exist  in the rules file. These are the values used if
              no customization is done.

       b)     Variables can be set in the  config  file  /etc/kernel-pkg.conf.
              These values override the defaults.

       c)     Variables can also be set by setting a corresponding environment
              variable.   These  values  override  the  config  file  and  the
              defaults.

       d)     Using  make-kpkg  options, or, if using the rules file directly,
              on command line
              # xxx/rules DEBIAN_REVISION=2.0a kernel_image
              This overrides all the above methods.

FILES

       The    file    described    here    is    /etc/kernel-pkg.conf.      or
       ~/.kernel-pkg.conf.

SEE ALSO

       make-kpkg(1), kernel-img.conf(5), make(1), The GNU Make manual.

BUGS

       There are no bugs.  Any resemblance thereof is delirium. Really.

AUTHOR

       This manual page was written by Manoj Srivastava <srivasta@debian.org>,
       for the Debian GNU/Linux system.