GNU/Linux >> Tutoriels Linux >  >> Linux

Compilation croisée pour routeur MIPS à partir de x86

Consulter :

http://www.kegel.com/crosstool/

C'est le site faisant autorité sur la compilation croisée sous GCC.


Vous avez raison, vous avez besoin d'une bonne chaîne d'outils mips pour cross-compiler votre application et Buildroot peut le faire. Mais vous devrez peut-être modifier le menuconfig de buildroot options.Selon la sortie de file , vos options peuvent changer. Sur mon système, les applications binaires indiquent ce qui suit :

ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV)

Voici les options que j'ai activées pour le menuconfig de mon Buildroot :

Target Architecture (mips)  ---> 
Target Architecture Variant (mips 32r2)  --->                                                            
Target ABI (o32)  --->                                                                                   
Target options  --->                                                                                     
Build options  --->   
    (/opt/cross-mips-buildroot) Toolchain and header file location?                                                                                   
Toolchain  --->        
    Toolchain type (Buildroot toolchain)  ---> 
    Kernel Headers (Linux 2.6.34.x kernel headers)  --->
    uClibc C library Version (uClibc 0.9.31.x)  ---> 
    [*] Build/install a shared libgcc?
    [*] Enable compiler tls support       
    [*] Build gdb debugger for the Target
    [*] Build gdb server for the Target
    [*] Build gdb for the Host
        GDB debugger Version (gdb 6.8)  --->
    [*] Enable large file (files > 2 GB) support?
    [*] Enable WCHAR support
    [*] Use software floating point by default
    [*] Enable stack protection support
    [*] Build/install c++ compiler and libstdc++?
    [*] Include target utils in cross toolchain  
Package Selection for the target  --->   
    [*] BusyBox
    [*]   Run BusyBox's own full installation
    Libraries  ---> 
        Networking  ---> 
            [*] libcurl
        Text and terminal handling  ---> 
            [*] icu
            -*- ncurses    
Target filesystem options  --->                                                                          
Bootloaders  --->                                                                                        
Kernel  --->

La chaîne d'outils elle-même est installée sur /opt/cross-mips-buildroot . Vous pouvez trouver le compilateur et d'autres outils sur /opt/cross-mips-buildroot/usr/bin/

Essayez de compiler un simple hello world application et voyez si vous pouvez l'exécuter à l'intérieur du système mips.

Remarque : cette configuration ne construira pas de compilateur C++. Si vous en avez besoin, vous pouvez grep LIBSTDCPP .config et vérifiez s'il est activé ou non et changez-le selon vos goûts. Alors make menuconfig pour y arriver.


Linux
  1. Échapper les caractères inconnus de la chaîne pour -exec ?

  2. Lecture de lignes à partir d'un fichier avec Bash :pour Vs. Tandis que?

  3. Démarrer à partir d'un ordinateur portable USB pour HP ?

  4. Étapes de haut niveau pour migrer depuis Amazon Web Services

  5. Script bash :utilisation de la commande de script d'un script bash pour la journalisation d'une session

Principes de base de la compilation de logiciels à partir du code source sous Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux

Démarrage de la boucle à partir du deuxième élément - Script Shell

Comment arrêter d'ajouter l'IP d'EC2 àknown_hosts pour ssh ?

Comment empêcher SSH de se déconnecter s'il est inactif depuis un certain temps

Un rand de /dev/urandom est-il sécurisé pour une clé de connexion ?