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

August 17th 2006: The server has moved to a new machine in Europe instead of the US.

Frequently Asked Questions (FAQ)


Wiki pages in continuous devel


Cross Toolchains

Emdebian builds [EmdebianToolchain cross-toolchains] for use on standard Debian development machines. Currently tools for i386 & amd64 to arm, powerpc, mips, mipsel, m68k, alpha, ia64, s390, sparc and hppa are built for testing and unstable.

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

# EmDebian Toolchain [i386 and AMD64]
# deb testing cross-testing
deb unstable cross-unstable

The AMD64 packages have now been _merged_ and are available in the one repository.

The "testing" and "unstable" distributions are currently synced with Debian mainstream.

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

 aptitude update
 aptitude install gcc-4.1-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-4.0-arm-linux, and other compilers are on the way.


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.


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 :

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

===2006=== May 14th - May 21st DebConf6EmdebianStuff

April 12-16 DebianEmbeddedWorkSessionExtremadura2006

February 25&26th [ Fosdem2006]