bionic (5) kernel-pkg.conf.5.gz

Provided by: kernel-package_13.018+nmu1_all bug

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 messaging 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  messaging  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 messaging 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  messaging
              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(1), make-kpkg(1), kernel-img.conf(5), 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.