There is armel cross toolchain in Ubuntu since 10.04 'maverick'. But it is not yet merged into Debian. This page will describe why and what is needed for it to happen.

how it works

We take few packages:

  • binutils-source
  • eglibc-source
  • gcc-4.X-source
  • linux-source-2.6.Y

Value of X and Y depends on version of Ubuntu:

  • maverick: gcc 4.4 and linux 2.6.35
  • natty: gcc 4.5 and linux 2.6.38
  • oneiric: gcc 4.6 and linux 2.6.39 (will be next release)

Under Debian 'sid' versions are same as in Ubuntu 'oneiric'.

Build contains two stages:

  • armel-cross-toolchain-base (source package) builds cross binutils, target eglibc and libgcc
  • gcc-4.X-armel-cross (source package) builds cross gcc

Those packages can not be merged into one because final gcc assumes that libraries and headers are available in /usr/arm-linux-gnueabi/ subdirectories.

Debian version situation

Version from Ubuntu builds fine under Debian - there are few ifdefs in code which takes care of it (based on 'lsb_release -d' output which can be changed into use of 'dpkg-vendor' command). Resulting packages works and use of them gives proper binaries.

Problems

linux-source

Same situation as with 'eglibc-source'. But this time answer to reported bug was negative.

For now I use same work around as for eglibc.

MarcinJuszkiewicz/Projects/MergeCrossToolchainIntoDebian (last modified 2011-05-30 14:51:25)