KERNEL-PACKAGE(5) Debian GNU/Linux manual KERNEL-PACKAGE(5)
NAME
kernel-package - A system for creating kernel related packages
DESCRIPTION
The kernel-package package grew out of desire to automate the routine steps required to
compile and install a custom kernel. If you are looking for instructions on how to use
kernel-package, please have a look at the manual make-kpkg (1). Configuring instructions
are to be found in kernel-pkg.conf(5).
Advantages of using kernel-package
i) Convenience.
I used to compile kernels manually, and it involved a series of steps to be
taken in order; kernel-package was written to take all the required steps
(it has grown beyond that now, but essentially, that is what it does). This
is especially important to novices: make-kpkg takes all the steps required
to compile a kernel, and installation of kernels is a snap.
ii) Multiple images support
It allows you to keep multiple version of kernel images on your machine with
no fuss.
iii) Multiple Flavors of the same kernel version
It has a facility for you to keep multiple flavors of the same kernel ver-
sion on your machine (you could have a stable 2.0.36 version, and a 2.0.36
version patched with the latest drivers, and not worry about contaminating
the modules in /lib/modules).
iv) Built in defaults
It knows that some architectures do not have vmlinuz (using vmlinux
instead), and other use zImage rather than bzImage, and calls the appropri-
ate target, and takes care of moving the correct file into place.
v) Module hooks
Several other kernel module packages are hooked into kernel-package, so one
can seamlessly compile, say, pcmcia modules at the same time as one compiles
a kernel, and be assured that the modules so compiled are compatible.
vi) dpkg support
It enables you to use the package management system to keep track of the
kernels created. Using make-kpkg creates a .deb file, and dpkg can track it
for you. This facilitates the task of other packages that depend on the ker-
nel packages.
vii) Configuration tracking
It keeps track of the configuration file for each kernel image in /boot,
which is part of the image package, and hence is the kernel image and the
configuration file are always together.
viii) Multiple config files
It allows you to specify a directory with config files, with separate config
files for each sub-architecture (even allows for different config files for
i386, i486, etc). It is really neat for people who need to compile kernels
for a variety of sub architectures.
ix) Auxiliary kernel .deb packages
It allows to create a package with the headers, or the sources, also as a
deb file, and enables the package management system to keep track of those
(and there are packages that depend on the package management system being
aware of these packages).
x) Maintainer script services
Since the kernel image package is a full fledged Debian package, it comes
with maintainer scripts, which take care of details like offering to make a
boot disk, manipulating symbolic links in / so that you can make boot loader
scripts static (just refer to the symbolic links, rather than the real image
files; the names of the symbolic links do not change, but the kernel image
file names change with the version).
xi) Sub architecture support
There is support for the multitudinous sub architectures that have blossomed
under the umbrella of the m68k and power-PC architectures.
xii) kernel-patch support
There is support there for optionally applying patches to the kernel pro-
vided as a kernel-patch .deb file, and building a patched kernel auto-magi-
cally, and still retain an UN-patched kernel source tree.
xiii) Portable kernel images
Allows one to compile a kernel for another computer, for example using a
fast machine to compile the kernel for installation on a slower machine.
This is really nice since the modules are all included in the .deb; and one
does not have to deal with modules manually.
xiv) Customizations on the target host
The postinst looks at a configuration file on the installation machine (as
opposed to the machine that the image was compiled on), and allows the local
admin to decide on issues of symbolic links, and whether the boot loader
stuff must be run, and whether one wants to create a boot floppy or not.
xv) runtime hooks
The postinst and the postrm scripts allow the local admin on the installa-
tion machine to add a script into runtime hooks; this can allow, amongst
other things, grub users to add and remove kernel image stanzas from the
grub menu (example scripts to do this are in the package).
xvi) Append descriptive bits to the kernel version
One can append to the kernel version on the command line, or by setting an
environment variable. So if your kernel is called ker-
nel-image-2.4.1John.Home; it is unlikely to be overridden by the official
2.4.1 kernel, since they are not the same version.
Disadvantages of using make-kpkg
i) Automation.
This is a cookie cutter approach to compiling kernels, and there are people who
like being close to the bare metal.
ii) Non traditional
This is not how it is done in the non-Debian world. This flouts tradition. (It has
been pointed out, though, that this is fast becoming Debian tradition).
iii) Needs superuser
It forces you to use fakeroot or sudo or super or be root to create a kernel image
.deb file (this is not as bad as it used to be before fakeroot)
FILES
/etc/kernel-pkg.conf. /etc/kernel-img.conf.
SEE ALSO
make-kpkg(1), 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 AT debian.org>, for the Debian
GNU/Linux system.
Debian May 25 1999 KERNEL-PACKAGE(5)
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-26 00:45 @38.107.179.236 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)