Dies ist eine alte Version des Dokuments!


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 als Host Betriebssystem 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

Toolchain für PowerPC installieren

TODO

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.