Trash Fr:Compilateur croisé
Comment installer le kit de développement du projet Armadeus pour Linux/Window$
Contents
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
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 êtes un développeur officiel, récupérez les fichiers requis depuis le dépôt:
$ svn co svn://ericjarrige.homelinux.org/armadeus/trunk armadeus --username <<YOUR USERNAME>> --password <<YOUR PASS>>
Un répertoire appelé armadeus/ sera créé sur votre disque dur et contiendra tous les fichiers dont vous aurez besoin.
- Sinon, téléchargez l'archive d'installation depuis SourceForge: http://sourceforge.net/projects/armadeus et décompressez la dans un répertoire avec au moins 2 Go d'espace libre.
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...
- Choisissez GDB version 6.3 si vous avez besoin d'un débogueur.
- 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
- crash de la compilation avec gdb 6.3: lancez make à nouveau
- crash de la compilation avec linux 2.6.12: lancez make à nouveau
Appréciez le résultat
Les fichiers binaires générés se trouvent dans le sous-répertoire armadeus/buildroot:
- 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.12-arm.bin (à télécharger depuis U-Boot, regardez InstallLinux)
- rootfs.arm_nfpu.jffs2 (à télécharger depuis U-Boot, regardez InstallFileSystem?)
- rootfs.arm_nfpu.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!