converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 3:||Line 3:|
|[:Embedded_Debian:Embedded Debian]||[[Embedded_Debian|Embedded Debian]]|
|Line 58:||Line 58:|
Frequently Asked Questions
Where do I download the Emdebian distribution?
The project is still working on infrastructure and enough packages to build a full distro, but we do now have enough for you to get started. Go to http://www.emdebian.org/packages/search.php to see which packages and architectures are available.
Slind is a pure dpkg-cross based system, where the built filesystem is NFS-mounted on the target to complete installation. You can see this at http://slind.org/
what do I need to build a uclibc toolchain in debian?
http://www.emdebian.org/docs/slind-toolchain.html You need to patch your binutils http://www.emdebian.org/slind/patches/binutils-slind.diff and you need slinds version of dpkg-cross. slind dpkg-dev isn't absolutely necessary. you can change /usr/share/dpkg/ files instead to support uclibc. Also you need to use the uclibc source from slind. gcc is just fine. (I don't know if all this is correct, I'll fix this later together with detailed instructions for dpkg-dev)
...and a glibc toolchain?
Just follow the same instructions as in http://www.emdebian.org/docs/slind-toolchain.html - but use normal debian sources. at least in Sid that should work.
What changes do I have to do to the linux-kernel-headers source package so I can build them for a uclibc-* architecture?
sorry, all this doesn't work,yet. all of it should work with the next version of lkh, though. when bootstrapping in the phase where you have no target compiler you have to disable the tests: setting DEB_BUILD_OPTIONS=nocheck will do that. uclibc support should be in it very soon now.
Should I build my own cross toolchain - or use a prebuilt one?
That depends on what you want to do. If you want to build for a existing set of applications and libraries it is a good idea to use the toolchain they used. If you are starting from scratch you can build your own. it's not that hard. the toolchain howto on the emdebian site helps. also have a look at the README.cross in binutils and gccs debian dir.
I was just wondering what the policy in on keeping the sid/etch packages install-able?
The idea has been (for a while) to have the common toolchains available and up to date for stable, testing and unstable, but this has proved difficult to actualy do, and whilst most of the infrastructure is now there, there is still some work needed to make the system build new compilers each time debian uploads a new one, and to fix the patches when they get stale.
After the recent Emdebian work session we have decided to start using the SLind patches rather than the bare Nikita patches, as they provide uclibc functionality and fix some bugs/are still maintained.
Are there currently any plans for cross tools in debian proper?
We have got preliminary agreement for Debian main to provide a set of cross-compilers as part of the normal packages which will cover most needs. Doing this will mean that we don't need to maintain our own parallel set.
However the existing debian build infrastructure can not build cross-packages so work is needed to support this before the toolchains can be autobuilt as part of debian.
Would help working on these be useful, or should I just be more patient ?
Help would be very useful. Developer time is the only thing stopping things progress faster.
Cross-installing Debian using debootstrap
Help with cross-compiling.
Some packages include documentation on cross-compiling. An important piece of information is the list of cache variables available to ./configure --cache-file. These allow you to look up each point at which ./configure fails in the buildd log at Debian for your target architecture and identify the value detected during a native build. You can then set this value in an $arch.cache file in the top level source and pass that cache file to ./configure. (It may be useful to set this file chmod 444 to prevent ./configure from altering it).