wiki:make-cross-compil-tools
close Warning: Can't synchronize with repository "(default)" (Couldn't open Subversion repository /var/repositories/svn/etudiants: SubversionException: ("Failed to load module for FS type 'fsfs'", 160033)). Look in the Trac log for more information.

Faire une chaîne de compilation croisée

Pour compiler RTEMS, nous allons définir une chaîne de compilation croisée. En gros, nous avons besoin de construire les éléments suivants :

  • les binutils de GNU
  • autoconf/automake récents (pour pouvoir éxécuter le script bootstrap de la distrib de RTEMS
  • GCC avec en plus la newlib
  • GDB

Le tout est très bien décrit dans la documentation de RTEMS, à cette adresse. Jérome Hugues a également mis à disposition un ensemble de scripts pour builder la chose, on peut trouver ça ici.

Patches

Le gros problème vient dans les patches à installer. En fait, parfois, aucun patch n'est requis, dans d'autres, il en faut. Tout dépend bien souvent de l'architecture. Pour savoir si il faut ou non mettre un patch sur les sources, le mieux est de consulter ce post qui indique comment faire.

Plus précisément, il s'agit de regarde comment sont buildés les paquets RPM, avec quels sources et quel patches. La descriptions des paquets est dispo dans le répertoire contrib/crossrpms/rtems4.7/powerpc de l'arbre des sources de RTEMS. On voit bien que les patchs sont différents de la version du soft.

Enfin, tous les patchs sont accessibles dans l'archive de RTEMS, dans le répertoire contrib/crossrpms/patches.

En ce qui nous concerne, les patches ont été appliqués à :

  • GCC
  • les binutils
  • GDB

De plus, il faut bien veiller à avoir une version récente du couple autoconf/automake.

Last modified 10 years ago Last modified on 02/08/07 18:29:09