GNU/Linux >> Linux Esercitazione >  >> Linux

Compilazione incrociata per router MIPS da x86

Dai un'occhiata:

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

È il sito autorevole sulla compilazione incrociata sotto GCC.


Hai ragione, hai bisogno di una vera e propria toolchain mips per compilare in modo incrociato la tua applicazione e Buildroot può farlo. Ma potrebbe essere necessario modificare il menuconfig di buildroot options.A seconda dell'output di file , le tue opzioni potrebbero cambiare. Sul mio sistema, le app binarie informano quanto segue:

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

Queste sono le opzioni che ho abilitato per il menuconfig del mio 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 toolchain stessa è installata in /opt/cross-mips-buildroot . Puoi trovare il compilatore e altri strumenti su /opt/cross-mips-buildroot/usr/bin/

Prova a compilare un semplice hello world e verifica se riesci a eseguirlo all'interno del sistema mips.

Nota: questa configurazione non costruirà un compilatore C++. Se ne hai bisogno, puoi grep LIBSTDCPP .config e controlla se è abilitato o meno e cambialo con i tuoi Mi piace. Poi make menuconfig per realizzarlo.


Linux
  1. Escape caratteri sconosciuti dalla stringa per -exec?

  2. Lettura di righe da un file con Bash:per vs. Mentre?

  3. Avvio da una USB per laptop HP?

  4. Passaggi di alto livello per la migrazione da Amazon Web Services

  5. Script bash:utilizzo del comando script da uno script bash per la registrazione di una sessione

Nozioni di base sulla compilazione di software dal codice sorgente in Linux

Come cercare file dalla riga di comando di Linux

Come interrompere l'aggiunta di IP da EC2 a known_hosts per ssh?

Come impedire a SSH di disconnettersi se è rimasto inattivo per un po'

Un rand da /dev/urandom è sicuro per una chiave di accesso?

Come modificare il campo Da:per le e-mail da Cron?