linux/debian
Ben Hutchings 42222d590e Combine rt2860sta and rt2870sta firmware patches following upstream changes
svn path=/dists/trunk/linux-2.6/; revision=13851
2009-06-28 15:33:38 +00:00
..
bin debian/bin/genorig.py: Remove slipped-in debugging code. 2009-06-28 09:49:43 +00:00
config powerpc64 enable modular PS3_VRAM 2009-06-22 22:56:20 +00:00
lib/python/debian_linux debian/lib/python/debian_linux/kconfig.py: Use sorted dict. 2009-05-20 15:12:51 +00:00
modules debian/modules/rules.include: 2007-10-10 14:13:14 +00:00
patches Combine rt2860sta and rt2870sta firmware patches following upstream changes 2009-06-28 15:33:38 +00:00
templates linux-tree fix typo in long desc 2009-06-23 09:43:55 +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 small Readme.build addition 2008-05-25 08:55:32 +00:00
changelog Remove PHY firmware blobs from cxgb3 2009-06-28 13:07:41 +00:00
compat * debian/changelog: Update. 2009-03-17 18:51:02 +00:00
copyright * debian/changelog: Update. 2009-02-22 19:11:37 +00:00
rules * debian/bin/abicheck.py, debian/bin/abiupdate.py: Use config dump. 2007-10-14 14:29:07 +00:00
rules.defs * Use generated rules, effectively remove second flavour resolver. 2005-08-14 19:59:43 +00:00
rules.real * debian/changelog: Update. 2009-04-12 10:26:17 +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.