Difference between revisions of "Trash Fr:Compilateur croisé"

From ArmadeusWiki
Jump to: navigation, search
 
Line 1: Line 1:
Comment installer le kit de développement du programme Armadeus pour Linux/Window$
+
Comment installer le kit de développement du projet Armadeus pour Linux/Window$
  
==Prérequis pour une installation window$==
+
==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.
 
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":
 
Choisissez une installation par défaut et ajoutez les paquets suivants en cliquant une fois sur l'icône "skip":
Line 18: Line 18:
 
* web    -> wget
 
* web    -> wget
  
==Pr"requis pour une installation Linux==
+
==Prérequis pour une installation Linux==
Vérifiez que vous avez les paquets suivants installés:
+
Vérifiez que vous avez les paquets suivants installés dans votre distribution:
 
* cvs (fixme)
 
* cvs (fixme)
 
* gettext
 
* gettext
Line 25: Line 25:
 
* svn
 
* svn
 
* wget
 
* wget
 +
* autoconf
 +
* zlib1g-dev
  
Pour Débian, vous pouvez utiliser la commande suivante:
+
Sous Debian, vous pouvez utiliser la commande suivante:
 
  $ apt-get install wget gettext libncurses5-dev subversion autoconf zlib1g-dev
 
  $ apt-get install wget gettext libncurses5-dev subversion autoconf zlib1g-dev
  
Il a été rapporté que l'installation se déroule bien sur: Fedora Core 3, Fedora Core 4, Debian Sarge, ...
+
Il a été rapporté que l'installation se déroule bien sur: Fedora Core 3, Fedora Core 4, Debian Sarge, Ubuntu Edgy
  
 
==Installation==
 
==Installation==
Line 35: Line 37:
 
Ouvrez un shell et suivez la procédure suivante:
 
Ouvrez un shell et suivez la procédure suivante:
  
===Obtenez le programme Armadeus===
+
===Récupération de l'archive Armadeus===
Si vous êtes un développeur inscrit,vérifiez les fichiers requis depuis le dépôt:
+
* 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>>
 
  $ 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.
 
Un répertoire appelé armadeus/ sera créé sur votre disque dur et contiendra tous les fichiers dont vous aurez besoin.
Sinon, téléchargez ensuite l'archive d'installation depuis SourceForge: http://sourceforge.net/projects/armadeus et décompressez le.
+
* 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 programme Armadeus :===
+
===Configurez le générateur de distribution Armadeus :===
 
  $ cd armadeus/
 
  $ cd armadeus/
 
  $ make menuconfig  (ou juste make la première fois).
 
  $ make menuconfig  (ou juste make la première fois).
Ceci lancera la configuration du buildroot.
+
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...  
 
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 vosu avez besoin d'un débogueur.
+
* Choisissez GDB version 6.3 si vous avez besoin d'un débogueur.
* Si vous avez besoin du LIBSTD C++, ajoutez ceci dans le menuconfig/options du toolchain/options additionelles de gcc :  
+
* 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.
 
--disable-libstdcxx-pch. Ceci désactivera l'utilisation des en-êtes du précompilateur.
*Quittes l'outil de configuration en enregistrant votre config.
+
*Quittez l'outil de configuration en enregistrant votre config.
  
 
===Lancez le build===
 
===Lancez le build===
 
  $ make
 
  $ make
Le toolchain est construit automatiquement. Durant cette procédure, plusieurs fichiers sont téléchargés depuis le web. S'il vous plait, attendez un peu... cela prend au moins une heure la première fois!
+
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:===
 
===Problèmes:===
Line 61: Line 63:
  
 
===Appréciez le résultat===
 
===Appréciez le résultat===
Les ficheirs binaires généras peuvent être trouvé dans le sous-répertoire armadeus/software/buildroot:
+
Les fichiers binaires générés se trouvent dans le sous-répertoire armadeus/buildroot:
  
* '''u-boot.brec''' (peut être utilisé avec bootstrap, si U-Boot n'est pas installé ou ne marche pas, regardez la page du [[BootLoader]] )
+
* '''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''' (pour télécharger avec uboot, regardez la page [[BootLoader]] "Update u-boot")
+
* '''u-boot.bin''' (à télécharger depuis U-Boot, regardez la page [[BootLoader]] "Update u-boot")
* '''linux-kernel-2.6.12-arm.bin''' (pour télécharger avec uboot, regardez InstallLinux)
+
* '''linux-kernel-2.6.12-arm.bin''' (à télécharger depuis U-Boot, regardez InstallLinux)
* '''rootfs.arm_nfpu.jffs2''' (pour télécharger avec uboot, regardez InstallFileSystem?)
+
* '''rootfs.arm_nfpu.jffs2''' (à télécharger depuis U-Boot, regardez InstallFileSystem?)
* '''rootfs.arm_nfpu.tar''' (pour un nfsroot, regardez RootNFS?)
+
* '''rootfs.arm_nfpu.tar''' (pour un rootfs par NFS ou sur MMC/SD, regardez RootNFS)
  
==Pour garder votre copie mise à jour au sein de l'arborescende armadeus==
+
==Pour garder votre copie de travail à jour par rapport au dépôt Armadeus==
 
  $ svn update
 
  $ svn update
 
Ceci mettra à jour votre répertoire de travail à la dernière release.
 
Ceci mettra à jour votre répertoire de travail à la dernière release.
  
Note: si "svn update" échoue à cause d'un répertoire ou fichire qui existe déjà, faites ceci:
+
Note: si "svn update" échoue à cause d'un répertoire ou fichier qui existe déjà, faites ceci:
  $ rm -rf <this-directory/file>
+
  $ rm -rf <le_répertoire/ou_le_fichier>
 
  $ svn update
 
  $ svn update
  
 
Vous pouvez faire un:
 
Vous pouvez faire un:
 
  $ make defconfig
 
  $ make defconfig
pour avoir automatiquement les dernieres particularités activées et un:
+
pour avoir récupérer les paramètres par défaut puis un:
 
  $ make menuconfig
 
  $ make menuconfig
pour régler à nouveau vos paramètres personnels (SDRAM size...).
+
pour apporter vos modifications personnelles
  
Vous devez faire un '''make''' pour reconstruire les fichiers binaires et ensuite chargez les fichiers binaires à votre cible.
+
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,
 
Note: Si finalement rien ne marche alors que ça marchait avant la dernière mise à jour,
Vous pouvez appliquer la procédure suivante:
+
vous pouvez appliquer la procédure suivante:
  $ rm -rf software/buildroot
+
  $ rm -rf buildroot
 
  $ rm Makefile
 
  $ rm Makefile
 +
$ svn update
 
  $ make
 
  $ make
 
  $ make
 
  $ make
  
 
Enjoy!
 
Enjoy!

Revision as of 19:30, 28 July 2007

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

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:

$ apt-get install wget gettext libncurses5-dev subversion autoconf zlib1g-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.

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!