[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: kernel-image-2.2.1 package cannot be created with make-kpkg



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
Andrew.mackenzie@cognos.com

		-----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: Conrado.Badenas@uv.es
		46100 Burjassot (Valencia)   | Phn: +34-63864350
		SPAIN                        | Fax: +34-63983385


Reply to: