Provided by:
kernel-package_11.001-0.1_all 
NAME
kernel-pkg.conf - site wide 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-* 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 Name to search for in the pgp database if separate modules (like
pcmcia etc) are being built in /usr/src/modules/. 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
Set to YES, this causes a make clean to be run in the 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)
link_in_boot
Set to True if you want the symbolic link to the kernel image,
namely, vmlinuz in /boot rather than the default /. Can be
overridden by the environment variable LINK_IN_BOOT. Defaults
to undefined. (Optional)
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)
no_symlinks
Whether to use symlinks to the image file. Can be overridden by
the environment variable NO_SYMLINK Mutually exclusive to
reverse_symlinks. Can be used with link_in_boot. The image is
placed in vmlinuz (instead of /boot/vmlinuz-X.X.XX). The old
vmlinuz is moved to vmlinuz.old unconditionally. (Normally, that
is only done if the version of the new image differs from the
old one). This restricts you to two images, unless you take
additional action and save copies of older images. This is for
people who have /boot on a system that does not use symbolic
links (and say, they use loadlin as a boot loader). This is a
Hack. Defaults to undefined (optional)
reverse_symlinks
Whether to use reverse symlinks (that is, the real file is the
one without the version number, and the numbered version is the
link) to the image file. Can be overridden by the environment
variable REVERSE_SYMLINK Mutually exclusive to no_symlinks. Can
be used with link_in_boot. Just like no_symlinks, except that
the /boot/vmlinuz-X.XX is symlinked to the real new image,
vmlinuz. This, too, restricts you to just two images unless
further action is taken. The older symlinks are left dangling.
This is for people with /boot on umsdos, and who can’t see the
link in dos, but do want to know the image version when in
Linux. This is a Hack. Defaults to undefined. (optional)
patch_the_kernel
This is an experts only variable. If set to YES (ENV variable
PATCH_THE_KERNEL overrides this), the build process causes
run-parts to be run over
/usr/src/kernel-patches/$(architecture)/apply and (hopefully)
reverses the process during clean by running run-parts over
/usr/src/kernel-patches/$(architecture)/unpatch. The special
architecture all is used for arch independent patches.
config_target
What type of configure step to do. Defaults to oldconfig, which
is good for non-interactive (or minimally interactive) runs. If
you are setting patch_the_kernel to YES and some of the patches
change what configuration settings are available, then you may
wish to set this to something else (like menuconfig or xconfig).
(ENV variable CONFIG_TARGET overrides this setting.) If the
value of config_target is other than config, oldconfig,
menuconfig or xconfig 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.
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.
install_vmlinux
Set to YES to install the uncompressed kernel ELF image along
with the bootable compressed kernel image (vmlinuz). This image
is necessary for profiling kernel and userspace with oprofile
(oprofile.sourceforge.net, i386 only).
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.
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.
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
This variable should be set to a directory which contains
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
INITRD_CMD
Set this variable to a space separated list of executables that
create an initial RAM disk. This only has any effect if
installing a kernel-image that uses an initial RAM disk. The
commands so pointed must be drop-in compatible with mkinitrd.
This sets the built in default used by the postinst script at
installation time, it can be overridden by the administrator at
any target machine in /etc/kernel-img.conf. If not set, it
Defaults to a subset of mkinitrd mkinitrd.yaird mkinitramfs ,
the subset being decided based on the version of the kernel
being built, so one should refrain from setting this manually --
unless one knows what one is doing.
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
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. Defaults to /usr/share/kernel-package/Config
PATCH_DIR
Set this variable, either in the environment or in the config
file, to point to the location where the add-on kernel patches
are located. Defaults to /usr/src/kernel-patches/ARCHITECTURE
ALL_PATCH_DIR
Set this variable, either in the environment or in the config
file, to point to the location where the add-on arch independent
kernel patches are located. Defaults to
/usr/src/kernel-patches/all
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.