Emdebian Cross-Toolchain

Das Emdebian Projekt stellt Cross-Toolchains für Debian basierende Linux Distributionen bereit. Die Toolchains für PowerPC und ARM wurden am NTB schon in mehreren Projekten eingesetzt. Auf der Emdebian-Homepage ist ersichtlich, für welche Architekturen und in welchen Versionen die Toolchains verfügbar sind. Auf dem Emdebian-Wiki ist eine Installationsanleitung verfügbar.

Vorbereitung

  1. Schlüssel für das Emdebian-Paket-Archiv installieren:
    # apt-get install emdebian-archive-keyring
  2. Emdebian-Paket-Archiv als Quelle für APT hinzufügen, indem die folgende Zeile in der Datei /etc/apt/sources.list am Schluss hinzugefügt wird.
    # -- Emdebian cross toolchains
    deb http://www.emdebian.org/debian/ wheezy main
  3. Paket-Quellen neu lesen:
    # apt-get update
  4. Wird Debian 7 Wheezy verwendet, muss noch die glibc auf Version 2.14 oder neuer aktualisiert werden. Dazu sind folgende Schritte notwendig:
    1. Paket-Archiv für Debian Testing hinzufügen:
      # -- Debian Testing
      deb http://mirror.switch.ch/ftp/mirror/debian/ testing main
    2. Paket-Quellen neu lesen:
      #apt-get update
    3. GLibc6 aktualisieren:
      # apt-get -t testing install glibc6-dev
  5. Wird Ubuntu 14.04 verwendet, muss das Paket libmpc2 aus Debian Wheezy installiert werden, dazu sind folgende Schritte notwendig:
    1. Paket herunterladen: für x86-64 oder x86-32
    2. Paket installieren1):
      # dpkg -i libmpc2_0.9-4_amd64.deb

Toolchain für PowerPC installieren

  1. Installation des Cross Compilers und der Laufzeitbibliotheken:
    # apt-get install libc6-powerpc-cross libc6-dev-powerpc-cross  binutils-powerpc-linux-gnu
    # apt-get install gcc-4.7-powerpc-linux-gnu
    # apt-get install g++-4.7-powerpc-linux-gnu

Toolchain für ARM installieren

Anmerkung: Debian kennt drei unterschiedliche ARM-ABIs: arm, armel und armhf. In dieser Anleitung wird eine Toolchain für armel installiert.

  1. Installation des Cross Compilers und der Laufzeitbibliotheken:
    # apt-get install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi 
    # apt-get install gcc-4.7-arm-linux-gnueabi
    # apt-get install g++-4.7-arm-linux-gnueabi
  2. Soll ein Linux Kernel crosscompiliert werden, so werden noch weitere Bibliotheken benötigt:
    # apt-get install libncurses5-dev linux-libc-dev-armel-cross uboot-mkimage
  3. Installation von xapt:
    # apt-get install xapt
  4. Installation eventuell zusätzlich benötigter Bibliotheken.
1)
der Dateinamen des Paketes kann sich vom Beispiel unterscheiden