Differences between revisions 1 and 25 (spanning 24 versions)
Revision 1 as of 2005-11-19 02:43:49
Size: 1840
Editor: wookey
Comment: Moved embedian content to page with correctly spelled title
Revision 25 as of 2006-10-04 14:17:18
Size: 5205
Editor: HectorOron
Comment: added AMD64 toolchain for sid
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
adapted packages with an emdebian dir. adapted packages with info on how to cross-build and build smaller packages.
Line 4: Line 4:
As it seems at the moment the ["Scratchbox"] environment seems to be a
primary target to try out these things. With the advantage that we can
ignore some cross-compilation issues, and that the tools are easily
usable natively too.
Emdebian is experimenting with different approaches to cross-building and small-system-friendly packages in order to produce sustainable and robust long-term solutions. For cross-building there are two main approaches: ["Scratchbox"], which allows cross-builds to appear to be native to the apps being built, and dpkg-cross which allows conventional cross-builds to occur in a Debian-compatible way. EmdebianSlind is a distribution built using dpkg-cross, and STAGE is built using scratchbox.

For package meta-data making packages more suitable for shrinking, two approaches are currently being investigated. The STAG approach uses a $(DEBIAN_DIR) directory to overlay changed info from the /debian directory, and is used by STAGE. The udeb approach of Debian-installer gives a tighter integration with Debian, with embedded packages having changed names so they can exist in the debian package namespace. Both mechanisms have pros and cons which are discussed in EmdebianMetaData.


== Project Website ==

http://www.emdebian.org/

August 17th 2006: The server has moved to a new machine in Europe instead of the US. This is at http://88.198.202.189/ until the DNS catches up. Expect some brokenness for the next couple of weeks until we have everything set up properly.

== Frequently Asked Questions (FAQ) ==

["EmbeddedDebianFAQ"]

== Wiki pages in continuous devel ==

["CategoryEmdebian"]

== Cross Toolchains ==

Emdebian builds cross-toolchains for use on standard Debian development machines. Currently tools for i386 to arm, powerpc, mips, mipsel and m68k are built for stable, testing and unstable.

Add whichever of these lines your need to your /etc/apt/sources.list:
{{{
 deb http://www.emdebian.org/debian stable main
 deb http://www.emdebian.org/debian testing main
 deb http://www.emdebian.org/debian unstable main
}}}

The "testing" and "unstable" distributions should be considered experimental at this time, and are currently poorly synced with Debian mainstream, so you may have to force things a bit. A system to keep the testing and unstable versions in sync with Debian-proper is being set up.

To install the full toolchain (binutils, gcc, cpp, glibc), for e.g. ARM do:
{{{
 aptitude update
 aptitude install gcc-3.4-arm-linux
}}}

You will also need the development libraries (which will be brought in automatically if you auto-install Recommends:):
{{{
 aptitude install libc6-dev-arm-cross
}}}

You can alternatively install gcc-3.3-arm-linux, or for arches where it all builds, gcc-4.0-arm-linux

We are constantly working improving our scripts and doing some useful builds. In fact, right now, there is an AMD64 toolchain for SID and more to come at http://www.emdebian.org/~zumbi/toolchain/.

== Documentation ==

EmdebianPackagingGuidelines is a document explaining to package maintainers the sorts of things they should be aware of in their packaging to make their packages 'Embedded-friendly'. This includes cross-building and small-system-building.
Line 11: Line 57:
As Ed seems to have a working environment I guess we should start
working with that and improve it on the go.

Seems you got the "build base system" item finished Ed. Thanks!

And the second item "ability to build a base ["rootfs"] too!

One good thing would that he did not mention in his mail was adding
support for ignoring packaging documentation and man-pages in the
packages. A harder thing to do is actually making sure that the docs
don't even get build. And a way to avoid the circular dependencies that
exist due to this documentation building tools.
 * http://lists.debian.org/debian-embedded/2005/11/msg00014.html
   Current state of affairs.
 * bring Ed's framework upto date with Etch.
 * create configurations for various devices and document howto do it
 * promote DEB_BUILD_OPTIONS=nodocs flag for not building docs
 * promote DEB_BUILD_OPTIONS=notest for skipping tests
 * co-operate with i386-uclibc team and embedded arch porters
 * Kill scratchbox in it's current form and make a better scratchbox2
 * Settle and stick in to one of: familiar/ipkg, emdebian or udebs
Line 40: Line 83:
-Make sure everything works with the successors of scratchbox\
-Check the ARM build of Ubuntu
 * Make sure everything works with the successors of scratchbox
 * Check the ARM build of Ubuntu
Line 46: Line 89:
See also: BootUsb , DebianRobot . See also: BootUsb , DebianRobot , EmDebian/DeBootstrap , EmDebian/CrossDebootstrap .

== Wacky Ideas ==

There are also a few ideas that may need to be investigated further to decide whether it is a good idea to make them a new TODO item. These are collected on the EmdebianWackyIdeas page.

