Differences between revisions 3 and 13 (spanning 10 versions)
Revision 3 as of 2006-05-17 17:27:06
Size: 1643
Editor: HectorOron
Comment: fixed title "background"
Revision 13 as of 2012-03-29 12:38:49
Size: 2114
Editor: wookey
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and embedded systems. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building. Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and [[Embedded_Debian|embedded systems]]. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building.
Line 3: Line 3:
There is a number of things in packaging which affect how embedded-friendly they are. Here we explain some of the things you should do to make sure that your packages are suitable for embedded use. If you have questions please use the [ debian-embedded mailing list | http://lists.debian.org/debian-embedded/ ] There is a number of things in packaging which affect how embedded-friendly they are. Here we explain some of the things you should do to make sure that your packages are suitable for embedded use. If you have questions please use the [[http://lists.debian.org/debian-embedded/|debian-embedded mailing list]].
Line 15: Line 15:
 * minimal base system - 4Mb not 200 Mb  * minimal base system - 50MB not 2GB
Line 18: Line 18:
 * splitting out docs, optional tools, examples, languages  * splitting out docs, optional tools, examples, languages (see [[http://buildd.emdebian.org/repos/tools/emlocale/|emlocale]] to generate control data to package each language separately.)
Line 20: Line 20:
 * Install scripts - install-time (on build machine), riun-time (on target machine)  * install scripts - install-time (on build machine), run-time (on target machine)
Line 27: Line 27:
    - move docu and other arch indep stuff to arch:all packages
  * DEB_BUILD_OPTIONS (INHIBIT_DOCS?)
    - move documentation and other architecture-independent stuff to ''arch:all'' packages
Options needed for packaging:
 DEB_BUILD_OPTIONS=nodocs (flag for not building docs)
 DEB_BUILD_OPTIONS=nocheck (for skipping tests)

=== Emdebian Packages ===

TODO list states:
"Select list of Debian packages to form Emdebian"

Check EmdebianRootfs
Line 31: Line 40:
CategoryEmdebian ## This page is referenced from http://www.emdebian.org/
CategoryPermalink CategoryEmdebian

Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and embedded systems. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building.

There is a number of things in packaging which affect how embedded-friendly they are. Here we explain some of the things you should do to make sure that your packages are suitable for embedded use. If you have questions please use the debian-embedded mailing list.

Background

Below are various examples of things you should do/avoid doing, but it is best if you understand why these things are done. Here is some explanation of the issues.

Terminology (build/host/target).

  • build/target machines
  • build-time/install-time/run-time deps
  • build-arch deps/ target-arch deps
  • minimal base system - 50MB not 2GB
  • busybox-friendly scripts
  • splitting out docs, optional tools, examples, languages (see emlocale to generate control data to package each language separately.)

  • install scripts - install-time (on build machine), run-time (on target machine)

Things to mention:

  • reducing build-dependecies
    • - just removing unneeded stuff (sometimes pkgs have Build-Deps
      • which are not really needed)

      - move documentation and other architecture-independent stuff to arch:all packages

Options needed for packaging:

  • DEB_BUILD_OPTIONS=nodocs (flag for not building docs) DEB_BUILD_OPTIONS=nocheck (for skipping tests)

Emdebian Packages

TODO list states: "Select list of Debian packages to form Emdebian"

Check EmdebianRootfs


CategoryPermalink CategoryEmdebian