linux/debian
Maximilian Attems bdb19873b1 powerpc fix installation of images
"The problem is that (a) the kernel's postinst uses debconf, which uses
stdin and stdout for communication and forbids other junk from appearing
there, and (b) the kernel's postinst calls update-initramfs, which
outputs status information to stdout which debconf thinks is a command
in its protocol and thus confuses any future real debconf commands.
Since the kernel's postinst is the thing with special requirements due
to using debconf, it should be the thing responsible for redirecting
file descriptors around as necessary." -cjwatson

svn path=/dists/sid/linux-2.6/; revision=13347
2009-04-06 09:50:07 +00:00
..
bin show size even when image fits 2009-03-17 17:35:04 +00:00
config [mips*/4kc-malta, mips*/5kc-malta] Build in RTC_DRV_CMOS. 2009-04-01 17:09:23 +00:00
lib/python/debian_linux debian/lib/python/debian_linux/config.py: Recognize build section. 2009-03-17 12:25:30 +00:00
modules debian/modules/rules.include: 2007-10-10 14:13:14 +00:00
patches * debian/changelog: Update. 2009-04-04 13:14:43 +00:00
templates powerpc fix installation of images 2009-04-06 09:50:07 +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 powerpc fix installation of images 2009-04-06 09:50:07 +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-03-28 22:36:30 +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.