Trash Fr:Compilateur croisé

From ArmadeusWiki
Jump to: navigation, search

Comment installer le kit de développement du projet Armadeus pour Linux/Window$

Page under construction... Construction.png Informations on this page are not guaranteed !!

Prérequis pour une installation Window$

Pour développer des programme pour la carte Armadeus, il vous faudra installer Cygwin dans un premier temps: http://www.cygwin.com. Choisissez une installation par défaut et ajoutez les paquets suivants en cliquant une fois sur l'icône "skip":

  • devel -> subversion
  • devel -> make
  • devel -> patchutils
  • devel -> gcc-core
  • devel -> gcc-g++
  • devel -> gdb
  • devel -> binutils
  • devel -> libncurses-devel
  • devel -> gettext-devel
  • devel -> bison
  • devel -> flex
  • system -> util-linux
  • web -> wget

Prérequis pour une installation Linux

Vérifiez que vous avez les paquets suivants installés dans votre distribution:

  • cvs (fixme)
  • gettext
  • libncurses
  • svn
  • wget
  • autoconf
  • zlib1g-dev
  • libacl1-dev

Sous Debian, vous pouvez utiliser la commande suivante:

$ sudo apt-get install autoconf automake bison flex g++ gettext libncurses5-dev liblzo1 liblzo-dev liblzo2-2 liblzo2-dev \
              patch subversion texinfo wget zlib1g-dev libacl1 libacl1-dev

Il a été rapporté que l'installation se déroule bien sur: Fedora Core 3, Fedora Core 4, Debian Sarge, Ubuntu Edgy

Installation

Ouvrez un shell et suivez la procédure suivante:

Récupération de l'archive Armadeus

  • Si vous voulez la derniere version du logiciel atmadeus, récupérez les fichiers requis depuis le dépôt:
$ git clone git://git.code.sf.net/p/armadeus/code armadeus  

Un répertoire appelé armadeus/ sera créé sur votre disque dur et contiendra tous les fichiers dont vous aurez besoin.

Configurez le générateur de distribution Armadeus :

$ cd armadeus/
$ make menuconfig  (ou juste make la première fois).

Ceci lancera la configuration du Buildroot. Dans le menu Board Support Option, sélectionnez votre carte armadeus (apf/apm9328), la taille de la RAM (16/32MB) et ainsi de suite...

  • Si vous avez besoin de la LIBSTD C++, ajoutez ceci dans le menuconfig/options du toolchain/options additionelles de gcc :

--disable-libstdcxx-pch. Ceci désactivera l'utilisation des en-êtes du précompilateur.

  • Quittez l'outil de configuration en enregistrant votre config.

Lancez le build

$ make

La chaine de compile, le noyau linux et le système de fichier sont construits automatiquement. Durant cette procédure, plusieurs fichiers seront téléchargés depuis Internet. S'il vous plait, attendez un peu... cela prend au moins une heure la première fois!

Problèmes:

  • crash de la compilation avec uclibc-0.9.28: lancez make à nouveau should be fixed now
  • crash de la compilation avec gdb 6.3: lancez make à nouveau should be fixed now
  • crash de la compilation avec linux 2.6.12: lancez make à nouveau should be fixed now

Appréciez le résultat

Les fichiers binaires générés se trouvent dans le sous-répertoire armadeus/buildroot/binaries/armadeus:

  • u-boot.brec (peut être utilisé en mode bootstrap si U-Boot n'est pas installé ou ne marche plus. Dans ce cas regardez la page du BootLoader )
  • u-boot.bin (à télécharger depuis U-Boot, regardez la page BootLoader "Update u-boot")
  • linux-kernel-2.6.xx-arm.bin (à télécharger depuis U-Boot, regardez InstallLinux)
  • rootfs.arm.jffs2 (à télécharger depuis U-Boot, regardez InstallFileSystem?)
  • rootfs.arm.tar (pour un rootfs par NFS ou sur MMC/SD, regardez RootNFS)

Pour garder votre copie de travail à jour par rapport au dépôt Armadeus

$ svn update

Ceci mettra à jour votre répertoire de travail à la dernière release.

Note: si "svn update" échoue à cause d'un répertoire ou fichier qui existe déjà, faites ceci:

$ rm -rf <le_répertoire/ou_le_fichier>
$ svn update

Vous pouvez faire un:

$ make defconfig

pour avoir récupérer les paramètres par défaut puis un:

$ make menuconfig

pour apporter vos modifications personnelles

Vous devez faire un make pour reconstruire les fichiers binaires et ensuite chargez les fichiers binaires sur votre cible/carte.

Note: Si finalement rien ne marche alors que ça marchait avant la dernière mise à jour, vous pouvez appliquer la procédure suivante:

$ rm -rf buildroot
$ rm Makefile
$ svn update
$ make
$ make

Enjoy!