linux/debian
Bastian Blank 2b10781d92 debian/config/defines: Make missing dom0 support generic.
svn path=/dists/trunk/linux-2.6/; revision=9470
2007-09-07 13:44:08 +00:00
..
bin debian/bin/gencontrol.py, debian/lib/python/debian_linux/config.py: 2007-08-29 13:24:54 +00:00
config debian/config/defines: Make missing dom0 support generic. 2007-09-07 13:44:08 +00:00
lib/python/debian_linux debian/bin/gencontrol.py, debian/lib/python/debian_linux/config.py: 2007-08-29 13:24:54 +00:00
modules * debian/changelog: Update. 2007-04-01 11:14:09 +00:00
patches * debian/changelog: Set version to 2.6.23~rc5-1~experimental.1. 2007-09-05 18:34:49 +00:00
templates add /proc/cmdline to bugreport against linux-image 2007-08-17 18:10:27 +00:00
README * Set compiler build dependencies from config informations. 2006-01-06 22:32:16 +00:00
README.Debian kill ref to 2.4.19 change of the mem param. 2007-08-02 13:40:33 +00:00
README.build Merge /dists/sid/linux-2.6. 2006-03-21 22:48:04 +00:00
changelog * debian/changelog: Set version to 2.6.23~rc5-1~experimental.1. 2007-09-05 18:34:49 +00:00
compat Initial commit of common kernel-image infrastructure. 2005-05-10 04:16:53 +00:00
copyright * Add Xen licensing info to the copyright file. (closes: #368912) 2007-05-24 00:42:32 +00:00
rules debian/rules: Also exclude .svk for floating svk checkouts. 2007-08-29 11:37:09 +00:00
rules.defs * Use generated rules, effectively remove second flavour resolver. 2005-08-14 19:59:43 +00:00
rules.real debian/rules.real 2007-08-29 13:31:57 +00:00

README

Migrating to the common kernel-image package
-------------------------------------------- 
Files for architecture <arch> should be placed into arch/<arch>. This
directory normally contains a common config file for this architecture
('config'), flavour-specific config files, Makefile.inc file,
controlling the build for this arch, and the defines file, containing
the machine descriptions for various flavours.  For arches with
subarches the subdirectory arch/<arch>/<subarch> with the same file
structure must be created for each subarch.

Kernel config files
-------------------
Configuration files are constructed dynamically by concatenating a number
of config files as described below. 

For architecture without subarches:

  arch/config
  arch/<arch>/config 
  arch/<arch>/config.<flavour>
  
For architecture with subarches:

  arch/config
  arch/<arch>/config
  arch/<arch>/<subarch>/config
  arch/<arch>/<subarch>/config.<flavour>

Control file
------------
The master control file debian/control must be generated before
the package is uploaded. debian/rules contains the debian/control 
target, which generates the control file by invoking the 
debian/bin/gencontrol.py script, which combines the templates from
the templates directory and arch/subarch specific defines file to
produce the debian/control file. Note that this target is intentionally
made to fail with a non-zero exit code to make sure that it is never
run during an automatic build. The following variables are substituted
into the templates:

@version@      Upstream kernel version, for example 2.6.11.
@major@        The major version, for example 2.6
@arch@         The Debian arch name, such as powerpc or i386.
@subarch@      The subarch - only used by powerpc right now.
@flavour@      The build flavour, such as 686 or k7-smp.
@class@        The CPU/architecture class; displayed in synopsis.  It should
               be fairly short, as the synopsis is supposed to be <80 chars.
               It should be in the form "foo class", and will show up in the
	       description as "foo class machines".
@longclass@    The CPU/architecture class; displayed in the extended
               description.  The same rules apply as in @class@.  If
	       this is unset, it will default to @class@.
@desc@         (Potentially) multi-line verbiage that's appended to
               -image descriptions.
@abiname@      Current abiname, a single digit.

Normally, the arch-specific contents should be controlled by
adjusting the corresponding defines file.

Makefile.inc
------------
Each architecture subdirectory in arch may contain a Makefile.inc
file, which is included by debian/rules after definining all the
variables. It may be used to override the standard variables on
per-architecture basis and other evil things. So far the valid uses of
this file include the setting of the following variables:

image_postproc

  A command to be run after the kernel image is built. As far as I know,
  it only required on sparc for stripping of the kernel which is too big
  to be booted otherwise. Typical use is too ugly to be presented here.