== Work Sessions ==

February 25&26th
[http://wiki.debian.org/EmDebian/Fosdem2006 Fosdem2006]

April 12-16
DebianEmbeddedWorkSessionExtremadura2006

May 14th - May 21st
DebConf6EmdebianStuff

== External links ==
 * http://www.netrino.com/Publications/Glossary/
----
CategoryEmdebian

Adapted Debian tools so you can build/cross-compile DebianPackage s or adapted packages with info on how to cross-build and build smaller packages.

Emdebian is experimenting with different approaches to cross-building and small-system-friendly packages in order to produce sustainable and robust long-term solutions. For cross-building there are two main approaches: ["Scratchbox"], which allows cross-builds to appear to be native to the apps being built, and dpkg-cross which allows conventional cross-builds to occur in a Debian-compatible way. EmdebianSlind is a distribution built using dpkg-cross, and STAGE is built using scratchbox.

For package meta-data making packages more suitable for shrinking, two approaches are currently being investigated. The STAG approach uses a $(DEBIAN_DIR) directory to overlay changed info from the /debian directory, and is used by STAGE. The udeb approach of Debian-installer gives a tighter integration with Debian, with embedded packages having changed names so they can exist in the debian package namespace. Both mechanisms have pros and cons which are discussed in EmdebianMetaData.

Project Website

http://www.emdebian.org/

August 17th 2006: The server has moved to a new machine in Europe instead of the US. This is at http://88.198.202.189/ until the DNS catches up. Expect some brokenness for the next couple of weeks until we have everything set up properly.

Frequently Asked Questions (FAQ)

["EmbeddedDebianFAQ"]

Wiki pages in continuous devel

["CategoryEmdebian"]

Cross Toolchains

Emdebian builds cross-toolchains for use on standard Debian development machines. Currently tools for i386 to arm, powerpc, mips, mipsel and m68k are built for stable, testing and unstable.

Add whichever of these lines your need to your /etc/apt/sources.list:

 deb http://www.emdebian.org/debian stable main
 deb http://www.emdebian.org/debian testing main
 deb http://www.emdebian.org/debian unstable main

The "testing" and "unstable" distributions should be considered experimental at this time, and are currently poorly synced with Debian mainstream, so you may have to force things a bit. A system to keep the testing and unstable versions in sync with Debian-proper is being set up.

To install the full toolchain (binutils, gcc, cpp, glibc), for e.g. ARM do:

 aptitude update
 aptitude install gcc-3.4-arm-linux

You will also need the development libraries (which will be brought in automatically if you auto-install Recommends:):

 aptitude install libc6-dev-arm-cross

You can alternatively install gcc-3.3-arm-linux, or for arches where it all builds, gcc-4.0-arm-linux

We are constantly working improving our scripts and doing some useful builds. In fact, right now, there is an AMD64 toolchain for SID and more to come at http://www.emdebian.org/~zumbi/toolchain/.

Documentation

EmdebianPackagingGuidelines is a document explaining to package maintainers the sorts of things they should be aware of in their packaging to make their packages 'Embedded-friendly'. This includes cross-building and small-system-building.

TODO

  • http://lists.debian.org/debian-embedded/2005/11/msg00014.html

    • Current state of affairs.
  • bring Ed's framework upto date with Etch.
  • create configurations for various devices and document howto do it
  • promote DEB_BUILD_OPTIONS=nodocs flag for not building docs
  • promote DEB_BUILD_OPTIONS=notest for skipping tests
  • co-operate with i386-uclibc team and embedded arch porters
  • Kill scratchbox in it's current form and make a better scratchbox2
  • Settle and stick in to one of: familiar/ipkg, emdebian or udebs

Set-up a buildd inside scratchbox (which should be possible as I heard that it has already been done) to start building more packages. (This will hopefully be possible when the emdebian server is back up). (Once I find out how to silence my proliant server I might hook it up to my internet line and provide a secondary build env)

Document setting up the buildd so ["people"]/ ["dev"]s can try it out for themselves.

Integrate ["uclibc"] in the story. This will definitely give some size boost toward smaller footprint to the packages.

Once we have proven that this works start pushing things into Debian proper.

Optional :

  • Make sure everything works with the successors of scratchbox
  • Check the ARM build of Ubuntu

Well I hope I can open a fruitfull discussion with this and hope to see some more people starting to work on this.

See also: BootUsb , DebianRobot , EmDebian/DeBootstrap , EmDebian/CrossDebootstrap .

Wacky Ideas

There are also a few ideas that may need to be investigated further to decide whether it is a good idea to make them a new TODO item. These are collected on the EmdebianWackyIdeas page.

Work Sessions

February 25&26th [http://wiki.debian.org/EmDebian/Fosdem2006 Fosdem2006]

April 12-16 DebianEmbeddedWorkSessionExtremadura2006

May 14th - May 21st DebConf6EmdebianStuff


CategoryEmdebian