Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:compilation_croisee [Le 16/02/2008, 15:07] – complétée et terminée -- johndescs | tutoriel:compilation_croisee [Le 11/09/2022, 12:19] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| La compilation croisée ou «cross-compilation» en anglais permet de créer des exécutables depuis une certaine architecture pour une autre (Linux 32bits / 64bits mais aussi windows...). Cela permet de créer des paquets pour des systèmes que nous n' | La compilation croisée ou «cross-compilation» en anglais permet de créer des exécutables depuis une certaine architecture pour une autre (Linux 32bits / 64bits mais aussi windows...). Cela permet de créer des paquets pour des systèmes que nous n' | ||
| - | Pour cela, nous allons commencer par compiler... un compilateur ! Mais attention, il sera BRUT c' | + | Pour cela, nous allons commencer par compiler... un compilateur ! Mais attention, il sera BRUT c' |
| + | Exceptions : le compilateur pour Windows(r) existe en paquets, pas besoin de le re-compiler, | ||
| + | |||
| + | Pour la compilation croisée vers une architecture arm un petit script vous est présenté dans l' | ||
| ===== Prérequis ===== | ===== Prérequis ===== | ||
| Ligne 13: | Ligne 16: | ||
| Avoir jeté un oeil sur la page traitant de la compilation standard : [[tutoriel: | Avoir jeté un oeil sur la page traitant de la compilation standard : [[tutoriel: | ||
| - | Si vous vouler compiler pour Windows(r), | + | Si vous vouler compiler pour Windows(r) |
| - | Rendez-vous à la rubrique utilisation... | + | rendez-vous à sur la page [[tutoriel: |
| Avoir téléchargé les sources de **[[http:// | Avoir téléchargé les sources de **[[http:// | ||
| Ligne 22: | Ligne 25: | ||
| Le compilateur comporte deux parties : les binutils et gcc. On commence avec les binutils qui comportent les outils de gestion comme **ld** ou **ar**. | Le compilateur comporte deux parties : les binutils et gcc. On commence avec les binutils qui comportent les outils de gestion comme **ld** ou **ar**. | ||
| - | === Les binutils === | + | |
| + | ==== Les binutils | ||
| Décompresser l' | Décompresser l' | ||
| - | == configuration == | + | === configuration |
| Configurer la compilation avec la commande : | Configurer la compilation avec la commande : | ||
| - | configure --target=x86-64-pc-linux | + | |
| - | FIXME qu'est le --disable-nls ? | + | |
| L' | L' | ||
| Ligne 36: | Ligne 39: | ||
| On peut utiliser l' | On peut utiliser l' | ||
| - | == compilation == | + | === compilation |
| Il suffit de lancer la commande : | Il suffit de lancer la commande : | ||
| make all | make all | ||
| - | == installation == | + | === installation |
| Avec les droits super-utilisateur si on veut installer dans les parties système (option " | Avec les droits super-utilisateur si on veut installer dans les parties système (option " | ||
| make install | make install | ||
| - | === gcc === | + | |
| + | ==== gcc : "GNU Compiler Collection", | ||
| Décompresser l' | Décompresser l' | ||
| - | == configuration == | + | === configuration |
| Configurer la compilation avec la commande : | Configurer la compilation avec la commande : | ||
| - | configure --enable-languages=c | + | |
| - | FIXME qu'est le --disable-nls ? | + | |
| L' | L' | ||
| Ligne 60: | Ligne 63: | ||
| Si on veut le C++, il faut le rajouter aux langages, après c : --enable-languages=c, | Si on veut le C++, il faut le rajouter aux langages, après c : --enable-languages=c, | ||
| - | == compilation == | + | === compilation |
| Il suffit de lancer la commande : | Il suffit de lancer la commande : | ||
| make all-gcc | make all-gcc | ||
| - | == installation == | + | === installation |
| Avec les droits super-utilisateur si on veut installer dans les parties système (option " | Avec les droits super-utilisateur si on veut installer dans les parties système (option " | ||
| Ligne 77: | Ligne 80: | ||
| ===== Utilisation ===== | ===== Utilisation ===== | ||
| - | Donner | + | Donner |
| + | où xxxxxx est le préfixe des commandes de compilateur que make devra utiliser. C'est ce qu'on a donné comme target plus haut. | ||
| - | == Le kernel == | + | Pour les paquets installés Linux 32/64 croisé il faut rajouter l' |
| + | |||
| + | ==== Le kernel | ||
| Exemple de ligne de commande pour compiler le kernel Linux où c'est plus compliqué si on veut utiliser make-kpkg : | Exemple de ligne de commande pour compiler le kernel Linux où c'est plus compliqué si on veut utiliser make-kpkg : | ||
| Ligne 89: | Ligne 95: | ||
| ===== Astuces ===== | ===== Astuces ===== | ||
| - | Rajouter l' | + | Rajouter l' |
| + | X = (nombre de cores)x2 | ||
| ===== Ressources ===== | ===== Ressources ===== | ||
| - | Diverses pages trouvée par-ci par-là grâce à notre ami google. | + | |
| ----- | ----- | ||
| // | // | ||
