Thanks for the information, very useful.

This begs the question:  what packages do I need from Debian to have
make-kpkg?

Also,  what is the difference between Kernel headers and kernel source?

Andrew MacKenzie
[EMAIL PROTECTED]

                -----Original Message-----
                From:   Conrado Badenas [mailto:]
                Sent:   Friday, February 12, 1999 11:04 AM
                To:     MacKenzie, Andrew
                Subject:        Re: kernel-image-2.2.1 package cannot be
created with make-kpkg

                "MacKenzie, Andrew" wrote:
                > 
                > Newbie question:

                No newbie at all if you compile your own kernels and install
them!

                > I've compiled my own kernals (I am using a self-compiled
2.0.36) but use
                > make clean make dep and make xconfig.  What is make-kpkg?

                It is the official way to compile kernels in Debian (see for
example
                /usr/doc/kernel-source-*/debian.README.gz). I copy down here
the file
                /usr/doc/kernel-package/Rationale.gz for the advantages and
                disadvantages of this method:

                                    Advantages of using make-kpkg
                                    ---------- -- ----- ---------

                        I have been asked several times about the advantages
of using
                 the kernel-package package over the traditional Linux way
of hand
                 compiling kernels, and I have come up with this list. This
is off the
                 top of my head, I'm sure to have missed points yet. Any
additions
                 welcomed.

                     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) It allows you to keep multiple version of kernel
images on
                        your machine with no fuss.
                   iii) It has a facility for you to keep multiple flavours
of the
                        same kernel version on your machine (you could have
a stable
                        2.0.33 version, and a 2.0.33 version patched with
the latest
                        drivers, and not worry about contaminating the
modules in
                        /lib/modules)
                    iv) It knows that some architectures do not have vmlinuz
(using
                        vmlinux instead), and other use zImage rather than
bzImage,
                        and calls the appropriate target, and takes care of
moving the
                        correct file into place.
                     v) 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) 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 kernel
packages.
                   vii) 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) It allows you to specify a directory with config
files, with
                        separate config files for each subarchitecture (even
allows
                        for different config files for 2386, i486, etc). It
is really
                        neat for people who need to compile kernels for a
variety of
                        sub architectures.
                    ix) 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) 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) There is support for the multitudinous sub
architectures that
                        have blossomed under the umbrella of the m68k and
powerpc
                        architectures.
                   xii) There is support there for optionally applying
patches to the
                        kernel provided as a kernel-patch .deb file, and
building a
                        patched kernel auto-magically, and still retain an
UN-patched
                        kernel source tree
                  xiii) 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.

                                   Disadvantages of using make-kpkg
                                   ------------- -- ----- ---------

                      i) This is a cookie cutter approach to compiling
kernels, and
                         there are people who like being close to the bare
metal.
                     ii) 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) 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)


                -- 
                Conrado Badenas (Assistant Lecturer)
                Department of Thermodynamics. University of Valencia
                c/. Doctor Moliner, 50       | e-m: [EMAIL PROTECTED]
                46100 Burjassot (Valencia)   | Phn: +34-63864350
                SPAIN                        | Fax: +34-63983385

Reply via email to